diff --git a/releng/org.eclipse.papyrus.interoperability.main.feature/feature.xml b/releng/org.eclipse.papyrus.interoperability.main.feature/feature.xml
index 5211439..1a55cd9 100644
--- a/releng/org.eclipse.papyrus.interoperability.main.feature/feature.xml
+++ b/releng/org.eclipse.papyrus.interoperability.main.feature/feature.xml
@@ -18,4 +18,8 @@
       %license
    </license>
 
+   <includes
+         id="org.eclipse.papyrus.interoperability.sysml14.sysml.feature"
+         version="0.0.0"/>
+
 </feature>
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/.project b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/.project
new file mode 100644
index 0000000..5216903
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.interoperability.sysml14.sysml.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/build.properties b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/build.properties
new file mode 100644
index 0000000..b9ce334
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/build.properties
@@ -0,0 +1,7 @@
+bin.includes = feature.xml,\
+               build.properties,\
+               epl-v10.html,\
+               license.html,\
+               feature.properties
+src.includes = epl-v10.html,\
+               license.html
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/epl-v10.html b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/epl-v10.html
new file mode 100644
index 0000000..cb1073a
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/epl-v10.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	
+	}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang="EN-US" style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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 additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; 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. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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 and object code 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. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all 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; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>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 (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) 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.</span> </p>
+
+<p><span style='font-size:10.0pt'>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.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; 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. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, 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.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>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.</span> </p>
+
+<p><span style='font-size:10.0pt'>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. </span></p>
+
+<p><span style='font-size:10.0pt'>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. </span></p>
+
+<p><span style='font-size:10.0pt'>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.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.properties b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.properties
new file mode 100644
index 0000000..11ac9ed
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.properties
@@ -0,0 +1,132 @@
+# NLS_MESSAGEFORMAT_VAR
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+April 9, 2014\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+\t- Content may be structured and packaged into modules to facilitate delivering,\n\
+\t  extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+\t  plug-in fragments ("Fragments"), and features ("Features").\n\
+\t- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+\t  in a directory named "plugins".\n\
+\t- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+\t  Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+\t  Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+\t  numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+\t- Features may also include other Features ("Included Features"). Within a Feature, files\n\
+\t  named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+\t- The top-level (root) directory\n\
+\t- Plug-in and Fragment directories\n\
+\t- Inside Plug-ins and Fragments packaged as JARs\n\
+\t- Sub-directories of the directory named "src" of certain Plug-ins\n\
+\t- Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+\t- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+\t- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+\t- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+\t- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+\t- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+\t1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+\t   the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+\t   extending or updating the functionality of an Eclipse-based product.\n\
+\t2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+\t   Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+\t3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+\t   govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+\t   Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+\t   with the Specification. Such Installable Software Agreement must inform the user of the\n\
+\t   terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+\t   the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+\t   indication of agreement by the user, the provisioning Technology will complete installation\n\
+\t   of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.xml b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.xml
new file mode 100644
index 0000000..5c73748
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/feature.xml
@@ -0,0 +1,49 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.papyrus.interoperability.sysml14.sysml.feature"
+      label="Papyrus SysML1.1 to SysML1.4 Interoperability Feature"
+      version="0.10.1.qualifier"
+      provider-name="Eclipse Modeling Project">
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
+      Copyright (c) 2017 CEA LIST and others
+All rights reserved.   This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <plugin
+         id="org.eclipse.papyrus.interoperability.common"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.interoperability.common.blackboxes"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.interoperability.sysml14.sysml"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+   <plugin
+         id="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/license.html b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/license.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  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.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>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 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>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 &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>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 (&quot;Feature Update License&quot;) 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 &quot;license&quot; property of files named &quot;feature.properties&quot; 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.</p>
+
+<p>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):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>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.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). 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 <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>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:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>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.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) 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.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>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.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/pom.xml b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/pom.xml
new file mode 100644
index 0000000..22b9535
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.feature/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</groupId>
+	    <artifactId>org.eclipse.papyrus.features</artifactId>
+	    <version>0.0.1-SNAPSHOT</version>
+	</parent>
+	<artifactId>org.eclipse.papyrus.uml.internationalization.feature</artifactId>
+	<version>1.0.0-SNAPSHOT</version>
+	<packaging>eclipse-feature</packaging>
+</project>
\ No newline at end of file
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/.project b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/.project
new file mode 100644
index 0000000..4c5cc98
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/.project
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.pde.FeatureBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.FeatureNature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/build.properties b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/build.properties
new file mode 100644
index 0000000..b9ce334
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/build.properties
@@ -0,0 +1,7 @@
+bin.includes = feature.xml,\
+               build.properties,\
+               epl-v10.html,\
+               license.html,\
+               feature.properties
+src.includes = epl-v10.html,\
+               license.html
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/epl-v10.html b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/epl-v10.html
new file mode 100644
index 0000000..cb1073a
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/epl-v10.html
@@ -0,0 +1,304 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN">
+<html xmlns:o="urn:schemas-microsoft-com:office:office"
+xmlns:w="urn:schemas-microsoft-com:office:word"
+xmlns="http://www.w3.org/TR/REC-html40">
+
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
+<link rel=File-List
+href="./Eclipse%20EPL%202003_11_10%20Final_files/filelist.xml">
+<title>Eclipse Public License - Version 1.0</title>
+<style>
+<!--
+ /* Font Definitions */
+@font-face
+	{
+	panose-1:2 11 6 4 3 5 4 4 2 4;
+	mso-font-charset:0;
+	mso-font-pitch:variable;
+	mso-font-signature:553679495 -2147483648 8 0 66047 0;}
+ /* Style Definitions */
+p.MsoNormal, li.MsoNormal, div.MsoNormal
+	{mso-style-parent:"";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	}
+p
+	{margin-right:0in;
+	mso-margin-top-alt:auto;
+	mso-margin-bottom-alt:auto;
+	margin-left:0in;
+	mso-pagination:widow-orphan;
+	font-size:12.0pt;
+	}
+p.BalloonText, li.BalloonText, div.BalloonText
+	{mso-style-name:"Balloon Text";
+	margin:0in;
+	margin-bottom:.0001pt;
+	mso-pagination:widow-orphan;
+	font-size:8.0pt;
+	
+	}
+@page Section1
+	{size:8.5in 11.0in;
+	margin:1.0in 1.25in 1.0in 1.25in;
+	mso-header-margin:.5in;
+	mso-footer-margin:.5in;
+	mso-paper-source:0;}
+div.Section1
+	{page:Section1;}
+-->
+</style>
+</head>
+
+<body lang="EN-US" style='tab-interval:.5in'>
+
+<div class=Section1>
+
+<p align=center style='text-align:center'><b>Eclipse Public License - v 1.0</b>
+</p>
+
+<p><span style='font-size:10.0pt'>THE ACCOMPANYING PROGRAM IS PROVIDED UNDER
+THE TERMS OF THIS ECLIPSE PUBLIC LICENSE (&quot;AGREEMENT&quot;). ANY USE,
+REPRODUCTION OR DISTRIBUTION OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE
+OF THIS AGREEMENT.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>1. DEFINITIONS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Contribution&quot; means:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+in the case of the initial Contributor, the initial code and documentation
+distributed under this Agreement, and<br clear=left>
+b) in the case of each subsequent Contributor:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+changes to the Program, and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+additions to the Program;</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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 additions to the
+Program which: (i) are separate modules of software distributed in conjunction
+with the Program under their own license agreement, and (ii) are not derivative
+works of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Contributor&quot; means any person or
+entity that distributes the Program.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Licensed Patents &quot; 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. </span></p>
+
+<p><span style='font-size:10.0pt'>&quot;Program&quot; means the Contributions
+distributed in accordance with this Agreement.</span> </p>
+
+<p><span style='font-size:10.0pt'>&quot;Recipient&quot; means anyone who
+receives the Program under this Agreement, including all Contributors.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>2. GRANT OF RIGHTS</span></b> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+Subject to the terms of this Agreement, each Contributor hereby grants Recipient
+a non-exclusive, worldwide, royalty-free copyright license to<span
+style='color:red'> </span>reproduce, prepare derivative works of, publicly
+display, publicly perform, distribute and sublicense the Contribution of such
+Contributor, if any, and such derivative works, in source code and object code
+form.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+Subject to the terms of this Agreement, each Contributor hereby grants
+Recipient a non-exclusive, worldwide,<span style='color:green'> </span>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 and object code 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. </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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.</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>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. </span></p>
+
+<p><b><span style='font-size:10.0pt'>3. REQUIREMENTS</span></b> </p>
+
+<p><span style='font-size:10.0pt'>A Contributor may choose to distribute the
+Program in object code form under its own license agreement, provided that:</span>
+</p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it complies with the terms and conditions of this Agreement; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b)
+its license agreement:</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>i)
+effectively disclaims on behalf of all 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; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>ii)
+effectively excludes on behalf of all Contributors all liability for damages,
+including direct, indirect, special, incidental and consequential damages, such
+as lost profits; </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iii)
+states that any provisions which differ from this Agreement are offered by that
+Contributor alone and not by any other party; and</span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>iv)
+states that source code for the Program is available from such Contributor, and
+informs licensees how to obtain it in a reasonable manner on or through a
+medium customarily used for software exchange.<span style='color:blue'> </span></span></p>
+
+<p><span style='font-size:10.0pt'>When the Program is made available in source
+code form:</span> </p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>a)
+it must be made available under this Agreement; and </span></p>
+
+<p class=MsoNormal style='margin-left:.5in'><span style='font-size:10.0pt'>b) a
+copy of this Agreement must be included with each copy of the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Contributors may not remove or alter any
+copyright notices contained within the Program. </span></p>
+
+<p><span style='font-size:10.0pt'>Each Contributor must identify itself as the
+originator of its Contribution, if any, in a manner that reasonably allows
+subsequent Recipients to identify the originator of the Contribution. </span></p>
+
+<p><b><span style='font-size:10.0pt'>4. COMMERCIAL DISTRIBUTION</span></b> </p>
+
+<p><span style='font-size:10.0pt'>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 (&quot;Commercial
+Contributor&quot;) hereby agrees to defend and indemnify every other
+Contributor (&quot;Indemnified Contributor&quot;) against any losses, damages and
+costs (collectively &quot;Losses&quot;) 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.</span> </p>
+
+<p><span style='font-size:10.0pt'>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.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>5. NO WARRANTY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, THE PROGRAM IS PROVIDED ON AN &quot;AS IS&quot; 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. </span></p>
+
+<p><b><span style='font-size:10.0pt'>6. DISCLAIMER OF LIABILITY</span></b> </p>
+
+<p><span style='font-size:10.0pt'>EXCEPT AS EXPRESSLY SET FORTH IN THIS
+AGREEMENT, 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.</span> </p>
+
+<p><b><span style='font-size:10.0pt'>7. GENERAL</span></b> </p>
+
+<p><span style='font-size:10.0pt'>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.</span> </p>
+
+<p><span style='font-size:10.0pt'>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. </span></p>
+
+<p><span style='font-size:10.0pt'>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. </span></p>
+
+<p><span style='font-size:10.0pt'>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.</span> </p>
+
+<p><span style='font-size:10.0pt'>This Agreement is governed by the laws of the
+State of New York and the intellectual property laws of the United States of
+America. No party to this Agreement will bring a legal action under this
+Agreement more than one year after the cause of action arose. Each party waives
+its rights to a jury trial in any resulting litigation.</span> </p>
+
+<p class=MsoNormal></p>
+
+</div>
+
+</body>
+
+</html>
\ No newline at end of file
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.properties b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.properties
new file mode 100644
index 0000000..11ac9ed
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.properties
@@ -0,0 +1,132 @@
+# NLS_MESSAGEFORMAT_VAR
+
+# "licenseURL" property - URL of the "Feature License"
+# do not translate value - just change to point to a locale-specific HTML page
+licenseURL=license.html
+
+# "license" property - text of the "Feature Update License"
+# should be plain text version of license agreement pointed to be "licenseURL"
+license=\
+Eclipse Foundation Software User Agreement\n\
+April 9, 2014\n\
+\n\
+Usage Of Content\n\
+\n\
+THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR\n\
+OTHER MATERIALS FOR OPEN SOURCE PROJECTS (COLLECTIVELY "CONTENT").\n\
+USE OF THE CONTENT IS GOVERNED BY THE TERMS AND CONDITIONS OF THIS\n\
+AGREEMENT AND/OR THE TERMS AND CONDITIONS OF LICENSE AGREEMENTS OR\n\
+NOTICES INDICATED OR REFERENCED BELOW.  BY USING THE CONTENT, YOU\n\
+AGREE THAT YOUR USE OF THE CONTENT IS GOVERNED BY THIS AGREEMENT\n\
+AND/OR THE TERMS AND CONDITIONS OF ANY APPLICABLE LICENSE AGREEMENTS\n\
+OR NOTICES INDICATED OR REFERENCED BELOW.  IF YOU DO NOT AGREE TO THE\n\
+TERMS AND CONDITIONS OF THIS AGREEMENT AND THE TERMS AND CONDITIONS\n\
+OF ANY APPLICABLE LICENSE AGREEMENTS OR NOTICES INDICATED OR REFERENCED\n\
+BELOW, THEN YOU MAY NOT USE THE CONTENT.\n\
+\n\
+Applicable Licenses\n\
+\n\
+Unless otherwise indicated, all Content made available by the\n\
+Eclipse Foundation is provided to you under the terms and conditions of\n\
+the Eclipse Public License Version 1.0 ("EPL"). A copy of the EPL is\n\
+provided with this Content and is also available at http://www.eclipse.org/legal/epl-v10.html.\n\
+For purposes of the EPL, "Program" will mean the Content.\n\
+\n\
+Content includes, but is not limited to, source code, object code,\n\
+documentation and other files maintained in the Eclipse Foundation source code\n\
+repository ("Repository") in software modules ("Modules") and made available\n\
+as downloadable archives ("Downloads").\n\
+\n\
+\t- Content may be structured and packaged into modules to facilitate delivering,\n\
+\t  extending, and upgrading the Content. Typical modules may include plug-ins ("Plug-ins"),\n\
+\t  plug-in fragments ("Fragments"), and features ("Features").\n\
+\t- Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java(TM) ARchive)\n\
+\t  in a directory named "plugins".\n\
+\t- A Feature is a bundle of one or more Plug-ins and/or Fragments and associated material.\n\
+\t  Each Feature may be packaged as a sub-directory in a directory named "features".\n\
+\t  Within a Feature, files named "feature.xml" may contain a list of the names and version\n\
+\t  numbers of the Plug-ins and/or Fragments associated with that Feature.\n\
+\t- Features may also include other Features ("Included Features"). Within a Feature, files\n\
+\t  named "feature.xml" may contain a list of the names and version numbers of Included Features.\n\
+\n\
+The terms and conditions governing Plug-ins and Fragments should be\n\
+contained in files named "about.html" ("Abouts"). The terms and\n\
+conditions governing Features and Included Features should be contained\n\
+in files named "license.html" ("Feature Licenses"). Abouts and Feature\n\
+Licenses may be located in any directory of a Download or Module\n\
+including, but not limited to the following locations:\n\
+\n\
+\t- The top-level (root) directory\n\
+\t- Plug-in and Fragment directories\n\
+\t- Inside Plug-ins and Fragments packaged as JARs\n\
+\t- Sub-directories of the directory named "src" of certain Plug-ins\n\
+\t- Feature directories\n\
+\n\
+Note: if a Feature made available by the Eclipse Foundation is installed using the\n\
+Provisioning Technology (as defined below), you must agree to a license ("Feature \n\
+Update License") during the installation process. If the Feature contains\n\
+Included Features, the Feature Update License should either provide you\n\
+with the terms and conditions governing the Included Features or inform\n\
+you where you can locate them. Feature Update Licenses may be found in\n\
+the "license" property of files named "feature.properties" found within a Feature.\n\
+Such Abouts, Feature Licenses, and Feature Update Licenses contain the\n\
+terms and conditions (or references to such terms and conditions) that\n\
+govern your use of the associated Content in that directory.\n\
+\n\
+THE ABOUTS, FEATURE LICENSES, AND FEATURE UPDATE LICENSES MAY REFER\n\
+TO THE EPL OR OTHER LICENSE AGREEMENTS, NOTICES OR TERMS AND CONDITIONS.\n\
+SOME OF THESE OTHER LICENSE AGREEMENTS MAY INCLUDE (BUT ARE NOT LIMITED TO):\n\
+\n\
+\t- Eclipse Distribution License Version 1.0 (available at http://www.eclipse.org/licenses/edl-v1.0.html)\n\
+\t- Common Public License Version 1.0 (available at http://www.eclipse.org/legal/cpl-v10.html)\n\
+\t- Apache Software License 1.1 (available at http://www.apache.org/licenses/LICENSE)\n\
+\t- Apache Software License 2.0 (available at http://www.apache.org/licenses/LICENSE-2.0)\n\
+\t- Mozilla Public License Version 1.1 (available at http://www.mozilla.org/MPL/MPL-1.1.html)\n\
+\n\
+IT IS YOUR OBLIGATION TO READ AND ACCEPT ALL SUCH TERMS AND CONDITIONS PRIOR\n\
+TO USE OF THE CONTENT. If no About, Feature License, or Feature Update License\n\
+is provided, please contact the Eclipse Foundation to determine what terms and conditions\n\
+govern that particular Content.\n\
+\n\
+\n\Use of Provisioning Technology\n\
+\n\
+The Eclipse Foundation makes available provisioning software, examples of which include,\n\
+but are not limited to, p2 and the Eclipse Update Manager ("Provisioning Technology") for\n\
+the purpose of allowing users to install software, documentation, information and/or\n\
+other materials (collectively "Installable Software"). This capability is provided with\n\
+the intent of allowing such users to install, extend and update Eclipse-based products.\n\
+Information about packaging Installable Software is available at\n\
+http://eclipse.org/equinox/p2/repository_packaging.html ("Specification").\n\
+\n\
+You may use Provisioning Technology to allow other parties to install Installable Software.\n\
+You shall be responsible for enabling the applicable license agreements relating to the\n\
+Installable Software to be presented to, and accepted by, the users of the Provisioning Technology\n\
+in accordance with the Specification. By using Provisioning Technology in such a manner and\n\
+making it available in accordance with the Specification, you further acknowledge your\n\
+agreement to, and the acquisition of all necessary rights to permit the following:\n\
+\n\
+\t1. A series of actions may occur ("Provisioning Process") in which a user may execute\n\
+\t   the Provisioning Technology on a machine ("Target Machine") with the intent of installing,\n\
+\t   extending or updating the functionality of an Eclipse-based product.\n\
+\t2. During the Provisioning Process, the Provisioning Technology may cause third party\n\
+\t   Installable Software or a portion thereof to be accessed and copied to the Target Machine.\n\
+\t3. Pursuant to the Specification, you will provide to the user the terms and conditions that\n\
+\t   govern the use of the Installable Software ("Installable Software Agreement") and such\n\
+\t   Installable Software Agreement shall be accessed from the Target Machine in accordance\n\
+\t   with the Specification. Such Installable Software Agreement must inform the user of the\n\
+\t   terms and conditions that govern the Installable Software and must solicit acceptance by\n\
+\t   the end user in the manner prescribed in such Installable Software Agreement. Upon such\n\
+\t   indication of agreement by the user, the provisioning Technology will complete installation\n\
+\t   of the Installable Software.\n\
+\n\
+Cryptography\n\
+\n\
+Content may contain encryption software. The country in which you are\n\
+currently may have restrictions on the import, possession, and use,\n\
+and/or re-export to another country, of encryption software. BEFORE\n\
+using any encryption software, please check the country's laws,\n\
+regulations and policies concerning the import, possession, or use, and\n\
+re-export of encryption software, to see if this is permitted.\n\
+\n\
+Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.\n
+########### end of license property ##########################################
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.xml b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.xml
new file mode 100644
index 0000000..006b2fa
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/feature.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+      id="org.eclipse.papyrus.interoperability.sysml14.sysml.feature"
+      label="Papyrus SysML1.1 to SysML1.4 Interoperability Feature"
+      version="0.10.1.qualifier"
+      provider-name="Eclipse Modeling Project">
+
+   <copyright url="http://www.eclipse.org/legal/epl-v10.html">
+      Copyright (c) 2017 CEA LIST and others
+All rights reserved.   This program and the accompanying materials
+are made available under the terms of the Eclipse Public License
+v1.0
+which accompanies this distribution, and is available at
+http://www.eclipse.org/legal/epl-v10.html
+   </copyright>
+
+   <license url="%licenseURL">
+      %license
+   </license>
+
+   <plugin
+         id="org.eclipse.papyrus.interoperability.common.tests"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+
+   <plugin
+         id="org.eclipse.papyrus.interoperability.sysml14.sysml.tests"
+         download-size="0"
+         install-size="0"
+         version="0.0.0"
+         unpack="false"/>
+
+</feature>
diff --git a/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/license.html b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/license.html
new file mode 100644
index 0000000..c3d34c3
--- /dev/null
+++ b/sysml14/features/org.eclipse.papyrus.interoperability.sysml14.sysml.tests.feature/license.html
@@ -0,0 +1,107 @@
+<?xml version="1.0" encoding="ISO-8859-1" ?>
+<!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>Eclipse Foundation Software User Agreement</title>
+</head>
+
+<body lang="EN-US">
+<h2>Eclipse Foundation Software User Agreement</h2>
+<p>April 9, 2014</p>
+
+<h3>Usage Of Content</h3>
+
+<p>THE ECLIPSE FOUNDATION MAKES AVAILABLE SOFTWARE, DOCUMENTATION, INFORMATION AND/OR OTHER MATERIALS FOR OPEN SOURCE PROJECTS
+   (COLLECTIVELY &quot;CONTENT&quot;).  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.</p>
+
+<h3>Applicable Licenses</h3>
+
+<p>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 1.0
+   (&quot;EPL&quot;).  A copy of the EPL is provided with this Content and is also available at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+   For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>Content includes, but is not limited to, source code, object code, documentation and other files maintained in the Eclipse Foundation source code
+   repository (&quot;Repository&quot;) in software modules (&quot;Modules&quot;) and made available as downloadable archives (&quot;Downloads&quot;).</p>
+
+<ul>
+       <li>Content may be structured and packaged into modules to facilitate delivering, extending, and upgrading the Content.  Typical modules may include plug-ins (&quot;Plug-ins&quot;), plug-in fragments (&quot;Fragments&quot;), and features (&quot;Features&quot;).</li>
+       <li>Each Plug-in or Fragment may be packaged as a sub-directory or JAR (Java&trade; ARchive) in a directory named &quot;plugins&quot;.</li>
+       <li>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 &quot;features&quot;.  Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of the Plug-ins
+      and/or Fragments associated with that Feature.</li>
+       <li>Features may also include other Features (&quot;Included Features&quot;). Within a Feature, files named &quot;feature.xml&quot; may contain a list of the names and version numbers of Included Features.</li>
+</ul>
+
+<p>The terms and conditions governing Plug-ins and Fragments should be contained in files named &quot;about.html&quot; (&quot;Abouts&quot;). The terms and conditions governing Features and
+Included Features should be contained in files named &quot;license.html&quot; (&quot;Feature Licenses&quot;).  Abouts and Feature Licenses may be located in any directory of a Download or Module
+including, but not limited to the following locations:</p>
+
+<ul>
+       <li>The top-level (root) directory</li>
+       <li>Plug-in and Fragment directories</li>
+       <li>Inside Plug-ins and Fragments packaged as JARs</li>
+       <li>Sub-directories of the directory named &quot;src&quot; of certain Plug-ins</li>
+       <li>Feature directories</li>
+</ul>
+
+<p>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 (&quot;Feature Update License&quot;) 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 &quot;license&quot; property of files named &quot;feature.properties&quot; 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.</p>
+
+<p>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):</p>
+
+<ul>
+       <li>Eclipse Distribution License Version 1.0 (available at <a href="http://www.eclipse.org/licenses/edl-v10.html">http://www.eclipse.org/licenses/edl-v1.0.html</a>)</li>
+       <li>Common Public License Version 1.0 (available at <a href="http://www.eclipse.org/legal/cpl-v10.html">http://www.eclipse.org/legal/cpl-v10.html</a>)</li>
+       <li>Apache Software License 1.1 (available at <a href="http://www.apache.org/licenses/LICENSE">http://www.apache.org/licenses/LICENSE</a>)</li>
+       <li>Apache Software License 2.0 (available at <a href="http://www.apache.org/licenses/LICENSE-2.0">http://www.apache.org/licenses/LICENSE-2.0</a>)</li>
+       <li>Mozilla Public License Version 1.1 (available at <a href="http://www.mozilla.org/MPL/MPL-1.1.html">http://www.mozilla.org/MPL/MPL-1.1.html</a>)</li>
+</ul>
+
+<p>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.</p>
+
+
+<h3>Use of Provisioning Technology</h3>
+
+<p>The Eclipse Foundation makes available provisioning software, examples of which include, but are not limited to, p2 and the Eclipse
+   Update Manager (&quot;Provisioning Technology&quot;) for the purpose of allowing users to install software, documentation, information and/or
+   other materials (collectively &quot;Installable Software&quot;). 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 <a
+       href="http://eclipse.org/equinox/p2/repository_packaging.html">http://eclipse.org/equinox/p2/repository_packaging.html</a>
+   (&quot;Specification&quot;).</p>
+
+<p>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:</p>
+
+<ol>
+       <li>A series of actions may occur (&quot;Provisioning Process&quot;) in which a user may execute the Provisioning Technology
+       on a machine (&quot;Target Machine&quot;) with the intent of installing, extending or updating the functionality of an Eclipse-based
+       product.</li>
+       <li>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.</li>
+       <li>Pursuant to the Specification, you will provide to the user the terms and conditions that govern the use of the Installable
+       Software (&quot;Installable Software Agreement&quot;) 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.</li>
+</ol>
+
+<h3>Cryptography</h3>
+
+<p>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.</p>
+
+<p><small>Java and all Java-based trademarks are trademarks of Oracle Corporation in the United States, other countries, or both.</small></p>
+</body>
+</html>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.classpath b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.project b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.project
new file mode 100644
index 0000000..ea5ce20
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes</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/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.jdt.core.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b3aa6d6
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.jdt.ui.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.pde.api.tools.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..23fb95e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,98 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Warning
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/META-INF/MANIFEST.MF b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..27cdc58
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/META-INF/MANIFEST.MF
@@ -0,0 +1,23 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes;singleton:=true
+Bundle-Version: 0.10.1.qualifier
+Bundle-Activator: org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.Activator
+Bundle-Vendor: %providerName
+Require-Bundle: org.eclipse.ui;bundle-version="[3.109.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.interoperability.sysml14.sysml;bundle-version="[0.10.1,1.0.0)",
+ org.eclipse.m2m.qvt.oml;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.3.0,6.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.papyrus.infra.nattable.model;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.tooling.runtime;bundle-version="[3.0.0,4.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Description: This plugin contains only blackboxes. We don't store them in the QVTO transformations plugin to ease development of them and solve local compilation troubles.
+Export-Package: org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.notation,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.sysml,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.table
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/OSGI-INF/l10n/bundle.properties b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..7ff66e4
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,13 @@
+#################################################################################
+# Copyright (c) 2017 CEA LIST and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# 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 SysML1.1 to SysML1.4 Interoperability Blockboxes
+providerName = Eclipse Modeling Project
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/about.html b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/about.html
new file mode 100644
index 0000000..dd3c089
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/build.properties b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/build.properties
new file mode 100644
index 0000000..de2a6de
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               about.html,\
+               OSGI-INF/
+src.includes = about.html
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/plugin.xml b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/plugin.xml
new file mode 100644
index 0000000..5452107
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/plugin.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+ <extension
+         point="org.eclipse.m2m.qvt.oml.javaBlackboxUnits">
+      <unit
+            description="This Blackbox provides methods to save versioning informations in the imported model."
+            name="VersioningHelper"
+            namespace="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes">
+         <library
+               class="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.VersioningHelper"
+               name="VersioningHelper">
+            <metamodel
+                  nsURI="http://www.eclipse.org/emf/2002/Ecore">
+            </metamodel>
+         </library>
+      </unit>
+      <unit
+            description="This Blackbox provides usefull sysml and uml methods"
+            name="SysMLBlackboxHelper"
+            namespace="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.sysml">
+         <library
+               class="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.sysml.SysMLBlackboxHelper"
+               name="SysMLBlackboxHelper">
+            <metamodel
+                  nsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+            </metamodel>
+         </library>
+      </unit>
+      <unit
+            description="This Blackbox provides usefull notation methods"
+            name="NotationBlackboxHelper"
+            namespace="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.notation">
+         <library
+               class="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.notation.NotationBlackboxHelper"
+               name="NotationBlackboxHelper">
+            <metamodel
+                  nsURI="http://www.eclipse.org/gmf/runtime/1.0.2/notation">
+            </metamodel>
+         </library>
+      </unit>
+      <unit
+            description="This Blackbox provides usefull table methods"
+            name="TableBlackboxHelper"
+            namespace="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.table">
+         <library
+               class="org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.table.TableBlackboxHelper"
+               name="TableBlackboxHelper">
+            <metamodel
+                  nsURI="http://www.eclipse.org/papyrus/nattable/model">
+            </metamodel>
+            <metamodel
+                  nsURI="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration">
+            </metamodel>
+            <metamodel
+                  nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider">
+            </metamodel>
+            <metamodel
+                  nsURI="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration">
+            </metamodel>
+         </library>
+      </unit>
+   </extension>
+</plugin>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/Activator.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/Activator.java
new file mode 100644
index 0000000..57b1ec3
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/Activator.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and Others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *  
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes;
+
+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.interoperability.sysml14.sysml.blackboxes"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/**
+	 * The log helper.
+	 */
+	public static LogHelper log;
+
+	/**
+	 * Returns the shared instance.
+	 *
+	 * @return The shared instance.
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * 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;
+		log = new LogHelper(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);
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/VersioningHelper.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/VersioningHelper.java
new file mode 100644
index 0000000..b8317a5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/VersioningHelper.java
@@ -0,0 +1,111 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes;
+
+import java.text.DateFormat;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.Activator;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.utils.SysMLMigrationConstantsUtils;
+import org.eclipse.uml2.uml.Model;
+
+/**
+ * This allows to manage the versioning of transformations.
+ */
+public class VersioningHelper {
+
+	/**
+	 * Get the EAnnotation name.
+	 * 
+	 * @return The EAnnotation name.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public String getEAnnotationSourceNameForVersioning() {
+		return SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_SOURCE;
+	}
+
+	/**
+	 * Get the papyrus model name from a model.
+	 * 
+	 * @param model
+	 *            The model.
+	 * @return The papyrus model name.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public String getPapyrusResourceName(final Model model) {
+		String result = model.getName();
+		if (null != model.eResource()) {
+			result = model.eResource().getURI().trimFileExtension().lastSegment();
+		}
+		return result;
+	}
+
+	/**
+	 * Get the key of the EAnnotation for the source project.
+	 * 
+	 * @return The key of the EAnnotation for the source project.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public String getKeyForSourceModelName() {
+		return SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_SOURCE_PROJECT_NAME;
+	}
+
+	/**
+	 * Get the key of the EAnnotation for the migration date.
+	 * 
+	 * @return The key of the EAnnotation for the migration date.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public String getKeyForPapyrusMigrationDate() {
+		return SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_DATE;
+	}
+
+	/**
+	 * Get the current date.
+	 * 
+	 * @return The current date with format 'yyyyMMddHHmmss'.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public String getPapyrusMigrationDate() {
+		final DateFormat dateFormat = new SimpleDateFormat("yyyyMMddHHmmss");
+		final Date date = new Date();
+		return dateFormat.format(date);
+	}
+
+
+	/**
+	 * Get the key of the EAnnotation for the bundle version.
+	 * 
+	 * @return The key of the EAnnotation for the bundle version.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public String getKeyForPapyrusMigrationBundleVersion() {
+		return SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_BUNDLE_VERSION;
+	}
+
+	/**
+	 * Get the version of the SysML migration bundle.
+	 * 
+	 * @return The version of the SysML migration bundle.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public String getImportBundleSysMLMigrationVersion() {
+		return Activator.getDefault().getBundle().getVersion().toString();
+	}
+
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/notation/NotationBlackboxHelper.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/notation/NotationBlackboxHelper.java
new file mode 100644
index 0000000..37f2256
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/notation/NotationBlackboxHelper.java
@@ -0,0 +1,240 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.notation;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.draw2d.geometry.Point;
+import org.eclipse.draw2d.geometry.PrecisionPoint;
+import org.eclipse.draw2d.geometry.Straight;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.Edge;
+import org.eclipse.gmf.runtime.notation.IdentityAnchor;
+import org.eclipse.gmf.runtime.notation.LayoutConstraint;
+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.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.papyrus.infra.gmfdiag.tooling.runtime.linklf.AbsoluteBendpointsConvention;
+
+/**
+ * This allows to define the needed methods of UML for the transformations.
+ */
+public class NotationBlackboxHelper {
+
+	/**
+	 * This allows to remove an object from a collection.
+	 * 
+	 * @param parentView
+	 *            The parent view.
+	 * @param eObjectToRemove
+	 *            The object to remove from the collection.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public void removeFromOwnerView(final View parentView, final View eObjectToRemove) {
+		if (null != parentView && eObjectToRemove instanceof View) {
+			if (parentView.getChildren().contains(eObjectToRemove)) {
+				parentView.removeChild((View) eObjectToRemove);
+			} else if (parentView instanceof Diagram && eObjectToRemove instanceof Edge && ((Diagram) parentView).getEdges().contains(eObjectToRemove)) {
+				((Diagram) parentView).removeEdge((Edge) eObjectToRemove);
+			}
+		}
+	}
+
+	/**
+	 * This allows to create the bendpoint for the information flow.
+	 * 
+	 * @param informationFlowEdge
+	 *            The information flow connector.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public void createBendpointsForInformationFlow(final Connector informationFlowEdge) {
+
+		// Create bendpoints with (0, 0) as source and target
+		final RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+		final List<RelativeBendpoint> points = new ArrayList<RelativeBendpoint>(2);
+
+		final Point point = new Point(0, 0);
+		points.add(AbsoluteBendpointsConvention.getInstance().createAbsoluteBendpointStoredAsRelative(point));
+		points.add(AbsoluteBendpointsConvention.getInstance().createAbsoluteBendpointStoredAsRelative(point));
+
+		bendpoints.setPoints(points);
+		informationFlowEdge.setBendpoints(bendpoints);
+	}
+
+	/**
+	 * This allows to create the bendpoint for the association.
+	 * 
+	 * @param associationEdge
+	 *            The association connector.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public void createBendpointsForAssociation(final Connector associationEdge) {
+
+		// Get the source and target views
+		final View sourceView = associationEdge.getSource();
+		final View targetView = associationEdge.getTarget();
+
+		final RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+		final List<RelativeBendpoint> points = new ArrayList<RelativeBendpoint>(2);
+
+		// Check if the source and target views are nodes
+		if (sourceView instanceof Node && targetView instanceof Node) {
+
+			// Initialization
+			int sourceX = 0;
+			int sourceY = 0;
+			int sourceWidth = 0;
+			int sourceHeight = 0;
+
+			int targetX = 0;
+			int targetY = 0;
+			int targetWidth = 0;
+			int targetHeight = 0;
+
+			// Get the source layout constraint values
+			LayoutConstraint sourceLayoutConstraint = ((Node) sourceView).getLayoutConstraint();
+			if (sourceLayoutConstraint instanceof Bounds) {
+				sourceX = ((Bounds) sourceLayoutConstraint).getX();
+				sourceY = ((Bounds) sourceLayoutConstraint).getY();
+				sourceWidth = ((Bounds) sourceLayoutConstraint).getWidth();
+				if (sourceWidth == 0) {
+					sourceWidth = 1;
+				}
+				sourceHeight = ((Bounds) sourceLayoutConstraint).getHeight();
+				if (sourceHeight == 0) {
+					sourceHeight = 1;
+				}
+			}
+
+			// Get the target layout constraint values
+			final LayoutConstraint targetLayoutConstraint = ((Node) targetView).getLayoutConstraint();
+			if (targetLayoutConstraint instanceof Bounds) {
+				targetX = ((Bounds) targetLayoutConstraint).getX();
+				targetY = ((Bounds) targetLayoutConstraint).getY();
+				targetWidth = ((Bounds) targetLayoutConstraint).getWidth();
+				if (targetWidth == 0) {
+					targetWidth = 1;
+				}
+				targetHeight = ((Bounds) targetLayoutConstraint).getHeight();
+				if (targetHeight == 0) {
+					targetHeight = 1;
+				}
+			}
+
+			if (sourceView == targetView) {
+				// If the source and the target are the same object, the bendpoints must be with the center of the shape
+				final Point point = new Point(sourceX + (sourceWidth / 2), sourceY + (sourceHeight / 2));
+				points.add(AbsoluteBendpointsConvention.getInstance().createAbsoluteBendpointStoredAsRelative(point));
+				points.add(AbsoluteBendpointsConvention.getInstance().createAbsoluteBendpointStoredAsRelative(point));
+			} else {
+
+				final Straight centerToCenterStraight = new Straight(new PrecisionPoint(sourceX + (sourceWidth / 2), sourceY + (sourceHeight / 2)), new PrecisionPoint(targetX + (targetWidth / 2), targetY + (targetHeight / 2)));
+				PrecisionPoint intersectPointForFirstRectangle = null;
+				PrecisionPoint intersectPointForSecondRectangle = null;
+
+				// Calculate the point of the intersection for the first node
+				final Straight rightFirstRectangleStraight = new Straight(new PrecisionPoint(sourceX + sourceWidth, sourceY), new PrecisionPoint(sourceX + sourceWidth, sourceY + sourceHeight));
+				if (rightFirstRectangleStraight.intersects(centerToCenterStraight)) {
+					intersectPointForFirstRectangle = rightFirstRectangleStraight.getIntersection(centerToCenterStraight).toPoint();
+				} else {
+					final Straight bottomFirstRectangleStraight = new Straight(new PrecisionPoint(sourceX, sourceY + sourceHeight), new PrecisionPoint(sourceX + sourceWidth, sourceY + sourceHeight));
+					if (bottomFirstRectangleStraight.intersects(centerToCenterStraight)) {
+						intersectPointForFirstRectangle = bottomFirstRectangleStraight.getIntersection(centerToCenterStraight).toPoint();
+					} else {
+						final Straight leftFirstRectangleStraight = new Straight(new PrecisionPoint(sourceX, sourceY), new PrecisionPoint(sourceX, sourceY + sourceHeight));
+						if (leftFirstRectangleStraight.intersects(centerToCenterStraight)) {
+							intersectPointForFirstRectangle = leftFirstRectangleStraight.getIntersection(centerToCenterStraight).toPoint();
+						} else {
+							final Straight topFirstRectangleStraight = new Straight(new PrecisionPoint(sourceX, sourceY), new PrecisionPoint(sourceX + sourceWidth, sourceY));
+							if (topFirstRectangleStraight.intersects(centerToCenterStraight)) {
+								intersectPointForFirstRectangle = topFirstRectangleStraight.getIntersection(centerToCenterStraight).toPoint();
+							}
+						}
+					}
+				}
+
+				// Calculate the point of the intersection for the second node
+				final Straight rightSecondRectangleStraight = new Straight(new PrecisionPoint(sourceX + sourceWidth, sourceY), new PrecisionPoint(sourceX + sourceWidth, sourceY + sourceHeight));
+				if (rightSecondRectangleStraight.intersects(centerToCenterStraight)) {
+					intersectPointForSecondRectangle = rightSecondRectangleStraight.getIntersection(centerToCenterStraight).toPoint();
+				} else {
+					final Straight bottomSecondRectangleStraight = new Straight(new PrecisionPoint(sourceX, sourceY + sourceHeight), new PrecisionPoint(sourceX + sourceWidth, sourceY + sourceHeight));
+					if (bottomSecondRectangleStraight.intersects(centerToCenterStraight)) {
+						intersectPointForSecondRectangle = bottomSecondRectangleStraight.getIntersection(centerToCenterStraight).toPoint();
+					} else {
+						final Straight leftSecondRectangleStraight = new Straight(new PrecisionPoint(sourceX, sourceY), new PrecisionPoint(sourceX, sourceY + sourceHeight));
+						if (leftSecondRectangleStraight.intersects(centerToCenterStraight)) {
+							intersectPointForSecondRectangle = leftSecondRectangleStraight.getIntersection(centerToCenterStraight).toPoint();
+						} else {
+							final Straight topSecondRectangleStraight = new Straight(new PrecisionPoint(sourceX, sourceY), new PrecisionPoint(sourceX + sourceWidth, sourceY));
+							if (topSecondRectangleStraight.intersects(centerToCenterStraight)) {
+								intersectPointForSecondRectangle = topSecondRectangleStraight.getIntersection(centerToCenterStraight).toPoint();
+							}
+						}
+					}
+				}
+
+				if (null != intersectPointForFirstRectangle && null != intersectPointForSecondRectangle) {
+					// If the intersections are found, create the correct source and target points
+					final Point sourcePoint = new Point(sourceX + sourceWidth, targetY + (targetHeight / 2));
+					final Point targetPoint = new Point(targetX, sourceY + (sourceHeight / 2));
+					points.add(AbsoluteBendpointsConvention.getInstance().createAbsoluteBendpointStoredAsRelative(sourcePoint));
+					points.add(AbsoluteBendpointsConvention.getInstance().createAbsoluteBendpointStoredAsRelative(targetPoint));
+				}
+			}
+		}
+
+		// If no points are created, create points to (0, 0)
+		if (points.isEmpty()) {
+			final Point point = new Point(0, 0);
+			points.add(AbsoluteBendpointsConvention.getInstance().createAbsoluteBendpointStoredAsRelative(point));
+			points.add(AbsoluteBendpointsConvention.getInstance().createAbsoluteBendpointStoredAsRelative(point));
+		}
+
+		bendpoints.setPoints(points);
+		associationEdge.setBendpoints(bendpoints);
+	}
+
+	/**
+	 * This allows to create the bendpoint for the association Tether edge.
+	 * 
+	 * @param associationTetherEdge
+	 *            The association Tether edge.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public void createBendpointsForAssociationTetherEdge(final Connector associationTetherEdge) {
+		// Create bendpoints with (-50, -49) as source and target
+		final RelativeBendpoints bendpoints = NotationFactory.eINSTANCE.createRelativeBendpoints();
+		final List<RelativeBendpoint> points = new ArrayList<RelativeBendpoint>(2);
+
+		final Point point = new Point(-50, -49);
+		points.add(new RelativeBendpoint(point.x, point.y, 0, 0));
+		points.add(new RelativeBendpoint(point.x, point.y, 0, 0));
+
+		bendpoints.setPoints(points);
+		associationTetherEdge.setBendpoints(bendpoints);
+
+		// Create the identityAnchor in the middle of the association
+		final IdentityAnchor identityAnchor = NotationFactory.eINSTANCE.createIdentityAnchor();
+		identityAnchor.setId("(0.5,0.5)");
+		associationTetherEdge.setSourceAnchor(identityAnchor);
+	}
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/sysml/SysMLBlackboxHelper.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/sysml/SysMLBlackboxHelper.java
new file mode 100644
index 0000000..2e1a0cc
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/sysml/SysMLBlackboxHelper.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.sysml;
+
+import java.util.List;
+
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * This allows to define the needed methods of SysML for the transformations.
+ */
+public class SysMLBlackboxHelper {
+
+	/***
+	 * This allows to get the created classifier which replace the package.
+	 * 
+	 * @param searchedPackage
+	 *            The searched package in the list of package.
+	 * @param packagesToDestroy
+	 *            The list of packages that have to be destroyed.
+	 * @param createdClasses
+	 *            The list of created classes that replaced the packages.
+	 * @return The created classifier which replace the package or <code>null</code>;
+	 */
+	@Operation(kind = Kind.HELPER)
+	public Classifier getClassifier(final org.eclipse.uml2.uml.Package searchedPackage, final List<org.eclipse.uml2.uml.Package> packagesToDestroy, final List<org.eclipse.uml2.uml.Class> createdClasses) {
+		Classifier result = null;
+
+		int index = packagesToDestroy.indexOf(searchedPackage);
+
+		if (-1 != index) {
+			result = createdClasses.get(index);
+		}
+
+		return result;
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/table/TableBlackboxHelper.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/table/TableBlackboxHelper.java
new file mode 100644
index 0000000..800c0b5
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml.blackboxes/src/org/eclipse/papyrus/interoperability/sysml14/sysml/blackboxes/table/TableBlackboxHelper.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.table;
+
+import java.util.List;
+
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation;
+import org.eclipse.m2m.qvt.oml.blackbox.java.Operation.Kind;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableaxisconfiguration.AxisManagerRepresentation;
+import org.eclipse.papyrus.infra.nattable.model.nattable.nattableconfiguration.TableConfiguration;
+
+/**
+ * The black box for the table.
+ */
+public class TableBlackboxHelper {
+
+	/**
+	 * This allows to get the axis manager representation (and calculate it if the parameter is a proxy).
+	 * 
+	 * @param tableConfiguration
+	 *            The table configuration of SysML1.1.
+	 * @param axisManagerRepresentationSearched
+	 *            The axis manager searched.
+	 * @return The axis manager representation searched.
+	 */
+	@Operation(kind = Kind.HELPER)
+	public AxisManagerRepresentation getAxisManager(final TableConfiguration tableConfiguration, final AxisManagerRepresentation axisManagerRepresentationSearched) {
+		AxisManagerRepresentation result = null;
+
+		if (axisManagerRepresentationSearched.eIsProxy()) {
+			String xpath = axisManagerRepresentationSearched.toString();
+			xpath = xpath.substring(xpath.indexOf("//@") + 3, xpath.lastIndexOf(")")); //$NON-NLS-1$ //$NON-NLS-2$
+			final String axisConfigurationXPath = xpath.substring(0, xpath.indexOf("/@axisManagers.")); //$NON-NLS-1$
+			final String indexAxisManagerAsString = xpath.substring(xpath.indexOf("/@axisManagers.") + 15); //$NON-NLS-1$
+
+			List<AxisManagerRepresentation> axisManagers = null;
+			if (axisConfigurationXPath.equals("rowHeaderAxisConfiguration")) { //$NON-NLS-1$
+				axisManagers = tableConfiguration.getRowHeaderAxisConfiguration().getAxisManagers();
+			} else if (axisConfigurationXPath.equals("columnHeaderAxisConfiguration")) { //$NON-NLS-1$
+				axisManagers = tableConfiguration.getColumnHeaderAxisConfiguration().getAxisManagers();
+			}
+
+			if (null != axisManagers) {
+				int indexAxisManager = Integer.parseInt(indexAxisManagerAsString);
+				if (indexAxisManager >= 0) {
+					if (axisManagers.size() > indexAxisManager) {
+						result = axisManagers.get(indexAxisManager);
+					}
+				}
+			}
+		} else {
+			result = axisManagerRepresentationSearched;
+		}
+
+		return result;
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.classpath b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.classpath
new file mode 100644
index 0000000..22f3064
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+	<classpathentry kind="src" path="src"/>
+	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+	<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+	<classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.gitignore b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.project b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.project
new file mode 100644
index 0000000..4ba49cb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.project
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.interoperability.sysml14.sysml</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.m2m.qvt.oml.project.QVTONature</nature>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.settings/org.eclipse.jdt.core.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b3aa6d6
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.settings/org.eclipse.jdt.ui.prefs b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,68 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/META-INF/MANIFEST.MF b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..d4284fb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/META-INF/MANIFEST.MF
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.interoperability.sysml14.sysml;singleton:=true
+Bundle-Version: 0.10.1.qualifier
+Bundle-Vendor: %providerName
+Bundle-Activator: org.eclipse.papyrus.interoperability.sysml14.sysml.Activator
+Require-Bundle: org.eclipse.ui;bundle-version="[3.109.0,4.0.0)",
+ org.eclipse.core.runtime;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.core.resources;bundle-version="[3.12.0,4.0.0)",
+ org.eclipse.papyrus.infra.core.log;bundle-version="1.2.0",
+ org.eclipse.papyrus.infra.emf;bundle-version="[2.2.0,3.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.interoperability.common;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.m2m.qvt.oml;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.m2m.qvt.oml.common;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.m2m.qvt.oml.project;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.m2m.qvt.oml.runtime;bundle-version="[3.7.0,4.0.0)",
+ org.eclipse.papyrus.m2m.qvto;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.3.0,6.0.0)",
+ org.eclipse.gmf.runtime.notation;bundle-version="[1.8.0,2.0.0)",
+ org.eclipse.papyrus.sysml14;bundle-version="[0.10.1,1.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.interoperability.sysml14.sysml,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.handlers,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.messages,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.transformations,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.utils,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.wizard,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.xmi.helper
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/OSGI-INF/l10n/bundle.properties b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..ae54d13
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,13 @@
+#################################################################################
+# Copyright (c) 2017 CEA LIST and others.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# 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 SysML1.1 to SysML1.4 Interoperability
+providerName = Eclipse Modeling Project
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/about.html b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/about.html
new file mode 100644
index 0000000..598b368
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>May 12, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org/">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/build.properties b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/build.properties
new file mode 100644
index 0000000..46bdf84
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/build.properties
@@ -0,0 +1,9 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               plugin.xml,\
+               transform/,\
+               about.html,\
+               OSGI-INF/
+src.includes = about.html
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/plugin.xml b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/plugin.xml
new file mode 100644
index 0000000..d4223ec
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/plugin.xml
@@ -0,0 +1,109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+    <extension
+         point="org.eclipse.ui.menus">
+      <menuContribution
+            allPopups="false"
+            locationURI="popup:org.eclipse.ui.navigator.ProjectExplorer#PopupMenu?after=additions">
+         <command
+               commandId="org.eclipse.papyrus.interoperability.sysml14.sysml.import"
+               style="push">
+            <visibleWhen
+                  checkEnabled="false">
+               <with
+                     variable="selection">
+                  <iterate
+                        ifEmpty="false"
+                        operator="or">
+                     <adapt
+                           type="org.eclipse.core.resources.IFile">
+                        <or>
+                           <test
+                                 property="org.eclipse.core.resources.extension"
+                                 value="di">
+                           </test>
+                        </or>
+                     </adapt>
+                  </iterate>
+               </with>
+            </visibleWhen>
+         </command>
+      </menuContribution>
+   </extension>
+   <extension
+         point="org.eclipse.ui.commands">
+      <command
+            defaultHandler="org.eclipse.papyrus.interoperability.sysml14.sysml.handlers.ImportSysMLHandler"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.import"
+            name="Migrate SysML 1.1 Model to SysML 1.4">
+      </command>
+   </extension>
+   <extension
+         point="org.eclipse.ui.importWizards">
+      <wizard
+            category="org.eclipse.papyrus.infra.core.importcategory"
+            class="org.eclipse.papyrus.interoperability.sysml14.sysml.wizard.TransformationSysMLWizard"
+            icon="platform:/plugin/org.eclipse.papyrus.interoperability.common/icons/import_wiz_16x16.gif"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.transformationWizard"
+            name="Migrate SysML 1.1 Models to SysML 1.4">
+         <description>
+            Select and migrate SysML1.1 to SysML1.4 profiles through the wizard window.
+         </description>
+      </wizard>
+   </extension>
+   <extension
+         point="org.eclipse.m2m.qvt.oml.runtime.qvtTransformation">
+      <library
+            file="transform/SysMLUtils.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLUtils">
+      </library>
+      <library
+            file="transform/SysMLDiagramsUtils.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsUtils">
+      </library>
+      <library
+            file="transform/SysMLDiagramsConstants.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsConstants">
+      </library>
+      <library
+            file="transform/SysMLTablesUtils.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLTablesUtils">
+      </library>
+   </extension>
+   <extension
+         point="org.eclipse.m2m.qvt.oml.runtime.qvtTransformation">
+      <transformation
+            file="transform/SysMLSemantic.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLSemantic">
+      </transformation>
+      <transformation
+            file="transform/SysMLNotation.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLNotation">
+      </transformation>
+      <transformation
+            file="transform/SysMLBlockDefinitionDiagram.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLBlockDefinitionDiagram">
+      </transformation>
+      <transformation
+            file="transform/SysMLInternalBlockDiagram.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLInternalBlockDiagram">
+      </transformation>
+      <transformation
+            file="transform/SysMLParametricDiagram.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLParametricDiagram">
+      </transformation>
+      <transformation
+            file="transform/SysMLRequirementDiagram.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLRequirementDiagram">
+      </transformation>
+      <transformation
+            file="transform/SysMLRequirementTable.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLRequirementTable">
+      </transformation>
+      <transformation
+            file="transform/SysMLAllocationTable.qvto"
+            id="org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLAllocationTable">
+      </transformation>
+   </extension>
+</plugin>
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/Activator.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/Activator.java
new file mode 100644
index 0000000..2ea0073
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/Activator.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and Others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *  
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml;
+
+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.interoperability.sysml14.sysml"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/**
+	 * The log helper.
+	 */
+	public static LogHelper log;
+
+	/**
+	 * Returns the shared instance.
+	 *
+	 * @return The shared instance.
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * 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;
+		log = new LogHelper(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);
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/handlers/ImportSysMLHandler.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/handlers/ImportSysMLHandler.java
new file mode 100644
index 0000000..3ab3cd2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/handlers/ImportSysMLHandler.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and Others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *  
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.handlers;
+
+import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel;
+import org.eclipse.papyrus.interoperability.common.MigrationParameters.ThreadConfig;
+import org.eclipse.papyrus.interoperability.common.handler.AbstractMigrationHandler;
+import org.eclipse.papyrus.interoperability.common.transformation.IImportTransformationLauncher;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.transformations.SysMLImportTransformationLauncher;
+import org.eclipse.swt.widgets.Control;
+
+import com.google.common.collect.Sets;
+
+/**
+ * The handler to run SysML1.1 import action when a file is selected.
+ */
+public class ImportSysMLHandler extends AbstractMigrationHandler {
+
+	/**
+	 * Constructor.
+	 */
+	public ImportSysMLHandler() {
+		super(Sets.newHashSet(DiModel.DI_FILE_EXTENSION));
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.handler.AbstractMigrationHandler#createImportTransformationLauncher(org.eclipse.papyrus.migration.common.MigrationParameters.Config, org.eclipse.swt.widgets.Control)
+	 */
+	@Override
+	protected IImportTransformationLauncher createImportTransformationLauncher(final ThreadConfig config, final Control baseControl) {
+		return new SysMLImportTransformationLauncher(config, baseControl);
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/messages/Messages.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/messages/Messages.java
new file mode 100644
index 0000000..3ca6de0
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/messages/Messages.java
@@ -0,0 +1,32 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.messages;
+
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * The messages.
+ */
+public class Messages extends NLS {
+	private static final String BUNDLE_NAME = "org.eclipse.papyrus.interoperability.sysml14.sysml.messages.messages"; //$NON-NLS-1$
+	public static String TransformationSysMLWizard_WizardTitle;
+	static {
+		// initialize resource bundle
+		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+	}
+
+	private Messages() {
+	}
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/messages/messages.properties b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/messages/messages.properties
new file mode 100644
index 0000000..ab052cc
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/messages/messages.properties
@@ -0,0 +1 @@
+TransformationSysMLWizard_WizardTitle=SysML Migration Wizard
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformation.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformation.java
new file mode 100644
index 0000000..4b0030c
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformation.java
@@ -0,0 +1,739 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and Others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *  
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.transformations;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.MultiStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.emf.ecore.resource.ResourceSet;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.emf.ecore.xmi.XMLResource;
+import org.eclipse.emf.ecore.xmi.impl.XMIResourceImpl;
+import org.eclipse.gmf.runtime.emf.core.resources.GMFResource;
+import org.eclipse.m2m.internal.qvt.oml.library.Context;
+import org.eclipse.m2m.qvt.oml.BasicModelExtent;
+import org.eclipse.m2m.qvt.oml.ExecutionContextImpl;
+import org.eclipse.m2m.qvt.oml.ModelExtent;
+import org.eclipse.papyrus.infra.core.resource.sasheditor.DiModel;
+import org.eclipse.papyrus.infra.tools.util.ListHelper;
+import org.eclipse.papyrus.interoperability.common.MigrationParameters.ThreadConfig;
+import org.eclipse.papyrus.interoperability.common.concurrent.ResourceAccessHelper;
+import org.eclipse.papyrus.interoperability.common.transformation.AbstractImportTransformation;
+import org.eclipse.papyrus.interoperability.common.transformation.IDependencyAnalysisHelper;
+import org.eclipse.papyrus.interoperability.common.transformation.MigrationResourceSetImpl;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.Activator;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.xmi.helper.PreserveXMIIDHelper;
+import org.eclipse.uml2.uml.resource.UMLResource;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * This call defines the SysML transformation from 1.1 to 1.4.
+ */
+@SuppressWarnings("restriction")
+public class SysMLImportTransformation extends AbstractImportTransformation {
+
+	/**
+	 * The notation file extension.
+	 */
+	private static final String NOTATION_FILE_EXTENSION = "notation";
+
+	/**
+	 * The model extent for the primitives types.
+	 */
+	protected ModelExtent umlPrimitivesTypes;
+
+	/**
+	 * The model extent for the SysML 1.4 profile.
+	 */
+	protected ModelExtent sysML14Profile;
+
+	/**
+	 * The model extent for the Block Definition viewpoint.
+	 */
+	protected ModelExtent blockDefinitionViewpoint;
+
+	/**
+	 * The model extent for the Internal Block viewpoint.
+	 */
+	protected ModelExtent internalBlockViewpoint;
+
+	/**
+	 * The model extent for the Parametric viewpoint.
+	 */
+	protected ModelExtent parametricViewpoint;
+
+	/**
+	 * The model extent for the Requirement viewpoint.
+	 */
+	protected ModelExtent requirementViewpoint;
+
+	/**
+	 * The model extent for the Requirement NatTable configuration for SysML 1.1.
+	 */
+	protected ModelExtent requirementNatTable11;
+
+	/**
+	 * The model extent for the Allocation NatTable configuration for SysML 1.1.
+	 */
+	protected ModelExtent allocationNatTable11;
+
+	/**
+	 * The model extent for the Requirement NatTable configuration for SysML 1.4.
+	 */
+	protected ModelExtent requirementNatTable14;
+
+	/**
+	 * The model extent for the Allocation NatTable configuration for SysML 1.4.
+	 */
+	protected ModelExtent allocationNatTable14;
+
+	/**
+	 * The model extent for the Requirement Table viewpoint.
+	 */
+	protected ModelExtent requirementTableViewpoint;
+
+	/**
+	 * The model extent for the Allocation Table viewpoint.
+	 */
+	protected ModelExtent allocationTableViewpoint;
+
+	/**
+	 * Constructor.
+	 *
+	 * @param sourceURI
+	 *            The source URI.
+	 * @param config
+	 *            The thread config.
+	 * @param analysisHelper
+	 *            The analyses helper.
+	 */
+	public SysMLImportTransformation(final URI sourceURI, final ThreadConfig config, final IDependencyAnalysisHelper analysisHelper) {
+		super(sourceURI, config, analysisHelper);
+		DEBUG = true;
+	}
+
+	/**
+	 * Constructor.
+	 *
+	 * @param sourceURI
+	 *            The source URI.
+	 */
+	public SysMLImportTransformation(final URI sourceURI) {
+		super(sourceURI);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#initTransformationProperties(org.eclipse.m2m.qvt.oml.ExecutionContextImpl)
+	 */
+	@Override
+	protected void initTransformationProperties(final ExecutionContextImpl context) {
+		// Nothing to do for the transformations initialization
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#loadInPapyrusProfiles()
+	 */
+	@Override
+	protected Diagnostic loadInPapyrusProfiles() {
+		resourceSet.getResource(sourceURI.trimFileExtension().appendFileExtension(UMLResource.FILE_EXTENSION), true);
+		resourceSet.getResource(sourceURI.trimFileExtension().appendFileExtension(NOTATION_FILE_EXTENSION), true);
+		return null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#countSupportedElements()
+	 */
+	@Override
+	protected int countSupportedElements() {
+		return -1;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#run(org.eclipse.core.runtime.IProgressMonitor)
+	 */
+	@Override
+	protected IStatus run(final IProgressMonitor monitor) {
+		//
+		// INITIALIZATION / LOADING
+		//
+
+		monitor.subTask("Loading source model " + getModelName());
+
+		long startLoad = System.nanoTime();
+		initResourceSet(monitor);
+
+		int numberOfElements = countSupportedElements();
+
+		monitor.beginTask("Importing " + getModelName(), numberOfElements);
+		monitor.subTask("Loading transformations (This may take a few seconds for the first import)...");
+
+		loadTransformations(monitor);
+
+		List<ModelExtent> extents = getModelExtents();
+
+		String statusMessage = String.format("Import %s", getModelName());
+		MultiStatus generationStatus = new MultiStatus(Activator.PLUGIN_ID, IStatus.OK, statusMessage, null);
+
+		context = createExecutionContext(monitor, generationStatus);
+
+		try {
+			getInPapyrusProfiles(); // Preload profiles
+
+			long endLoad = System.nanoTime();
+			loadingTime = endLoad - startLoad;
+
+			//
+			// TRANSFORMATIONS
+			//
+
+			IStatus result; // Result of an individual transformation (Will be aggregated to the complete GenerationStatus)
+
+			prepareExtensions();
+
+			long startExtensions = System.nanoTime();
+			result = importExtensions(context, monitor, ExtensionFunction::executeBefore);
+			long endExtensions = System.nanoTime();
+
+			this.importExtensionsTime = endExtensions - startExtensions;
+			generationStatus.add(result);
+
+			// calculate the existing identifier for the UML resource
+			final Map<EObject, String> oldUMLIds = new HashMap<EObject, String>();
+			final Resource oldUMLResource = resourceSet.getResource(sourceURI.trimFileExtension().appendFileExtension(UMLResource.FILE_EXTENSION), true);
+			final Iterator<EObject> UMLContents = oldUMLResource.getAllContents();
+			while (UMLContents.hasNext()) {
+				final EObject eObject = UMLContents.next();
+				oldUMLIds.put(eObject, ((XMIResource) oldUMLResource).getID(eObject));
+			}
+
+			monitor.subTask("Importing semantic model...");
+			URI semanticTransformationURI = getSemanticTransformationURI();
+			if (null != semanticTransformationURI) {
+				result = runTransformation(semanticTransformationURI, extents, monitor);
+				generationStatus.add(result);
+			}
+
+			if (generationStatus.getSeverity() <= Diagnostic.WARNING) {
+				targetURI = convertToPapyrus(sourceURI, UMLResource.FILE_EXTENSION);
+				umlResource = createUMLResource(resourceSet, sourceURI, targetURI);
+				configureResource((XMIResource) umlResource);
+
+				// This list contains all the objects from the initial ModelExtent, plus all the ones
+				// which were created during the QVTo transformations.
+				List<EObject> outUMLObjects = getInOutUMLModel().getContents();
+				umlResource.getContents().addAll(outUMLObjects);
+
+				// Manage the Ids
+				new PreserveXMIIDHelper(new Context(context)).keepIdForUMLResource((XMIResource) this.umlResource, oldUMLIds);
+				oldUMLIds.clear();
+
+				// Calculate the existing identifier for the notation resource
+				final Map<EObject, String> oldNotationIds = new HashMap<EObject, String>();
+				Resource oldNotationResource = resourceSet.getResource(sourceURI.trimFileExtension().appendFileExtension(NOTATION_FILE_EXTENSION), true);
+				final Iterator<EObject> notationContents = oldNotationResource.getAllContents();
+				while (notationContents.hasNext()) {
+					final EObject eObject = notationContents.next();
+					oldNotationIds.put(eObject, ((XMIResource) oldNotationResource).getID(eObject));
+				}
+
+				// Diagrams
+				extents = getDiagramsModelExtents();
+				final Collection<URI> transformations = getDiagramTransformationURIs();
+				monitor.subTask("Importing diagrams and tables...");
+				for (URI transformationURI : transformations) {
+					result = runTransformation(transformationURI, extents, monitor);
+					generationStatus.add(result);
+				}
+
+				if (generationStatus.getSeverity() <= Diagnostic.WARNING) {
+
+					// Manage the notation resource
+					final URI notationModelURI = convertToPapyrus(sourceURI, NOTATION_FILE_EXTENSION);
+					final GMFResource notationResource = new GMFResource(notationModelURI); // GMF Resource content type?
+					resourceSet.getResources().add(notationResource);
+					final List<EObject> outNotationObjects = getInoutNotationModel().getContents();
+					notationResource.getContents().addAll(outNotationObjects);
+					configureResource(notationResource);
+
+					// Manage the Ids
+					new PreserveXMIIDHelper(new Context(context)).keepIdForNotationResource((XMIResource) notationResource, oldNotationIds);
+					oldNotationIds.clear();
+
+					monitor.subTask("Cleaning-up target model...");
+
+					// Manage the DI resource
+					final URI sashModelURI = convertToPapyrus(sourceURI, DiModel.DI_FILE_EXTENSION);
+					final XMIResource sashResource = new XMIResourceImpl(sashModelURI);
+					configureResource(sashResource);
+
+					// Profile mappings are also library mappings
+					uriMappings.put(sourceURI, targetURI);
+
+					monitor.subTask("Handling fragments...");
+
+					final Collection<Resource> resourcesToSave = handleFragments(umlResource, notationResource, sashResource);
+
+					monitor.subTask("Analyzing dangling references...");
+
+					long startDangling = System.nanoTime();
+					handleDanglingURIs(resourcesToSave);
+					long endDangling = System.nanoTime();
+					this.danglingRefTime = endDangling - startDangling;
+
+					monitor.subTask("Saving models...");
+
+					for (final Resource resource : resourcesToSave) {
+						try {
+							cleanMetadataAnnotations(resource);
+							ResourceAccessHelper.INSTANCE.saveResource(resource, null);
+						} catch (Exception ex) {
+							Activator.log.error(ex);
+							generationStatus.add(new Status(IStatus.ERROR, Activator.PLUGIN_ID, "An exception occurred during save", ex));
+						}
+					}
+				}
+			}
+
+			long startExtensionsAfter = System.nanoTime();
+			result = importExtensions(context, monitor, ExtensionFunction::executeAfter);
+			long endExtensionsAfter = System.nanoTime();
+			this.importExtensionsTime += endExtensionsAfter - startExtensionsAfter;
+
+		} finally {
+			// Do nothing
+		}
+
+		// Set the context of the QvTo to null
+		context = null;
+
+		monitor.subTask("Releasing memory...");
+		unloadResourceSet(this.resourceSet);
+		dispose();
+
+		monitor.done();
+		return generationStatus;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#getDiagramTransformationURIs()
+	 */
+	@Override
+	protected Collection<URI> getDiagramTransformationURIs() {
+		return ListHelper.asList(new URI[] { getTransformationURI("SysMLNotation", Activator.PLUGIN_ID) });
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#getSemanticTransformationURI()
+	 */
+	@Override
+	protected URI getSemanticTransformationURI() {
+		return getTransformationURI("SysMLSemantic", Activator.PLUGIN_ID);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#getProfilesTransformationURI()
+	 */
+	@Override
+	protected Collection<URI> getProfilesTransformationURI() {
+		return Collections.emptyList();
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#getAllTransformationURIs()
+	 */
+	@Override
+	protected Collection<URI> getAllTransformationURIs() {
+		final Collection<URI> allTransformations = new ArrayList<URI>();
+		final URI semanticTransformationURI = getSemanticTransformationURI();
+		if (null != semanticTransformationURI) {
+			allTransformations.add(semanticTransformationURI);
+		}
+		final Collection<URI> diagramTransformationURI = getDiagramTransformationURIs();
+		if (null != diagramTransformationURI) {
+			allTransformations.addAll(diagramTransformationURI);
+		}
+		final Collection<URI> profilesTransformationURI = getProfilesTransformationURI();
+		if (null != profilesTransformationURI) {
+			allTransformations.addAll(profilesTransformationURI);
+		}
+		final Collection<URI> additionalTransformationURIs = getAdditionalTransformationURIs();
+		if (null != additionalTransformationURIs) {
+			allTransformations.addAll(additionalTransformationURIs);
+		}
+		return allTransformations;
+
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#getModelExtents()
+	 */
+	@Override
+	protected List<ModelExtent> getModelExtents() {
+		final List<ModelExtent> allExtents = new LinkedList<ModelExtent>();
+		allExtents.add(getInSysML1_4Profile());
+		allExtents.add(getInUMLPrimitivesTypes());
+		allExtents.add(getInSysMLStandardLibrary());
+		allExtents.add(getInUMLProfileStandard());
+		allExtents.add(getInOutUMLModel());
+		return allExtents;
+	}
+
+	/**
+	 * Get the list of model extents needed for the diagrams transformations.
+	 * 
+	 * @return The list of model extents.
+	 */
+	protected List<ModelExtent> getDiagramsModelExtents() {
+		final List<ModelExtent> allExtents = new LinkedList<ModelExtent>();
+		allExtents.add(getInBlockDefinitionViewpoint());
+		allExtents.add(getInInternalBlockViewpoint());
+		allExtents.add(getInParametricViewpoint());
+		allExtents.add(getInRequirementViewpoint());
+		allExtents.add(getOutUMLModelForDiagrams());
+		allExtents.add(getInSysML1_4Profile());
+		allExtents.add(getInRequirementNatTableSysML11());
+		allExtents.add(getInAllocationNatTableSysML11());
+		allExtents.add(getInRequirementNatTableSysML14());
+		allExtents.add(getInAllocationNatTableSysML14());
+		allExtents.add(getInRequirementConfigurationSysML14());
+		allExtents.add(getInAllocationConfigurationSysML14());
+		allExtents.add(getInoutNotationModel());
+		return allExtents;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#getInOutUMLModel()
+	 */
+	@Override
+	public ModelExtent getInOutUMLModel() {
+		Resource oldUMLResource = resourceSet.getResource(sourceURI.trimFileExtension().appendFileExtension(UMLResource.FILE_EXTENSION), true);
+		if (null != oldUMLResource) {
+			outUML = new BasicModelExtent(oldUMLResource.getContents());
+		} else {
+			outUML = new BasicModelExtent();
+		}
+		return outUML;
+	}
+
+	/**
+	 * Get the UML model extend for the diagrams transformation.
+	 * 
+	 * @return The Model Extent for UML.
+	 */
+	public ModelExtent getOutUMLModelForDiagrams() {
+		if (null != umlResource) {
+			outUML = new BasicModelExtent(umlResource.getContents());
+		} else {
+			outUML = new BasicModelExtent();
+		}
+		return outUML;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#getInoutNotationModel()
+	 */
+	@Override
+	public ModelExtent getInoutNotationModel() {
+		Resource oldNotationResource = resourceSet.getResource(sourceURI.trimFileExtension().appendFileExtension(NOTATION_FILE_EXTENSION), true);
+		if (null != oldNotationResource) {
+			outNotation = new BasicModelExtent(oldNotationResource.getContents());
+		} else {
+			outNotation = new BasicModelExtent();
+		}
+		return outNotation;
+	}
+
+	/**
+	 * Get the model extent with the block definition viewpoint.
+	 * 
+	 * @return The model extent with the block definition viewpoint.
+	 */
+	protected ModelExtent getInBlockDefinitionViewpoint() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/configuration/blockDefinitionDiagram.configuration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		blockDefinitionViewpoint = new BasicModelExtent(fCMProfile.getContents());
+		return blockDefinitionViewpoint;
+	}
+
+	/**
+	 * Get the model extent with the internal block viewpoint.
+	 * 
+	 * @return The model extent with the internal block viewpoint.
+	 */
+	protected ModelExtent getInInternalBlockViewpoint() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14.diagram.internalblock/resources/configuration/internalBlockDiagram.configuration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		internalBlockViewpoint = new BasicModelExtent(fCMProfile.getContents());
+		return internalBlockViewpoint;
+	}
+
+	/**
+	 * Get the model extent with the parametric viewpoint.
+	 * 
+	 * @return The model extent with the parametric viewpoint.
+	 */
+	protected ModelExtent getInParametricViewpoint() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14.diagram.parametric/resources/configuration/parametricDiagram.configuration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		parametricViewpoint = new BasicModelExtent(fCMProfile.getContents());
+		return parametricViewpoint;
+	}
+
+	/**
+	 * Get the model extent with the requirement viewpoint.
+	 * 
+	 * @return The model extent with the requirement viewpoint.
+	 */
+	protected ModelExtent getInRequirementViewpoint() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14.diagram.requirement/resources/configuration/requirementDiagram.configuration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		requirementViewpoint = new BasicModelExtent(fCMProfile.getContents());
+		return requirementViewpoint;
+	}
+
+	/**
+	 * Get the model extent for the SysML1.4 profile.
+	 * 
+	 * @return The model extentfor the SysML1.4 profile.
+	 */
+	protected ModelExtent getInSysML1_4Profile() {
+		final URI sysMLProfile = URI.createURI("pathmap://SysML14_PROFILES/SysML.profile.uml");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		sysML14Profile = new BasicModelExtent(fCMProfile.getContents());
+		return sysML14Profile;
+	}
+
+	/**
+	 * Get the model extent for the SysML1.4 profile.
+	 * 
+	 * @return The model extent for the SysML1.4 profile.
+	 */
+	protected ModelExtent getInUMLPrimitivesTypes() {
+		final URI umlPrimitivesTypesURI = URI.createURI("pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml");
+		final Resource umlPrimitivesTypesResource = resourceSet.getResource(umlPrimitivesTypesURI, true);
+		umlPrimitivesTypes = new BasicModelExtent(umlPrimitivesTypesResource.getContents());
+		return umlPrimitivesTypes;
+	}
+
+	/**
+	 * Get the model extent with the SysML standard library.
+	 * 
+	 * @return The model extent with the SysML standard library.
+	 */
+	protected ModelExtent getInSysMLStandardLibrary() {
+		final URI sysMLProfile = URI.createURI("pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		sysML14Profile = new BasicModelExtent(fCMProfile.getContents());
+		return sysML14Profile;
+	}
+
+	/**
+	 * Get the model extent with the UML standard profile.
+	 * 
+	 * @return The model extent with the UML standard profile.
+	 */
+	protected ModelExtent getInUMLProfileStandard() {
+		final URI sysMLProfile = URI.createURI("pathmap://UML_PROFILES/Standard.profile.uml");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		sysML14Profile = new BasicModelExtent(fCMProfile.getContents());
+		return sysML14Profile;
+	}
+
+	/**
+	 * Get the model extent with the Requirement NatTable configuration in SysML 1.1.
+	 * 
+	 * @return The model extent with the Requirement NatTable configuration in SysML 1.1.
+	 */
+	protected ModelExtent getInRequirementNatTableSysML11() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		requirementNatTable11 = new BasicModelExtent(fCMProfile.getContents());
+		return requirementNatTable11;
+	}
+
+	/**
+	 * Get the model extent with the Allocation NatTable configuration in SysML 1.1.
+	 * 
+	 * @return The model extent with the Allocation NatTable configuration in SysML 1.1.
+	 */
+	protected ModelExtent getInAllocationNatTableSysML11() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		allocationNatTable11 = new BasicModelExtent(fCMProfile.getContents());
+		return allocationNatTable11;
+	}
+
+	/**
+	 * Get the model extent with the Requirement NatTable configuration in SysML 1.4.
+	 * 
+	 * @return The model extent with the Requirement NatTable configuration in SysML 1.4.
+	 */
+	protected ModelExtent getInRequirementNatTableSysML14() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		requirementNatTable14 = new BasicModelExtent(fCMProfile.getContents());
+		return requirementNatTable14;
+	}
+
+	/**
+	 * Get the model extent with the Allocation NatTable configuration in SysML 1.4.
+	 * 
+	 * @return The model extent with the Allocation NatTable configuration in SysML 1.4.
+	 */
+	protected ModelExtent getInAllocationNatTableSysML14() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14.nattable.allocation/resources/allocation.nattableconfiguration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		allocationNatTable14 = new BasicModelExtent(fCMProfile.getContents());
+		return allocationNatTable14;
+	}
+
+	/**
+	 * Get the model extent with the Requirement Table viewpoint.
+	 * 
+	 * @return The model extent with the Requirement Table viewpoint.
+	 */
+	protected ModelExtent getInRequirementConfigurationSysML14() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/configuration/requirementTable.configuration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		requirementTableViewpoint = new BasicModelExtent(fCMProfile.getContents());
+		return requirementTableViewpoint;
+	}
+
+	/**
+	 * Get the model extent with the Allocation Table viewpoint.
+	 * 
+	 * @return The model extent with the Allocation Table viewpoint.
+	 */
+	protected ModelExtent getInAllocationConfigurationSysML14() {
+		final URI sysMLProfile = URI.createURI("platform:/plugin/org.eclipse.papyrus.sysml14.nattable.allocation/resources/configuration/allocationTable.configuration");
+		final Resource fCMProfile = resourceSet.getResource(sysMLProfile, true);
+		allocationTableViewpoint = new BasicModelExtent(fCMProfile.getContents());
+		return allocationTableViewpoint;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#convertToPapyrus(org.eclipse.emf.common.util.URI, java.lang.String)
+	 */
+	@Override
+	protected URI convertToPapyrus(final URI initialModelURI, final String extension) {
+		// TODO: define if the final file need to be the same or specify the name
+		URI uriWithoutExtension = initialModelURI.trimFileExtension();
+		String lastSegment = uriWithoutExtension.lastSegment();
+		lastSegment += "_converted";
+		uriWithoutExtension = uriWithoutExtension.trimSegments(1);
+		uriWithoutExtension = uriWithoutExtension.appendSegment(lastSegment);
+		return uriWithoutExtension.appendFileExtension(extension);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformation#createUMLResource(org.eclipse.emf.ecore.resource.ResourceSet, org.eclipse.emf.common.util.URI, org.eclipse.emf.common.util.URI)
+	 */
+	@Override
+	protected Resource createUMLResource(final ResourceSet resourceSet, final URI sourceResourceURI, final URI targetResourceURI) {
+		return resourceSet.createResource(targetResourceURI, UMLResource.UML_5_0_0_CONTENT_TYPE_IDENTIFIER);
+	}
+
+	/**
+	 * Initializes the resource set, and resolve all dependencies
+	 */
+	protected void initResourceSet(IProgressMonitor monitor) {
+		resourceSet = new MigrationResourceSetImpl();
+		synchronized (UMLUtil.class) {
+			UMLUtil.init(resourceSet);
+		}
+		resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_ATTACHMENT, true);
+		resourceSet.getLoadOptions().put(XMLResource.OPTION_DEFER_IDREF_RESOLUTION, true);
+		resourceSet.getLoadOptions().put(XMLResource.OPTION_LAX_FEATURE_PROCESSING, Boolean.TRUE);
+		resourceSet.getLoadOptions().put(XMLResource.OPTION_RECORD_UNKNOWN_FEATURE, Boolean.TRUE);
+		resourceSet.getLoadOptions().put(XMLResource.OPTION_USE_PACKAGE_NS_URI_AS_LOCATION, Boolean.FALSE);
+
+		monitor.subTask("Loading source model " + getModelName());
+
+		try {
+			resourceSet.getResource(sourceURI, true);
+			loadInPapyrusProfiles();
+		} catch (Exception ex) {
+			Activator.log.error("An error occurred while loading " + getModelName(), ex);
+		}
+	}
+
+	/**
+	 * This allows to dispose the needed variables.
+	 */
+	protected void dispose() {
+		umlPrimitivesTypes = null;
+		sysML11Profile = null;
+		sysML14Profile = null;
+		blockDefinitionViewpoint = null;
+		internalBlockViewpoint = null;
+		parametricViewpoint = null;
+		requirementViewpoint = null;
+		requirementNatTable11 = null;
+		allocationNatTable11 = null;
+		requirementNatTable14 = null;
+		allocationNatTable14 = null;
+		requirementTableViewpoint = null;
+		allocationTableViewpoint = null;
+		umlResource = null;
+		outUML = null;
+		outNotation = null;
+		inPapyrusProfiles = null;
+		inParameters = null;
+		outSashModel = null;
+		resourceSet = null;
+		// Set the context of the QvTo to null
+		context = null;
+	}
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformationLauncher.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformationLauncher.java
new file mode 100644
index 0000000..deec755
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/transformations/SysMLImportTransformationLauncher.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and Others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *  
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.transformations;
+
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.papyrus.interoperability.common.MigrationParameters.ThreadConfig;
+import org.eclipse.papyrus.interoperability.common.transformation.AbstractImportTransformationLauncher;
+import org.eclipse.papyrus.interoperability.common.transformation.IDependencyAnalysisHelper;
+import org.eclipse.papyrus.interoperability.common.transformation.IImportTransformation;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * The launcher of the SysML migration.
+ */
+public class SysMLImportTransformationLauncher extends AbstractImportTransformationLauncher {
+
+	/**
+	 * Constructor.
+	 *
+	 * @param config
+	 *            The thread config.
+	 */
+	public SysMLImportTransformationLauncher(final ThreadConfig config) {
+		super(config, null);
+	}
+
+	/**
+	 * Constructor.
+	 *
+	 * @param config
+	 *            The thread config.
+	 * @param baseControl
+	 *            The base control.
+	 */
+	public SysMLImportTransformationLauncher(final ThreadConfig config, final Control baseControl) {
+		super(config, baseControl);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformationLauncher#createDependencyAnalysisHelper(org.eclipse.papyrus.migration.common.MigrationParameters.ThreadConfig)
+	 */
+	@Override
+	protected IDependencyAnalysisHelper createDependencyAnalysisHelper(final ThreadConfig config) {
+		return null;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.transformation.AbstractImportTransformationLauncher#createTransformation(org.eclipse.emf.common.util.URI, org.eclipse.papyrus.migration.common.MigrationParameters.ThreadConfig,
+	 *      org.eclipse.papyrus.migration.common.transformation.IDependencyAnalysisHelper)
+	 */
+	@Override
+	protected IImportTransformation createTransformation(final URI transformationURI, final ThreadConfig config, final IDependencyAnalysisHelper analysisHelper) {
+		return new SysMLImportTransformation(transformationURI, config, analysisHelper);
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/utils/SysMLMigrationConstantsUtils.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/utils/SysMLMigrationConstantsUtils.java
new file mode 100644
index 0000000..235a9a2
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/utils/SysMLMigrationConstantsUtils.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.utils;
+
+/**
+ * This allows to declare the needed constants for the SysML interoperability.
+ */
+public class SysMLMigrationConstantsUtils {
+
+	/**
+	 * The eAnnotation source string.
+	 */
+	public static final String VERSIONING_EANNOTATION_SOURCE = "Imported_From_SysML_1.1"; //$NON-NLS-1$
+
+	/**
+	 * The key of the eAnnotation for the source project.
+	 */
+	public static final String VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_SOURCE_PROJECT_NAME = "Papyrus_Source_Model_Name"; //$NON-NLS-1$
+
+	/**
+	 * The key of the eAnnotatio for the migration date.
+	 */
+	public static final String VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_DATE = "Papyrus_SysML_Migration_Date"; //$NON-NLS-1$
+
+	/**
+	 * The key of the eAnnotatio for the bundle version.
+	 */
+	public static final String VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_BUNDLE_VERSION = "Papyrus_SysML_Migration_Bundle_Version"; //$NON-NLS-1$
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/wizard/TransformationSysMLDialogData.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/wizard/TransformationSysMLDialogData.java
new file mode 100644
index 0000000..9ebffdc
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/wizard/TransformationSysMLDialogData.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and Others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *  
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.wizard;
+
+import org.eclipse.papyrus.interoperability.common.wizard.pages.AbstractDialogData;
+
+/**
+ * This allows to defined the extensions needed for the migration.
+ */
+public class TransformationSysMLDialogData extends AbstractDialogData {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.wizard.pages.AbstractDialogData#getExtensions()
+	 */
+	@Override
+	public String[] getExtensions() {
+		return new String[] { "*.di", "*" };
+
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.wizard.pages.AbstractDialogData#getExtensionsNames()
+	 */
+	@Override
+	public String[] getExtensionsNames() {
+		return new String[] { "*.di", "*" };
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/wizard/TransformationSysMLWizard.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/wizard/TransformationSysMLWizard.java
new file mode 100644
index 0000000..beef561
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/wizard/TransformationSysMLWizard.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and Others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *  
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.wizard;
+
+import org.eclipse.papyrus.interoperability.common.MigrationParameters.ThreadConfig;
+import org.eclipse.papyrus.interoperability.common.transformation.AbstractImportTransformationLauncher;
+import org.eclipse.papyrus.interoperability.common.wizard.AbstractTransformationWizard;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.messages.Messages;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.transformations.SysMLImportTransformationLauncher;
+import org.eclipse.swt.widgets.Control;
+
+/**
+ * The wizard for the SysML Migration.
+ */
+public class TransformationSysMLWizard extends AbstractTransformationWizard {
+
+	/**
+	 * Constructor.
+	 */
+	public TransformationSysMLWizard() {
+		super(Messages.TransformationSysMLWizard_WizardTitle, new TransformationSysMLDialogData());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.migration.common.wizard.AbstractTransformationWizard#createTransformationLauncher(org.eclipse.papyrus.migration.common.MigrationParameters.Config, org.eclipse.swt.widgets.Control)
+	 */
+	@Override
+	protected AbstractImportTransformationLauncher createTransformationLauncher(final ThreadConfig config, final Control baseControl) {
+		return new SysMLImportTransformationLauncher(config, baseControl);
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/NotationXMIIDHelper.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/NotationXMIIDHelper.java
new file mode 100644
index 0000000..c695591
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/NotationXMIIDHelper.java
@@ -0,0 +1,464 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.xmi.helper;
+
+import java.util.HashSet;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+import java.util.Set;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.gmf.runtime.notation.Bendpoints;
+import org.eclipse.gmf.runtime.notation.Bounds;
+import org.eclipse.gmf.runtime.notation.Connector;
+import org.eclipse.gmf.runtime.notation.DecorationNode;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.gmf.runtime.notation.IdentityAnchor;
+import org.eclipse.gmf.runtime.notation.Location;
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.StringValueStyle;
+import org.eclipse.gmf.runtime.notation.Style;
+import org.eclipse.papyrus.infra.viewpoints.style.PapyrusViewStyle;
+
+/**
+ * This class defines the needed methods to preserve or create the Notation XMI identifiers.
+ */
+public class NotationXMIIDHelper {
+
+	/**
+	 * The diagram compatibility version identifier.
+	 */
+	private static final String DIAGRAM_COMPATIBILITY_VERSION = "diagram_compatibility_version"; //$NON-NLS-1$
+
+	/**
+	 * The Bendpoints identifier.
+	 */
+	private static final String BENDPOINTS = "bendpoints"; //$NON-NLS-1$
+
+	/**
+	 * The Bounds identifier.
+	 */
+	private static final String BOUNDS = "bounds"; //$NON-NLS-1$
+
+	/**
+	 * The Connector identifier.
+	 */
+	private static final String CONNECTOR = "connector"; //$NON-NLS-1$
+
+	/**
+	 * The IdentityAnchor identifier.
+	 */
+	private static final String IDENTITY_ANCHOR = "identityAnchor"; //$NON-NLS-1$
+
+	/**
+	 * The Location identifier.
+	 */
+	private static final String LOCATION = "location"; //$NON-NLS-1$
+
+	/**
+	 * The PapyrusViewStyle identifier.
+	 */
+	private static final String PAPYRUS_VIEW_STYLE = "papyrusViewStyle"; //$NON-NLS-1$
+
+	/**
+	 * The Shape identifier.
+	 */
+	private static final String SHAPE = "shape"; //$NON-NLS-1$
+
+	/**
+	 * The 'from' separator in identifier.
+	 */
+	private static final String FROM = "_from_"; //$NON-NLS-1$
+
+	/**
+	 * The 'Of' separator in identifier.
+	 */
+	private static final String OF = "_Of_"; //$NON-NLS-1$
+
+	/**
+	 * The 'to' separator in identifier.
+	 */
+	private static final String TO = "_to_"; //$NON-NLS-1$
+
+	/**
+	 * The underscore separator.
+	 */
+	private static final String UNDERSCORE = "_"; //$NON-NLS-1$
+
+	/**
+	 * This allows to calculate the identifiers of created Notation elements.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param current
+	 *            The object to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateNeededId(final XMIResource res, final Object current, final Map<EObject, String> oldIds) {
+		if (current instanceof DecorationNode) {
+			calculateDecorationNode(res, (DecorationNode) current, oldIds);
+		} else if (current instanceof Diagram) {
+			calculateDiagram(res, (Diagram) current, oldIds);
+		} else if (current instanceof Style) {
+			calculateStyle(res, (Style) current, oldIds);
+		} else if (current instanceof Bounds) {
+			calculateBounds(res, (Bounds) current, oldIds);
+		} else if (current instanceof Location) {
+			calculateLocation(res, (Location) current, oldIds);
+		} else if (current instanceof EAnnotation) {
+			calculateEAnnotation(res, (EAnnotation) current, oldIds);
+		} else if (current instanceof Bendpoints) {
+			calculateBendpoints(res, (Bendpoints) current, oldIds);
+		} else if (current instanceof IdentityAnchor) {
+			calculateIdentityAnchor(res, (IdentityAnchor) current, oldIds);
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created DecorationNode.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param decorationNode
+	 *            The DecorationNode to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateDecorationNode(final XMIResource res, final DecorationNode decorationNode, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(decorationNode)) {
+			final String containerID = ((XMIResource) decorationNode.eContainer().eResource()).getID(decorationNode.eContainer());
+
+			StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(decorationNode.getType());
+			stringBuilder.append(OF);
+			stringBuilder.append(containerID);
+
+			// Manage the existing connector id with incremental suffix item if needed
+			stringBuilder = incrementStringBuilder(stringBuilder.toString(), oldIds);
+
+			res.setID(decorationNode, stringBuilder.toString());
+			oldIds.put(decorationNode, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of converted Diagram.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param diagram
+	 *            The Diagram to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateDiagram(final XMIResource res, final Diagram diagram, final Map<EObject, String> oldIds) {
+		StringValueStyle compatibilityVersion = null;
+		Set<PapyrusViewStyle> papyrusViewStyles = new HashSet<PapyrusViewStyle>();
+
+		@SuppressWarnings("unchecked")
+		final Iterator<EObject> styles = diagram.getStyles().iterator();
+		while (styles.hasNext()) {
+			final EObject style = styles.next();
+			if (style instanceof PapyrusViewStyle) {
+				papyrusViewStyles.add((PapyrusViewStyle) style);
+			} else if (style instanceof StringValueStyle && ((StringValueStyle) style).getName().equals("diagram_compatibility_version")) {
+				compatibilityVersion = (StringValueStyle) style;
+			}
+		}
+		final String diagramID = ((XMIResource) diagram.eResource()).getID(diagram);
+
+		if (null != compatibilityVersion && !oldIds.containsKey(compatibilityVersion)) {
+			final StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(DIAGRAM_COMPATIBILITY_VERSION);
+			stringBuilder.append(OF);
+			stringBuilder.append(diagramID);
+			res.setID(compatibilityVersion, stringBuilder.toString());
+			oldIds.put(compatibilityVersion, stringBuilder.toString());
+		}
+
+		for (final PapyrusViewStyle papyrusViewStyle : papyrusViewStyles) {
+			if (!oldIds.containsKey(papyrusViewStyle)) {
+				final StringBuilder stringBuilder = new StringBuilder();
+				stringBuilder.append(PAPYRUS_VIEW_STYLE);
+				stringBuilder.append(((XMIResource) papyrusViewStyle.getOwner().eResource()).getID(papyrusViewStyle.getOwner()));
+				stringBuilder.append(OF);
+				stringBuilder.append(diagramID);
+				res.setID(papyrusViewStyle, stringBuilder.toString());
+				oldIds.put(papyrusViewStyle, stringBuilder.toString());
+			}
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created Style.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param style
+	 *            The Style to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateStyle(final XMIResource res, final Style style, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(style)) {
+			final String containerID = ((XMIResource) style.eContainer().eResource()).getID(style.eContainer());
+
+			StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(style.eClass().getName());
+			stringBuilder.append(OF);
+			stringBuilder.append(containerID);
+
+			// Manage the existing connector id with incremental suffix item if needed
+			stringBuilder = incrementStringBuilder(stringBuilder.toString(), oldIds);
+
+			res.setID(style, stringBuilder.toString());
+			oldIds.put(style, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created Bounds.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param bounds
+	 *            The Bounds to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateBounds(final XMIResource res, final Bounds bounds, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(bounds)) {
+			final String containerID = ((XMIResource) bounds.eContainer().eResource()).getID(bounds.eContainer());
+
+			StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(BOUNDS);
+			stringBuilder.append(OF);
+			stringBuilder.append(containerID);
+
+			// Manage the existing connector id with incremental suffix item if needed
+			stringBuilder = incrementStringBuilder(stringBuilder.toString(), oldIds);
+
+			res.setID(bounds, stringBuilder.toString());
+			oldIds.put(bounds, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created Location.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param location
+	 *            The Location to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateLocation(final XMIResource res, final Location location, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(location)) {
+			final String containerID = ((XMIResource) location.eContainer().eResource()).getID(location.eContainer());
+
+			StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(LOCATION);
+			stringBuilder.append(OF);
+			stringBuilder.append(containerID);
+
+			// Manage the existing connector id with incremental suffix item if needed
+			stringBuilder = incrementStringBuilder(stringBuilder.toString(), oldIds);
+
+			res.setID(location, stringBuilder.toString());
+			oldIds.put(location, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created EAnnotation and details.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param eAnnotation
+	 *            The EAnnotation to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateEAnnotation(final XMIResource res, final EAnnotation eAnnotation, final Map<EObject, String> oldIds) {
+		final String containerID = ((XMIResource) eAnnotation.eContainer().eResource()).getID(eAnnotation.eContainer());
+
+		String eAnnotationID = null;
+		if (!oldIds.containsKey(eAnnotation)) {
+			final StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(eAnnotation.getSource());
+			stringBuilder.append(OF);
+			stringBuilder.append(containerID);
+			eAnnotationID = stringBuilder.toString();
+			res.setID(eAnnotation, eAnnotationID);
+			oldIds.put(eAnnotation, eAnnotationID);
+		} else {
+			eAnnotationID = oldIds.get(eAnnotation);
+		}
+
+		for (final Entry<String, String> detail : eAnnotation.getDetails()) {
+			if (!oldIds.containsKey(detail) && detail instanceof EStringToStringMapEntryImpl) {
+				final StringBuilder eAnnotationStringBuilder = new StringBuilder();
+				eAnnotationStringBuilder.append(detail.getKey());
+				eAnnotationStringBuilder.append(OF);
+				eAnnotationStringBuilder.append(eAnnotationID);
+				res.setID((EStringToStringMapEntryImpl) detail, eAnnotationStringBuilder.toString());
+				oldIds.put((EStringToStringMapEntryImpl) detail, eAnnotationStringBuilder.toString());
+			}
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created Shape.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param shape
+	 *            The Shape to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateShape(final XMIResource res, final Shape shape, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(shape)) {
+			final String elementID = ((XMIResource) shape.getElement().eResource()).getID(shape.getElement());
+
+			StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(SHAPE);
+			stringBuilder.append(OF);
+			stringBuilder.append(elementID);
+
+			// Manage the existing shape id with incremental suffix item if needed
+			stringBuilder = incrementStringBuilder(stringBuilder.toString(), oldIds);
+
+			res.setID(shape, stringBuilder.toString());
+			oldIds.put(shape, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created Connector.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param connector
+	 *            The Connector to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateConnector(final XMIResource res, final Connector connector, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(connector)) {
+			final String sourceID = ((XMIResource) connector.getSource().eResource()).getID(connector.getSource());
+			final String targetID = ((XMIResource) connector.getTarget().eResource()).getID(connector.getTarget());
+
+			StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(CONNECTOR);
+			stringBuilder.append(FROM);
+			stringBuilder.append(sourceID);
+			stringBuilder.append(TO);
+			stringBuilder.append(targetID);
+
+			// Manage the existing connector id with incremental suffix item if needed
+			stringBuilder = incrementStringBuilder(stringBuilder.toString(), oldIds);
+
+			res.setID(connector, stringBuilder.toString());
+			oldIds.put(connector, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created Bendpoints.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param bendpoints
+	 *            The Bendpoints to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateBendpoints(final XMIResource res, final Bendpoints bendpoints, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(bendpoints)) {
+			final String elementID = ((XMIResource) bendpoints.eContainer().eResource()).getID(bendpoints.eContainer());
+
+			StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(BENDPOINTS);
+			stringBuilder.append(OF);
+			stringBuilder.append(elementID);
+
+			// Manage the existing connector id with incremental suffix item if needed
+			stringBuilder = incrementStringBuilder(stringBuilder.toString(), oldIds);
+
+			res.setID(bendpoints, stringBuilder.toString());
+			oldIds.put(bendpoints, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created IdentityAnchor.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param identityAnchor
+	 *            The IdentityAnchor to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateIdentityAnchor(final XMIResource res, final IdentityAnchor identityAnchor, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(identityAnchor)) {
+			final String elementID = ((XMIResource) identityAnchor.eContainer().eResource()).getID(identityAnchor.eContainer());
+
+			StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(IDENTITY_ANCHOR);
+			stringBuilder.append(OF);
+			stringBuilder.append(elementID);
+
+			// Manage the existing connector id with incremental suffix item if needed
+			stringBuilder = incrementStringBuilder(stringBuilder.toString(), oldIds);
+
+			res.setID(identityAnchor, stringBuilder.toString());
+			oldIds.put(identityAnchor, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to suffix the initial string builder if the id already exist.
+	 * 
+	 * @param initialString
+	 *            The initial string builder.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 * @return The string builder incremented if needed.
+	 */
+	protected static StringBuilder incrementStringBuilder(final String initialString, final Map<EObject, String> oldIds) {
+		StringBuilder subStringBuilder = new StringBuilder(initialString);
+
+		boolean idAlreadyExist = oldIds.containsValue(initialString);
+		int incremental = 2;
+		while (idAlreadyExist) {
+			subStringBuilder = new StringBuilder(initialString);
+			subStringBuilder.append(UNDERSCORE);
+			subStringBuilder.append(incremental);
+			if (!oldIds.containsValue(subStringBuilder.toString())) {
+				idAlreadyExist = false;
+			}
+			incremental++;
+		}
+
+		return subStringBuilder;
+	}
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/PreserveXMIIDHelper.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/PreserveXMIIDHelper.java
new file mode 100644
index 0000000..bf33745
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/PreserveXMIIDHelper.java
@@ -0,0 +1,143 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.xmi.helper;
+
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+import org.eclipse.emf.common.util.TreeIterator;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.m2m.internal.qvt.oml.library.Context;
+import org.eclipse.papyrus.m2m.qvto.TraceHelper;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * This class allows to preserve (and create) XMI identifiers to have same transformation results when transformations are done several time for a same project.
+ */
+@SuppressWarnings("restriction")
+public class PreserveXMIIDHelper {
+
+	/**
+	 * The context of the QVTo transformation.
+	 */
+	private Context context;
+
+	/**
+	 * The helper to use to manipulate QVTo trace.
+	 */
+	private TraceHelper helper = new TraceHelper();
+
+	/**
+	 * Constructor.
+	 *
+	 * @param context
+	 *            The context of the QVTo transformation.
+	 */
+	public PreserveXMIIDHelper(final Context context) {
+		this.context = context;
+	}
+
+	/**
+	 * This allows to keep (and create) XMI identifiers for the UML Resource elements.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public void keepIdForUMLResource(final XMIResource res, final Map<EObject, String> oldIds) {
+
+		// The list of stereotype applications that will be managed in a second run
+		final Set<EObject> eObjectForSecondRun = new HashSet<EObject>();
+
+		// Loop the first time for the non stereotype application
+		final TreeIterator<EObject> iter = res.getAllContents();
+		while (iter.hasNext()) {
+			final EObject current = iter.next();
+
+			if (isStereotypeApplication(current)) {
+
+				// looking for the SysML1.1 object in the QVto trace
+				final Object result = helper.traceFrom(context, current, null);
+
+				if (oldIds.containsKey(result)) {
+					// Get the old if of stereotype and apply it to the new one
+					final String oldId = oldIds.get(result);
+					res.setID(current, oldId);
+
+					// Calculate if more than the stereotype application must be needed for the ID calculation
+					SysMLXMIIDHelper.calculateMoreNeededId(res, current, oldId, oldIds);
+				} else {
+					// Add the stereotype application to the list that will be managed in a second run because they are created
+					eObjectForSecondRun.add(current);
+				}
+
+			} else {
+				// Calculate if more than the stereotype application must be needed for the ID calculation
+				UMLXMIIDHelper.calculateNeededId(res, current, oldIds);
+			}
+		}
+
+		// Second run the needed objects
+		for (final EObject current : eObjectForSecondRun) {
+			if (!oldIds.containsKey(current)) {
+				// If the object is not an existing one, check if this is a SysML stereotyped created element
+				if (SysMLXMIIDHelper.isStereotypedElementCreated(current)) {
+					SysMLXMIIDHelper.calculateCreateStereotypedElement(res, current);
+
+					// If the object is not an existing one, check if this is a UML stereotyped created element
+				} else if (UMLXMIIDHelper.isStereotypedElementCreated(current)) {
+					UMLXMIIDHelper.calculateCreateStereotypedElement(res, current);
+
+				} else {
+					System.out.println("It is not possible to found an id for " + current.toString()); //$NON-NLS-1$
+				}
+			}
+		}
+	}
+
+	/**
+	 * This allows to keep (and create) XMI identifiers for the Notation Resource elements.
+	 * 
+	 * @param res
+	 *            The Notation Resource.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public void keepIdForNotationResource(final XMIResource res, final Map<EObject, String> oldIds) {
+
+		// Loop the first time for the non stereotype application
+		final TreeIterator<EObject> iter = res.getAllContents();
+		while (iter.hasNext()) {
+			final EObject current = iter.next();
+			NotationXMIIDHelper.calculateNeededId(res, current, oldIds);
+		}
+	}
+
+	/**
+	 * This allows to determinate if the object is a stereotype application.
+	 * 
+	 * @param eobject
+	 *            The eobject to check.
+	 * @return
+	 * 		<code>true</code> when the element represents a stereotype application, <code>false</code> otherwise.
+	 */
+	protected boolean isStereotypeApplication(final EObject eobject) {
+		return null != UMLUtil.getBaseElement(eobject);
+	}
+
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/SysMLXMIIDHelper.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/SysMLXMIIDHelper.java
new file mode 100644
index 0000000..d3abd82
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/SysMLXMIIDHelper.java
@@ -0,0 +1,307 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.xmi.helper;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EStructuralFeature;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.papyrus.sysml14.modelelements.Conform;
+import org.eclipse.papyrus.sysml14.modelelements.Stakeholder;
+import org.eclipse.papyrus.sysml14.modelelements.View;
+import org.eclipse.papyrus.sysml14.modelelements.Viewpoint;
+import org.eclipse.papyrus.uml.tools.utils.UMLUtil;
+import org.eclipse.uml2.uml.Comment;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * This class defines the needed methods to preserve or create the SysML XMI identifiers.
+ */
+public class SysMLXMIIDHelper {
+
+	/**
+	 * The base_Class identifier.
+	 */
+	private static final String BASE_CLASS = "baseClass"; //$NON-NLS-1$
+
+	/**
+	 * The base_Classifier identifier.
+	 */
+	private static final String BASE_CLASSIFIER = "baseClassifier"; //$NON-NLS-1$
+
+	/**
+	 * The base_Generalization identifier.
+	 */
+	private static final String BASE_GENERALIZATION = "baseGeneralization"; //$NON-NLS-1$
+
+	/**
+	 * The comment identifier.
+	 */
+	private static final String COMMENT = "comment"; //$NON-NLS-1$
+
+	/**
+	 * The concernList identifier.
+	 */
+	private static final String CONCERNLIST = "concernList_"; //$NON-NLS-1$
+
+	/**
+	 * The createOperation identifier.
+	 */
+	private static final String CREATEOPERATION = "createOperation"; //$NON-NLS-1$
+
+	/**
+	 * The stakeholder identifier.
+	 */
+	private static final String STAKEHOLDER = "stakeholder"; //$NON-NLS-1$
+
+	/**
+	 * The 'Of' separator in identifier.
+	 */
+	private static final String OF = "_Of_"; //$NON-NLS-1$
+
+	/**
+	 * This allows to calculate the identifiers of converted or created SysML elements.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param current
+	 *            The object to manage its identifier.
+	 * @param currentId
+	 *            The identifier of existing element.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateMoreNeededId(final XMIResource res, final Object current, final String currentId, final Map<EObject, String> oldIds) {
+		if (current instanceof View) {
+			calculateBaseClassViewId(res, (View) current, currentId, oldIds);
+		} else if (current instanceof Conform) {
+			calculateBaseGeneralizationConformId(res, (Conform) current, currentId, oldIds);
+		} else if (current instanceof Viewpoint) {
+			calculateOthersViewPointId(res, (Viewpoint) current, currentId, oldIds);
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of converted or created 'View'.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param view
+	 *            The View to manage its identifier.
+	 * @param currentId
+	 *            The identifier of existing element.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateBaseClassViewId(final XMIResource res, final View view, final String currentId, final Map<EObject, String> oldIds) {
+
+		String basePackageId = null;
+
+		final EObject basedClass = view.getBase_Class();
+		EStructuralFeature basePackageFeature = null;
+		Iterator<EStructuralFeature> features = view.eClass().getEAllStructuralFeatures().iterator();
+		while (features.hasNext() && null == basePackageFeature) {
+			EStructuralFeature feature = features.next();
+			if (feature.getName().equals("base_Package")) { //$NON-NLS-1$
+				basePackageFeature = feature;
+			}
+		}
+
+		if (null != basePackageFeature) {
+			final Object basePackage = view.eGet(basePackageFeature);
+			if (basePackage instanceof Package && oldIds.containsKey(basePackage)) {
+				basePackageId = oldIds.get(basePackage);
+			}
+		}
+
+		// Manage the base class created
+		if (null != basePackageId) {
+			res.setID(basedClass, basePackageId);
+		} else {
+			final StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(BASE_CLASS);
+			stringBuilder.append(OF);
+			stringBuilder.append(currentId);
+			res.setID(basedClass, stringBuilder.toString());
+			oldIds.put(basedClass, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of converted or created 'Conform'.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param conform
+	 *            The Conform to manage its identifier.
+	 * @param currentId
+	 *            The identifier of existing element.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateBaseGeneralizationConformId(final XMIResource res, final Conform conform, final String currentId, final Map<EObject, String> oldIds) {
+
+		String basePackageId = null;
+
+		final EObject basedGeneralization = conform.getBase_Generalization();
+		EStructuralFeature baseDependencyFeature = null;
+		Iterator<EStructuralFeature> features = conform.eClass().getEAllStructuralFeatures().iterator();
+		while (features.hasNext() && null == baseDependencyFeature) {
+			EStructuralFeature feature = features.next();
+			if (feature.getName().equals("base_Dependency")) { //$NON-NLS-1$
+				baseDependencyFeature = feature;
+			}
+		}
+
+		if (null != baseDependencyFeature) {
+			final Object baseDependency = conform.eGet(baseDependencyFeature);
+			if (baseDependency instanceof Dependency && oldIds.containsKey(baseDependency)) {
+				basePackageId = oldIds.get(baseDependency);
+			}
+		}
+
+		// Manage the base generalization created
+		if (null != basePackageId) {
+			res.setID(basedGeneralization, basePackageId);
+		} else {
+			final StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(BASE_GENERALIZATION);
+			stringBuilder.append(OF);
+			stringBuilder.append(currentId);
+			res.setID(basedGeneralization, stringBuilder.toString());
+			oldIds.put(basedGeneralization, stringBuilder.toString());
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of converted or created 'Viewpoint'.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param viewpoint
+	 *            The Viewpoint to manage its identifier.
+	 * @param currentId
+	 *            The identifier of existing element.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateOthersViewPointId(final XMIResource res, final Viewpoint viewpoint, final String currentId, final Map<EObject, String> oldIds) {
+		final org.eclipse.uml2.uml.Class basedClass = viewpoint.getBase_Class();
+
+		// Manage the new concern list comments
+		int concernListIndex = 1;
+		for (final Comment comment : viewpoint.getConcernList()) {
+			if (!oldIds.containsKey(comment)) {
+				final StringBuilder stringBuilder = new StringBuilder();
+				stringBuilder.append(CONCERNLIST);
+				stringBuilder.append(concernListIndex);
+				stringBuilder.append(OF);
+				stringBuilder.append(currentId);
+				res.setID(comment, stringBuilder.toString());
+				oldIds.put(comment, stringBuilder.toString());
+				concernListIndex++;
+			}
+		}
+
+		// Manage the created operation 'create'
+		Iterator<Operation> operations = basedClass.getOperations().iterator();
+		boolean foundCreate = false;
+		while (operations.hasNext() && !foundCreate) {
+			final Operation operation = operations.next();
+			if (null != UMLUtil.getAppliedStereotype(operation, "StandardProfile::Create", false) && !oldIds.containsKey(operation)) { //$NON-NLS-1$
+				foundCreate = true;
+				final StringBuilder stringBuilder = new StringBuilder();
+				stringBuilder.append(CREATEOPERATION);
+				stringBuilder.append(OF);
+				stringBuilder.append(currentId);
+				res.setID(operation, stringBuilder.toString());
+				oldIds.put(operation, stringBuilder.toString());
+
+				if (operation.getOwnedComments().size() == 1) {
+					// Manage comment in 'create' operation
+					Comment comment = operation.getOwnedComments().get(0);
+					final StringBuilder commentStringBuilder = new StringBuilder();
+					commentStringBuilder.append(COMMENT);
+					commentStringBuilder.append(OF);
+					commentStringBuilder.append(stringBuilder);
+					res.setID(comment, commentStringBuilder.toString());
+					oldIds.put(comment, commentStringBuilder.toString());
+				}
+			}
+		}
+
+		// Manage the stakeholders
+		int stakeholderIndex = 1;
+		final List<Stakeholder> stakeholders = new ArrayList<Stakeholder>(viewpoint.getStakeholder());
+		// Sort the list of stakeholders to be sure about the order of named elements
+		Collections.sort(stakeholders, new Comparator<Stakeholder>() {
+			@Override
+			public int compare(Stakeholder stakeholder1, Stakeholder stakeholder2) {
+				return stakeholder1.getBase_Classifier().getName().compareTo(stakeholder2.getBase_Classifier().getName());
+			}
+		});
+		for (final Stakeholder stakeholder : stakeholders) {
+			final StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(STAKEHOLDER);
+			stringBuilder.append(stakeholderIndex);
+			stringBuilder.append(OF);
+			stringBuilder.append(currentId);
+			res.setID(stakeholder, stringBuilder.toString());
+			oldIds.put(stakeholder, stringBuilder.toString());
+
+			// Manage the reference class
+			final EObject nestedClassifier = stakeholder.getBase_Classifier();
+			final StringBuilder otherStringBuilder = new StringBuilder();
+			otherStringBuilder.append(BASE_CLASSIFIER);
+			otherStringBuilder.append(OF);
+			otherStringBuilder.append(stringBuilder);
+			res.setID(nestedClassifier, otherStringBuilder.toString());
+			oldIds.put(nestedClassifier, otherStringBuilder.toString());
+
+			stakeholderIndex++;
+		}
+	}
+
+	/**
+	 * This allows to determinate if the created stereotype application need to be managed.
+	 * 
+	 * @param current
+	 *            The stereotype application.
+	 * @return <code>true</code> if the stereotype application identifier need to be managed, <code>false</code> otherwise.
+	 */
+	public static boolean isStereotypedElementCreated(final EObject current) {
+		// Need to be implemented for the SysML stereotype created element
+		return false;
+	}
+
+	/**
+	 * This allows to calculate the identifiers of the stereotype applications.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param current
+	 *            The stereotype application.
+	 */
+	public static void calculateCreateStereotypedElement(final XMIResource res, final EObject current) {
+		// Need to be implemented for the SysML stereotype created element
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/UMLXMIIDHelper.java b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/UMLXMIIDHelper.java
new file mode 100644
index 0000000..cf1dd73
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/src/org/eclipse/papyrus/interoperability/sysml14/sysml/xmi/helper/UMLXMIIDHelper.java
@@ -0,0 +1,239 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.xmi.helper;
+
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+import org.eclipse.emf.ecore.xmi.XMIResource;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.utils.SysMLMigrationConstantsUtils;
+import org.eclipse.uml2.uml.PackageImport;
+import org.eclipse.uml2.uml.Profile;
+import org.eclipse.uml2.uml.ProfileApplication;
+import org.eclipse.uml2.uml.profile.standard.Create;
+
+/**
+ * This class defines the needed methods to preserve or create the UML XMI identifiers.
+ */
+public class UMLXMIIDHelper {
+
+	/**
+	 * The 'create' stereotype application identifier.
+	 */
+	protected static final String CREATE_STEREOTYPE = "createStereotype"; //$NON-NLS-1$
+
+	/**
+	 * The EAnnotation identifier.
+	 */
+	protected static final String EANNOTATION = "eAnnotation"; //$NON-NLS-1$
+
+	/**
+	 * The imported from SysML1.1 identifier.
+	 */
+	protected static final String IMPORTED_FROM_SYSML11 = "Imported_From_SysML_11"; //$NON-NLS-1$
+
+	/**
+	 * The PackageImport identifier.
+	 */
+	protected static final String PACKAGE_IMPORT = "packageImport"; //$NON-NLS-1$
+
+	/**
+	 * The ProfileApplication identifier.
+	 */
+	protected static final String PROFILE_APPLICATION = "profileApplication"; //$NON-NLS-1$
+
+	/**
+	 * The 'Of' separator in identifier.
+	 */
+	protected static final String OF = "_Of_"; //$NON-NLS-1$
+
+
+	/**
+	 * This allows to calculate the identifiers of created UML elements.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param current
+	 *            The object to manage its identifier.
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	public static void calculateNeededId(final XMIResource res, final Object current, final Map<EObject, String> oldIds) {
+		if (current instanceof EAnnotation && ((EAnnotation) current).getSource().equals(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_SOURCE)) {
+			calculateSysMLMigrationEAnnotation(res, (EAnnotation) current, oldIds);
+		} else if (current instanceof PackageImport) {
+			calculatePackageImport(res, (PackageImport) current, oldIds);
+		} else if (current instanceof ProfileApplication) {
+			calculateProfileApplication(res, (ProfileApplication) current, oldIds);
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created EAnnotation.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param eAnnotation
+	 *            The created EAnnotation
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	protected static void calculateSysMLMigrationEAnnotation(final XMIResource res, final EAnnotation eAnnotation, final Map<EObject, String> oldIds) {
+
+		final String parentId = ((XMIResource) eAnnotation.eContainer().eResource()).getID(eAnnotation.eContainer());
+
+		final StringBuilder stringBuilder = new StringBuilder();
+		stringBuilder.append(IMPORTED_FROM_SYSML11);
+		stringBuilder.append(OF);
+		stringBuilder.append(parentId);
+		res.setID(eAnnotation, stringBuilder.toString());
+
+		for (final Entry<String, String> detail : eAnnotation.getDetails()) {
+			if (detail instanceof EStringToStringMapEntryImpl) {
+				if (detail.getKey().equals(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_DATE)) {
+					final StringBuilder subStringBuilder = new StringBuilder();
+					subStringBuilder.append(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_DATE);
+					subStringBuilder.append(OF);
+					subStringBuilder.append(parentId);
+					res.setID((EStringToStringMapEntryImpl) detail, subStringBuilder.toString());
+				} else if (detail.getKey().equals(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_BUNDLE_VERSION)) {
+					final StringBuilder subStringBuilder = new StringBuilder();
+					subStringBuilder.append(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_BUNDLE_VERSION);
+					subStringBuilder.append(OF);
+					subStringBuilder.append(parentId);
+					res.setID((EStringToStringMapEntryImpl) detail, subStringBuilder.toString());
+				} else if (detail.getKey().equals(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_SOURCE_PROJECT_NAME)) {
+					final StringBuilder subStringBuilder = new StringBuilder();
+					subStringBuilder.append(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_SOURCE_PROJECT_NAME);
+					subStringBuilder.append(OF);
+					subStringBuilder.append(parentId);
+					res.setID((EStringToStringMapEntryImpl) detail, subStringBuilder.toString());
+				}
+			}
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created PackageImport.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param packageImport
+	 *            The created PackageImport
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	protected static void calculatePackageImport(final XMIResource res, final PackageImport packageImport, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(packageImport)) {
+			final StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(PACKAGE_IMPORT);
+			stringBuilder.append(OF);
+			final org.eclipse.uml2.uml.Package importedPackage = packageImport.getImportedPackage();
+			if (importedPackage.eResource() instanceof XMIResource) {
+				final String importedPackageID = ((XMIResource) importedPackage.eResource()).getID(importedPackage);
+				if (null != importedPackageID && !importedPackageID.isEmpty()) {
+					stringBuilder.append(importedPackageID);
+					res.setID(packageImport, stringBuilder.toString());
+					oldIds.put(packageImport, stringBuilder.toString());
+				}
+			}
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of created ProfileApplication.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param profileApplication
+	 *            The created ProfileApplication
+	 * @param oldIds
+	 *            The existing objects and their identifiers.
+	 */
+	protected static void calculateProfileApplication(final XMIResource res, final ProfileApplication profileApplication, final Map<EObject, String> oldIds) {
+		if (!oldIds.containsKey(profileApplication)) {
+			final StringBuilder stringBuilder = new StringBuilder();
+			stringBuilder.append(PROFILE_APPLICATION);
+			stringBuilder.append(OF);
+			final Profile appliedProfile = profileApplication.getAppliedProfile();
+			if (appliedProfile.eResource() instanceof XMIResource) {
+				final String appliedProfileID = ((XMIResource) appliedProfile.eResource()).getID(appliedProfile);
+				if (null != appliedProfileID && !appliedProfileID.isEmpty()) {
+					stringBuilder.append(appliedProfileID);
+					res.setID(profileApplication, stringBuilder.toString());
+					oldIds.put(profileApplication, stringBuilder.toString());
+
+					final EAnnotation eAnnotation = profileApplication.getEAnnotation("http://www.eclipse.org/uml2/2.0.0/UML"); //$NON-NLS-1$
+					if (null != eAnnotation) {
+						final StringBuilder eAnnotationStringBuilder = new StringBuilder();
+						eAnnotationStringBuilder.append(EANNOTATION);
+						eAnnotationStringBuilder.append(OF);
+						eAnnotationStringBuilder.append(stringBuilder);
+						res.setID(eAnnotation, eAnnotationStringBuilder.toString());
+						oldIds.put(eAnnotation, eAnnotationStringBuilder.toString());
+					}
+				}
+			}
+		}
+	}
+
+	/**
+	 * This allows to determinate if the created stereotype application need to be managed.
+	 * 
+	 * @param current
+	 *            The stereotype application.
+	 * @return <code>true</code> if the stereotype application identifier need to be managed, <code>false</code> otherwise.
+	 */
+	public static boolean isStereotypedElementCreated(final EObject current) {
+		boolean result = false;
+		if (current instanceof Create) {
+			result = true;
+		}
+		return result;
+	}
+
+	/**
+	 * This allows to calculate the identifiers of the stereotype applications.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param current
+	 *            The stereotype application.
+	 */
+	public static void calculateCreateStereotypedElement(final XMIResource res, final EObject current) {
+		if (current instanceof Create) {
+			calculateCreate(res, (Create) current);
+		}
+	}
+
+	/**
+	 * This allows to calculate the identifiers of the 'create' stereotype application.
+	 * 
+	 * @param res
+	 *            The UML Resource.
+	 * @param current
+	 *            The 'create' stereotype application.
+	 */
+	protected static void calculateCreate(final XMIResource res, final Create current) {
+		final StringBuilder stringBuilder = new StringBuilder();
+		stringBuilder.append(CREATE_STEREOTYPE);
+		stringBuilder.append(OF);
+		stringBuilder.append(((XMIResource) current.getBase_BehavioralFeature().eResource()).getID(current.getBase_BehavioralFeature()));
+		res.setID(current, stringBuilder.toString());
+	}
+
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLAllocationTable.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLAllocationTable.qvto
new file mode 100644
index 0000000..f211cdb
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLAllocationTable.qvto
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.table.TableBlackboxHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLTablesUtils;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLUtils;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+modeltype nattable "strict" uses 'http://www.eclipse.org/papyrus/nattable/model';
+
+
+transformation SysMLAllocationTable(in blockDefinitionViewpoint : viewpoint, in internalBlockViewpoint : viewpoint, in parametricViewpoint : viewpoint, in requirementViewpoint : viewpoint, in umlFile : UML, in inS14Profile : SysML14, in requirementNatTableS11 : nattable, in allocationNatTableS11 : nattable, in requirementNatTableS14 : nattable, in allocationNatTableS14 : nattable, in requirementTableViewPoint : viewpoint, in allocationTableViewPoint : viewpoint, inout notationFile : notation);
+
+property rootTableConfigurationS11:nattable::nattableconfiguration::TableConfiguration = requirementNatTableS11.rootObjects()[nattable::nattableconfiguration::TableConfiguration]->any(true);
+
+mapping nattable::Table::fromSysML11AllocationTable() : nattable::Table when {self.tableConfiguration.name = "AllocationTable" and self.tableConfiguration.type = "PapyrusSysMLAllocationTable"} {
+	init{
+		result := self;
+	}
+	
+	// Create the annotation for versionning
+	var model:UML::Model := umlFile.rootObjects()[uml::Model]->any(true);
+	result.eAnnotations += model.createEAnnotationForVersioning();
+	
+	prototype := getPrototypeInS14Viewpoint(allocationTableViewPoint.rootObjects()->any(true).oclAsType(viewpoint::PapyrusConfiguration));
+	
+	var rootAllocationTableS14 := allocationNatTableS14.rootObjects()->any(true);
+	if (rootAllocationTableS14.oclIsKindOf(nattable::nattableconfiguration::TableConfiguration)) {
+		tableConfiguration := rootAllocationTableS14.oclAsType(nattable::nattableconfiguration::TableConfiguration);
+	};
+	
+	rowAxisProvidersHistory->forEach(rowAxisProvider){
+		if (rowAxisProvider.oclIsKindOf(nattable::nattableaxisprovider::AxisProvider)){
+			var existingAxis:OrderedSet(nattable::nattableaxis::IAxis) := rowAxisProvider.oclAsType(nattable::nattableaxisprovider::AxisProvider).axis;
+			var axisProvider:nattable::nattableaxisprovider::AxisProvider := rowAxisProvider.oclAsType(nattable::nattableaxisprovider::AxisProvider);
+			axisProvider.axis := object OrderedSet(nattable::nattableaxis::IAxis){};
+			axisProvider.axis += existingAxis->map fromSysML11AxisToAxis();
+		};
+	};
+	
+	columnAxisProvidersHistory->forEach(columnAxisProvider){
+		if (columnAxisProvider.oclIsKindOf(nattable::nattableaxisprovider::AxisProvider)){
+			var existingAxis:OrderedSet(nattable::nattableaxis::IAxis) := columnAxisProvider.oclAsType(nattable::nattableaxisprovider::AxisProvider).axis;
+			var axisProvider:nattable::nattableaxisprovider::AxisProvider := columnAxisProvider.oclAsType(nattable::nattableaxisprovider::AxisProvider);
+			axisProvider.axis := object OrderedSet(nattable::nattableaxis::IAxis){};
+			axisProvider.axis += existingAxis->map fromSysML11AxisToAxis();
+		};
+	};
+}
+
+mapping nattable::nattableaxis::IAxis::fromSysML11AxisToAxis() : nattable::nattableaxis::IAxis {
+	init{
+		result := self;
+	}
+	var tmpManager := getAxisManager(rootTableConfigurationS11, self.manager);
+	manager := getManagerInS14Configuration(requirementNatTableS14.objects()[nattable::nattableaxisconfiguration::AxisManagerRepresentation], tmpManager);
+}
+
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLBlockDefinitionDiagram.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLBlockDefinitionDiagram.qvto
new file mode 100644
index 0000000..a0f2456
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLBlockDefinitionDiagram.qvto
@@ -0,0 +1,1687 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+import org.eclipse.papyrus.interoperability.common.blackboxes.ecore.EcoreHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.notation.NotationBlackboxHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsUtils;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsConstants;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLUtils;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+modeltype nattable "strict" uses 'http://www.eclipse.org/papyrus/nattable/model';
+
+
+transformation SysMLBlockDefinitionDiagram(in blockDefinitionViewpoint : viewpoint, in internalBlockViewpoint : viewpoint, in parametricViewpoint : viewpoint, in requirementViewpoint : viewpoint, in umlFile : UML, in inS14Profile : SysML14, in requirementNatTableS11 : nattable, in allocationNatTableS11 : nattable, in requirementNatTableS14 : nattable, in allocationNatTableS14 : nattable, in requirementTableViewPoint : viewpoint, in allocationTableViewPoint : viewpoint, inout notationFile : notation);
+
+// Define needed constants
+property diagramName:String = "BlockDefinition";
+property diagramConfigurationName:String = "SysML 1.4 Block Definition";
+
+property model:UML::Model = umlFile.rootObjects()[uml::Model]->any(true);
+property rootDiagram:notation::Diagram;
+
+property childrenToRemove:OrderedSet(notation::View);
+
+mapping notation::Diagram::fromSysML11BlockDefinitionDiagram() : notation::Diagram when {self.type=diagramName} {
+	init{
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		var existingEdges:OrderedSet(notation::Edge) := self.edges;
+		result := self;
+		rootDiagram := result;
+		result.edges := object OrderedSet(notation::Edge){};
+		result.edges := existingEdges->map fromSysML11Edge();
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+	}
+	type := "PapyrusUMLClassDiagram";
+	
+	// Create the annotation for versionning
+	var model:UML::Model := umlFile.rootObjects()[uml::Model]->any(true);
+	result.eAnnotations += model.createEAnnotationForVersioning();
+	
+	// Modify or create the compatibility version
+	setOrCreateCompatibilityVersion(result);
+	
+	// Add the viewpoint configuration to the papyrus view style
+	addPapyrusViewStyleConfiguration(result, model, getBlockDefinitionPapyrusDiagramConfiguration());
+	
+	// Remove the needed children
+	childrenToRemove->forEach(childToRemove){
+		var parent:ecore::EObject := childToRemove.oclAsType(ecore::EObject).eContainer();
+		if (parent.oclIsKindOf(notation::View)) {
+			var parentView:notation::View := parent.oclAsType(notation::View);
+			removeFromOwnerView(parentView, childToRemove);
+		};
+	};
+}
+
+// Get the requirement papyrus diagram configuration from the viewpoint file
+helper getBlockDefinitionPapyrusDiagramConfiguration() : viewpoint::PapyrusDiagram {
+	return blockDefinitionViewpoint.objects()->selectByType(viewpoint::PapyrusDiagram)->any(curr | curr.name = diagramConfigurationName);
+}
+
+// Nodes ans shapes management
+mapping notation::Node::fromSysML11Shape(parent:notation::View) : notation::Node disjuncts
+	notation::BasicCompartment::fromSysML11BasicCompartment,
+	notation::DecorationNode::fromSysML11DecorationNode,
+	notation::Shape::fromSysML11StereotypeComment,
+	notation::Shape::fromSysML11ActorAsClass,
+	notation::Shape::fromSysML11AffixedPortAsAffixedPort,
+	notation::Shape::fromSysML11BlockAsClass,
+	notation::Shape::fromSysML11ConstraintBlockAsClass,
+	notation::Shape::fromSysML11DataTypeAsDataType,
+	notation::Shape::fromSysML11DimensionAsInstanceSpecification,
+	notation::Shape::fromSysML11EnumerationAsEnumeration,
+	notation::Shape::fromSysML11FlowSpecificationAsClass,
+	notation::Shape::fromSysML11InterfaceAsInterface,
+	notation::Shape::fromSysML11PackageShapeAsModel, // Must be done before PackageShapeAsPackage
+	notation::Shape::fromSysML11PackageShapeAsPackage,
+	notation::Shape::fromSysML11PrimitiveTypeAsPrimitiveType,
+	notation::Shape::fromSysML11SignalAsSignal,
+	notation::Shape::fromSysML11UnitAsInstanceSpecification,
+	notation::Shape::fromSysML11ValueTypeAsDataType,
+	notation::Shape::fromSysML11DefaultShape,
+	notation::Node::fromSysML11EnumerationLiteralAsEnumerationLiteral,
+	notation::Node::fromSysML11OperationAsOperation,
+	notation::Node::fromSysML11PropertyAsProperty,
+	notation::Node::fromSysML11ReceptionAsReception
+{}
+
+mapping notation::Shape::fromSysML11ActorAsClass(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = ACTOR_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isAttributeCompartmentExist:Boolean := false;
+	var isOperationCompartmentExist:Boolean := false;
+	var isShapeCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LABEL_DECORATIONNODE_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = PROPERTY_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_ATTRIBUTE_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isAttributeCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = OPERATION_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_OPERATION_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_OPERATION_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isOperationCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			isShapeCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := CLASS_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_SYSML14);
+		};
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+		
+	} else {
+		type := CLASS_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_CN_SYSML14);
+		};
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+	
+	children += createDefaultCompartement(FLOWPORTS_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(CONSTRAINTS_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(PARTS_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(PROXYPORTS_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(FULLPORTS_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(REFERENCES_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(FLOWPROPERTIES_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(PARAMETERS_COMPARTMENT_SYSML14);
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11AffixedPortAsAffixedPort(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and ((self.type = PORT_AS_AFFIXED_SYSML11) or (self.type = FLOWPORT_AS_AFFIXED_SYSML11))} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isBorderItemLabelDecorationNodeExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = AFFIXED_PORT_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := OPERATION_BODERITEM_LABEL_COMPARTMENT_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isBorderItemLabelDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = AFFIXED_FLOWPORT_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := OPERATION_BODERITEM_LABEL_COMPARTMENT_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isBorderItemLabelDecorationNodeExist := true;
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	type := CLASS_PORT_SYSML14;
+	
+	if(not isBorderItemLabelDecorationNodeExist){
+		var borderItemLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(OPERATION_BODERITEM_LABEL_COMPARTMENT_SYSML14);
+		borderItemLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		borderItemLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+		children += borderItemLabel;
+	};
+}
+
+mapping notation::Shape::fromSysML11BlockAsClass(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = BLOCK_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isAttributeCompartmentExist:Boolean := false;
+	var isOperationCompartmentExist:Boolean := false;
+	var isPartsCompartmentExist:Boolean := false;
+	var isReferencesCompartmentExist:Boolean := false;
+	var isFlowPortsCompartmentExist:Boolean := false;
+	var isConstraintsCompartmentExist:Boolean := false;
+	var isFullPortsCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = LABEL_BLOCK_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = PROPERTY_SYSML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_ATTRIBUTE_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isAttributeCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = OPERATION_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_OPERATION_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_OPERATION_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isOperationCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		} elif (existingChild.type = PART_COMPARTMENT_SYSML11) {
+			var createPartsCompartment:notation::Compartment := createDefaultCompartement(PARTS_COMPARTMENT_SYSML14);
+			isPartsCompartmentExist := true;
+			// Check if the title EAnnotation exist, if this is the case, modify the show title
+			createPartsCompartment.eAnnotations += manageShowTitleEAnnotationAsCompartmentAttribute(createPartsCompartment, existingChild);
+			createPartsCompartment.children := existingChild.children->map fromSysML11Shape(result);
+			children += createPartsCompartment;
+		} elif (existingChild.type = REFERENCE_COMPARTMENT_SYSML11) {
+			var createReferencesCompartment:notation::Compartment := createDefaultCompartement(REFERENCES_COMPARTMENT_SYSML14);
+			isReferencesCompartmentExist := true;
+			// Check if the title EAnnotation exist, if this is the case, modify the show title
+			createReferencesCompartment.eAnnotations += manageShowTitleEAnnotationAsCompartmentAttribute(createReferencesCompartment, existingChild);
+			createReferencesCompartment.children := existingChild.children->map fromSysML11Shape(result);
+			children += createReferencesCompartment;
+		} elif (existingChild.type = FLOWPORT_COMPARTMENT_SYSML11) {
+			var createFlowPortsCompartment:notation::Compartment := createDefaultCompartement(FLOWPORTS_COMPARTMENT_SYSML14);
+			isFlowPortsCompartmentExist := true;
+			// Check if the title EAnnotation exist, if this is the case, modify the show title
+			createFlowPortsCompartment.eAnnotations += manageShowTitleEAnnotationAsCompartmentAttribute(createFlowPortsCompartment, existingChild);
+			createFlowPortsCompartment.children := existingChild.children->map fromSysML11Shape(result);
+			children += createFlowPortsCompartment;
+		} elif (existingChild.type = CONSTRAINT_COMPARTMENT_SYSML11) {
+			var createConstraintsCompartment:notation::Compartment := createDefaultCompartement(CONSTRAINTS_COMPARTMENT_SYSML14);
+			isConstraintsCompartmentExist := true;
+			// Check if the title EAnnotation exist, if this is the case, modify the show title
+			createConstraintsCompartment.eAnnotations += manageShowTitleEAnnotationAsCompartmentAttribute(createConstraintsCompartment, existingChild);
+			createConstraintsCompartment.children := existingChild.children->map fromSysML11Shape(result);
+			children += createConstraintsCompartment;
+		} elif (existingChild.type = PORTS_COMPARTMENT_SYSML11) {
+			var createConstraintsCompartment:notation::Compartment := createDefaultCompartement(FULLPORTS_COMPARTMENT_SYSML14);
+			isFullPortsCompartmentExist := true;
+			// Check if the title EAnnotation exist, if this is the case, modify the show title
+			createConstraintsCompartment.eAnnotations += manageShowTitleEAnnotationAsCompartmentAttribute(createConstraintsCompartment, existingChild);
+			createConstraintsCompartment.children := existingChild.children->map fromSysML11Shape(result);
+			children += createConstraintsCompartment;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := CLASS_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_SYSML14);
+		};
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+		
+	} else {
+		type := CLASS_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_CN_SYSML14);
+		};
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+	
+	if(not isFlowPortsCompartmentExist){
+		children += createDefaultCompartement(FLOWPORTS_COMPARTMENT_SYSML14);
+	};
+	if(not isConstraintsCompartmentExist){
+		var constraintsCompartment:notation::Compartment := createDefaultCompartement(CONSTRAINTS_COMPARTMENT_SYSML14);
+		constraintsCompartment.visible := false;
+		children += constraintsCompartment;
+	};
+	if(not isPartsCompartmentExist){
+		children += createDefaultCompartement(PARTS_COMPARTMENT_SYSML14);
+	};
+	children += createDefaultCompartement(PROXYPORTS_COMPARTMENT_SYSML14);
+	if(not isFullPortsCompartmentExist){
+		children += createDefaultCompartement(FULLPORTS_COMPARTMENT_SYSML14);
+	};
+	if(not isReferencesCompartmentExist){
+		children += createDefaultCompartement(REFERENCES_COMPARTMENT_SYSML14);
+	};
+	children += createDefaultCompartement(FLOWPROPERTIES_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(PARAMETERS_COMPARTMENT_SYSML14);
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	// If the stereotype label decoration node and stereotype brace basic compartment are not available, create it
+	if(result.children[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE).oclIsUndefined()){
+		createStereotypeLabelDecorationNode(result, BLOCK_STEREOTYPE_QN);
+	};
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	if(result.children[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT).oclIsUndefined()){
+		createStereotypeBraceBasicCompartment(result, BLOCK_STEREOTYPE_QN);
+	};
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	
+	// Manage affixed ports
+	children += existingChildren[notation::Shape]->map fromSysML11AffixedPortAsAffixedPort(result);
+}
+
+mapping notation::Shape::fromSysML11ConstraintBlockAsClass(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = CONSTRAINTBLOCK_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isParametersCompartmentExist:Boolean := false;
+	var isConstraintsCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = CONTRAINTBLOCK_LABEL_DECORATIONNODE_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		} elif (existingChild.type = PARAMETER_COMPARTMENT_SYSML11) {
+			var createParametersCompartment:notation::Compartment := createDefaultCompartement(PARAMETERS_COMPARTMENT_SYSML14);
+			isParametersCompartmentExist := true;
+			// Check if the title EAnnotation exist, if this is the case, modify the show title
+			createParametersCompartment.eAnnotations += manageShowTitleEAnnotationAsCompartmentAttribute(createParametersCompartment, existingChild);
+			createParametersCompartment.children := existingChild.children->map fromSysML11Shape(result);
+			children += createParametersCompartment;
+		} elif (existingChild.type = CONSTRAINT_COMPARTMENT_SYSML11) {
+			var createConstraintsCompartment:notation::Compartment := createDefaultCompartement(CONSTRAINTS_COMPARTMENT_SYSML14);
+			isConstraintsCompartmentExist := true;
+			// Check if the title EAnnotation exist, if this is the case, modify the show title
+			createConstraintsCompartment.eAnnotations += manageShowTitleEAnnotationAsCompartmentAttribute(createConstraintsCompartment, existingChild);
+			createConstraintsCompartment.children := existingChild.children->map fromSysML11Shape(result);
+			children += createConstraintsCompartment;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := CLASS_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+		
+	} else {
+		type := CLASS_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+	
+	
+	children += createDefaultCompartement(FLOWPORTS_COMPARTMENT_SYSML14);
+	if(not isConstraintsCompartmentExist){
+		children += createDefaultCompartement(CONSTRAINTS_COMPARTMENT_SYSML14);
+	};
+	children += createDefaultCompartement(PARTS_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(PROXYPORTS_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(FULLPORTS_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(REFERENCES_COMPARTMENT_SYSML14);
+	children += createDefaultCompartement(FLOWPROPERTIES_COMPARTMENT_SYSML14);
+	if(not isParametersCompartmentExist){
+		children += createDefaultCompartement(PARAMETERS_COMPARTMENT_SYSML14);
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	// If the stereotype label decoration node and stereotype brace basic compartment are not available, create it
+	if(result.children[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE).oclIsUndefined()){
+		createStereotypeLabelDecorationNode(result, CONSTRAINTBLOCK_STEREOTYPE_QN);
+	};
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	if(result.children[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT).oclIsUndefined()){
+		createStereotypeBraceBasicCompartment(result, CONSTRAINTBLOCK_STEREOTYPE_QN);
+	};
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	
+	// Manage affixed ports
+	children += existingChildren[notation::Shape]->map fromSysML11AffixedPortAsAffixedPort(result);
+}
+
+mapping notation::Shape::fromSysML11DataTypeAsDataType(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = DATATYPE_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isAttributeCompartmentExist:Boolean := false;
+	var isOperationCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LABEL_DECORATIONNODE_SYSML11) {
+			if (isCN) {
+				existingChild.type := DATATYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := DATATYPE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = PROPERTY_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := DATATYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := DATATYPE_ATTRIBUTE_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isAttributeCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = OPERATION_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := DATATYPE_OPERATION_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := DATATYPE_OPERATION_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isOperationCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := DATATYPE_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(DATATYPE_ATTRIBUTE_COMPARTMENT_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(DATATYPE_OPERATION_COMPARTMENT_SYSML14);
+		};
+		
+	} else {
+		type := DATATYPE_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(DATATYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(DATATYPE_OPERATION_COMPARTMENT_CN_SYSML14);
+		};
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11DimensionAsInstanceSpecification(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = DIMENSION_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	styles := object OrderedSet(notation::Style){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := INSTANCESPECIFICATION_SHAPE_SYSML14;
+		
+		children += createDefaultNameLabelDecorationNode(INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		children += createDefaultBasicCompartement(INSTANCESPECIFICATION_SLOP_COMPARTMENT_SYSML14);
+		
+	} else {
+		type := INSTANCESPECIFICATION_SHAPE_CN_SYSML14;
+		
+		children += createDefaultNameLabelDecorationNode(INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		children += createDefaultBasicCompartement(INSTANCESPECIFICATION_SLOP_COMPARTMENT_SYSML14);
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11EnumerationAsEnumeration(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = ENUMERATION_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isLiteralCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LABEL_DECORATIONNODE_SYSML11) {
+			if (isCN) {
+				existingChild.type := ENUMERATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := ENUMERATION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = ENUMERATIONLITERAL_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := ENUMERATION_LITERAL_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := ENUMERATION_LITERAL_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isLiteralCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := ENUMERATION_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(ENUMERATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(ENUMERATION_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isLiteralCompartmentExist){
+			children += createDefaultBasicCompartement(ENUMERATION_LITERAL_COMPARTMENT_SYSML14);
+		};
+		
+	} else {
+		type := ENUMERATION_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(ENUMERATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(ENUMERATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isLiteralCompartmentExist){
+			children += createDefaultBasicCompartement(ENUMERATION_LITERAL_COMPARTMENT_CN_SYSML14);
+		};
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11FlowSpecificationAsClass(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = FLOWSPECIFICATION_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isFlowPropertiesCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = FLOWSEPCIFICATION_LABEL_DECORATIONNODE_SYSML11) {
+			if (isCN) {
+				existingChild.type := INTERFACE_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := INTERFACE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = FLOWPROPERTY_COMPARTMENT_SYSML11) {
+			var createFlowPropertiesCompartment:notation::Compartment := createDefaultCompartement(FLOWPROPERTIES_COMPARTMENT_SYSML14);
+			isFlowPropertiesCompartmentExist := true;
+			// Check if the title EAnnotation exist, if this is the case, modify the show title
+			createFlowPropertiesCompartment.eAnnotations += manageShowTitleEAnnotationAsCompartmentAttribute(createFlowPropertiesCompartment, existingChild);
+			createFlowPropertiesCompartment.children := existingChild.children->map fromSysML11Shape(result);
+			setPapyrusCSSForceValueVisible(createFlowPropertiesCompartment, TRUE);
+			children += createFlowPropertiesCompartment;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := INTERFACE_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		children += createDefaultBasicCompartement(INTERFACE_ATTRIBUTE_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(INTERFACE_OPERATION_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+		
+	} else {
+		type := INTERFACE_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		children += createDefaultBasicCompartement(INTERFACE_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(INTERFACE_OPERATION_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+	if (not isFlowPropertiesCompartmentExist) {
+		children += createDefaultCompartement(FLOWPROPERTIES_COMPARTMENT_SYSML14);
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	// If the stereotype label decoration node and stereotype brace basic compartment are not available, create it
+	if(result.children[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE).oclIsUndefined()){
+		createStereotypeLabelDecorationNode(result, FLOWSPECIFICATION_STEREOTYPE_QN);
+	};
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	if(result.children[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT).oclIsUndefined()){
+		createStereotypeBraceBasicCompartment(result, FLOWSPECIFICATION_STEREOTYPE_QN);
+	};
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11InterfaceAsInterface(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = INTERFACE_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isAttributeCompartmentExist:Boolean := false;
+	var isOperationCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LABEL_DECORATIONNODE_SYSML11) {
+			if (isCN) {
+				existingChild.type := INTERFACE_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := INTERFACE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = PROPERTY_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := INTERFACE_ATTRIBUTE_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := INTERFACE_ATTRIBUTE_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isAttributeCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = OPERATION_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := INTERFACE_OPERATION_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := INTERFACE_OPERATION_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isOperationCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := INTERFACE_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(INTERFACE_ATTRIBUTE_COMPARTMENT_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(INTERFACE_OPERATION_COMPARTMENT_SYSML14);
+		};
+		children += createDefaultBasicCompartement(INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+	} else {
+		type := INTERFACE_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(INTERFACE_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(INTERFACE_OPERATION_COMPARTMENT_CN_SYSML14);
+		};
+		children += createDefaultBasicCompartement(INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+	
+	children += createDefaultCompartement(FLOWPROPERTIES_COMPARTMENT_SYSML14);
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11PrimitiveTypeAsPrimitiveType(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = PRIMITIVETYPE_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LABEL_DECORATIONNODE_SYSML11) {
+			if (isCN) {
+				existingChild.type := PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := PRIMITIVETYPE_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(PRIMITIVETYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		children += createDefaultBasicCompartement(PRIMITIVETYPE_ATTRIBUTE_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(PRIMITIVETYPE_OPERATION_COMPARTMENT_SYSML14);
+		
+	} else {
+		type := PRIMITIVETYPE_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(PRIMITIVETYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		children += createDefaultBasicCompartement(PRIMITIVETYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(PRIMITIVETYPE_OPERATION_COMPARTMENT_CN_SYSML14);
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+
+
+mapping notation::Shape::fromSysML11SignalAsSignal(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = SIGNAL_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isAttributeCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LABEL_DECORATIONNODE_SYSML11) {
+			if (isCN) {
+				existingChild.type := SIGNAL_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := SIGNAL_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = PROPERTY_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := SIGNAL_ATTRIBUTE_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := SIGNAL_ATTRIBUTE_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isAttributeCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := SIGNAL_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(SIGNAL_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(SIGNAL_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(SIGNAL_ATTRIBUTE_COMPARTMENT_SYSML14);
+		};
+		
+	} else {
+		type := SIGNAL_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(SIGNAL_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(SIGNAL_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(SIGNAL_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		};
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11UnitAsInstanceSpecification(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = UNIT_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	styles := object OrderedSet(notation::Style){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := INSTANCESPECIFICATION_SHAPE_SYSML14;
+		
+		children += createDefaultNameLabelDecorationNode(INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		children += createDefaultBasicCompartement(INSTANCESPECIFICATION_SLOP_COMPARTMENT_SYSML14);
+		
+	} else {
+		type := INSTANCESPECIFICATION_SHAPE_CN_SYSML14;
+		
+		children += createDefaultNameLabelDecorationNode(INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		children += createDefaultBasicCompartement(INSTANCESPECIFICATION_SLOP_COMPARTMENT_CN_SYSML14);
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11ValueTypeAsDataType(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = VALUETYPE_AS_CLASSIFIER_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isAttributeCompartmentExist:Boolean := false;
+	var isOperationCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = VALUETYPE_NAME_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := DATATYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := DATATYPE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = PROPERTY_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := DATATYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := DATATYPE_ATTRIBUTE_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isAttributeCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = OPERATION_UML_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := DATATYPE_OPERATION_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := DATATYPE_OPERATION_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isOperationCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := DATATYPE_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(DATATYPE_ATTRIBUTE_COMPARTMENT_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(DATATYPE_OPERATION_COMPARTMENT_SYSML14);
+		};
+		
+	} else {
+		type := DATATYPE_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isAttributeCompartmentExist){
+			children += createDefaultBasicCompartement(DATATYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		};
+		if(not isOperationCompartmentExist){
+			children += createDefaultBasicCompartement(DATATYPE_OPERATION_COMPARTMENT_CN_SYSML14);
+		};
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Node::fromSysML11EnumerationLiteralAsEnumerationLiteral(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Node) and self.type = ENUMERATIONLITERAL_AS_LABEL_SYSML11} {
+
+	// Initialize the new shape fields
+	eAnnotations := self.eAnnotations;
+	visible := self.visible;
+	mutable := self.mutable;
+	sourceEdges := self.sourceEdges;
+	targetEdges := self.targetEdges;
+	styles := self.styles;
+	element := self.element;
+	transientChildren := self.transientChildren;
+	layoutConstraint := self.layoutConstraint;
+	
+	// Manage type
+	type := ENUMERATIONLITERAL_LITERALLABEL_DECORATIONNODE_SYSML14;
+	
+	children := self.children->map fromSysML11Shape(result);
+}
+
+mapping notation::Node::fromSysML11OperationAsOperation(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Node) and self.type = OPERATION_AS_LABEL_SYSML11} {
+
+	// Initialize the new shape fields
+	eAnnotations := self.eAnnotations;
+	visible := self.visible;
+	mutable := self.mutable;
+	sourceEdges := self.sourceEdges;
+	targetEdges := self.targetEdges;
+	styles := self.styles;
+	element := self.element;
+	transientChildren := self.transientChildren;
+	layoutConstraint := self.layoutConstraint;
+	
+	// Manage type
+	if (parent.element.oclIsKindOf(UML::PrimitiveType)) {
+		type := OPERATION_PRIMITIVETYPEOPERATIONLABEL_SYSML14;
+	} elif (parent.element.oclIsKindOf(UML::DataType)) {
+		type := OPERATION_DATATYPEOPERATIONLABEL_SYSML14;
+	} elif (parent.element.oclIsKindOf(UML::Interface)) {
+		type := OPERATION_INTERFACEOPERATIONLABEL_SYSML14;
+	} elif (parent.element.oclIsKindOf(UML::Class)) {
+		type := OPERATION_CLASSOPERATIONLABEL_SYSML14;
+	} else {
+		type := OPERATION_OPERATIONLABEL_SYSML14;
+	};
+	
+	children := self.children->map fromSysML11Shape(result);
+}
+
+mapping notation::Node::fromSysML11PropertyAsProperty(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Node) and 
+	((self.type = PROPERTY_AS_LABEL_SYSML11)
+	or (self.type = CONSTRAINTPROPERTY_AS_LABEL_SYSML11)
+	or (self.type = FLOWPORT_AS_LABEL_SYSML11)
+	or (self.type = FLOWPROPERTY_AS_LABEL_SYSML11)
+	or (self.type = PART_AS_LABEL_SYSML11)
+	or (self.type = REFERENCE_AS_LABEL_SYSML11)
+	or (self.type = VALUE_AS_LABEL_SYSML11))} {
+
+	// Initialize the new shape fields
+	eAnnotations := self.eAnnotations;
+	visible := self.visible;
+	mutable := self.mutable;
+	sourceEdges := self.sourceEdges;
+	targetEdges := self.targetEdges;
+	styles := self.styles;
+	element := self.element;
+	transientChildren := self.transientChildren;
+	layoutConstraint := self.layoutConstraint;
+	
+	// Manage type
+	if (parent.element.oclIsKindOf(UML::Signal)) {
+		type := PROPERTY_SIGNALATTRIBUTELABEL_SYSML14;
+	} elif (parent.element.oclIsKindOf(UML::PrimitiveType)) {
+		type := PROPERTY_PRIMITIVETYPEATTRIBUTELABEL_SYSML14;
+	} elif (parent.element.oclIsKindOf(UML::DataType)) {
+		type := PROPERTY_DATATYPEATTRIBUTELABEL_SYSML14;
+	} elif (parent.element.oclIsKindOf(UML::Interface)) {
+		type := PROPERTY_INTERFACEATTRIBUTELABEL_SYSML14;
+	} elif (parent.element.oclIsKindOf(UML::Class)) {
+		type := PROPERTY_CLASSATTRIBUTELABEL_SYSML14;
+	} else {
+		type := PROPERTY_ATTRIBUTELABEL_SYSML14;
+	};
+	
+	children := self.children->map fromSysML11Shape(result);
+}
+
+mapping notation::Node::fromSysML11ReceptionAsReception(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Node) and self.type = RECEPTION_AS_LABEL_SYSML11} {
+
+	// Initialize the new shape fields
+	eAnnotations := self.eAnnotations;
+	visible := self.visible;
+	mutable := self.mutable;
+	sourceEdges := self.sourceEdges;
+	targetEdges := self.targetEdges;
+	styles := self.styles;
+	element := self.element;
+	transientChildren := self.transientChildren;
+	layoutConstraint := self.layoutConstraint;
+	
+	// Manage type
+	if (parent.element.oclIsKindOf(UML::Interface)) {
+		type := RECEPTION_INTERFACERECEPTIONLABEL_SYSML14;
+	} else {
+		type := RECEPTION_RECEPTIONLABEL_SYSML14;
+	};
+	
+	children := self.children->map fromSysML11Shape(result);
+}
+
+mapping notation::Shape::fromSysML11PackageShapeAsModel(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.element.oclIsKindOf(UML::Model)} {
+	init {
+		result := self;
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var typeLabel:String = MODEL_SHAPE_SYSML14;
+	var modelNameLabel:String := MODEL_NAME_LABEL_DECORATIONNODE_SYSML14;
+	var modelPackagedElementCompartment:String := MODEL_PACKAGEDELEMENT_COMPARTMENT_SYSML14;
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (isCN) {
+		typeLabel := MODEL_SHAPE_CN_SYSML14;
+		modelNameLabel := MODEL_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+		modelPackagedElementCompartment:= MODEL_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14;
+	};
+	
+	type := typeLabel;
+	
+	if(self.type = NAMEDELEMENT_DEFAULTSHAPE){
+		children += createDefaultNameLabelDecorationNode(modelNameLabel);
+		var packageElementCompartment:notation::BasicCompartment := createDefaultBasicCompartement(modelPackagedElementCompartment);
+		packageElementCompartment.styles += object notation::TitleStyle{};
+		packageElementCompartment.layoutConstraint := object notation::Bounds{};
+		children += packageElementCompartment;
+	}else{
+		// Search if the packaged element compartment is existing
+		existingChildren->forEach(existingChild){
+			if (existingChild.type = PACKAGE_NAME_LABEL_DECORATIONNODE_SYSML14 or existingChild.type = PACKAGE_NAME_LABEL_DECORATIONNODE_CN_SYSML14) {
+				existingChild.type := modelNameLabel;
+				setPapyrusCSSForceValueVisible(existingChild, TRUE);
+				children += existingChild;
+			} elif (existingChild.type = PACKAGE_PACKAGEDELEMENT_COMPARTMENT_SYSML14 or existingChild.type = PACKAGE_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14) {
+				existingChild.type := modelPackagedElementCompartment;
+				setPapyrusCSSForceValueVisible(existingChild, TRUE);
+				setShowTitle(existingChild, true);
+				// Map the existing children shapes
+				existingChild.children := existingChild.children->map fromSysML11Shape(result);
+				children += existingChild;
+			} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+				children += existingChild;
+			};
+		};
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11PackageShapeAsPackage(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = PACKAGE_SHAPE_SYSML14 and self.element.oclIsKindOf(UML::Package)} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	children := existingChildren->map fromSysML11Shape(result);
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// Search if the packaged element compartment is existing
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = PACKAGE_PACKAGEDELEMENT_COMPARTMENT_SYSML14 or existingChild.type = PACKAGE_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14) {
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Map the existing children shapes
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+		}
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+}
+
+mapping notation::Shape::fromSysML11StereotypeComment(parent:notation::View) : notation::Shape when {self.type = STEREOTYPE_COMMENT} {
+	init {
+		result := self;
+	}
+	
+	childrenToRemove += result;
+}
+
+mapping notation::Shape::fromSysML11DefaultShape(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape)} {
+	init {
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+	}
+}
+
+mapping notation::BasicCompartment::fromSysML11BasicCompartment(parent:notation::View) : notation::BasicCompartment disjuncts
+	notation::BasicCompartment::fromSysML11StereotypeBraceAndCompartment,
+	notation::BasicCompartment::fromSysML11BasicCompartmentDefault
+{}
+
+mapping notation::BasicCompartment::fromSysML11BasicCompartmentDefault(parent:notation::View) : notation::BasicCompartment when {self.oclIsTypeOf(notation::BasicCompartment) and self.type <> REQUIREMENT_IDINFO_COMPARTMENT_SYSML11}{
+	init{
+		result := self;
+		setPapyrusCSSForceValueVisible(result, TRUE);
+	}
+}
+
+mapping notation::BasicCompartment::fromSysML11StereotypeBraceAndCompartment(parent:notation::View) : notation::BasicCompartment when {self.oclIsTypeOf(notation::BasicCompartment) and (self.type = STEREOTYPE_BRACE_COMPARTMENT or self.type = STEREOTYPE_COMPARTMENT_COMPARTMENT) }{
+	init{
+		result := self;
+		if(self.element.oclIsKindOf(UML::Stereotype)){
+			var stereotype:UML::Stereotype := self.element.oclAsType(UML::Stereotype).toSysML14Stereotype(inS14Profile.objectsOfType(UML::Stereotype));
+			if (stereotype.oclIsUndefined()) {
+				// The stereotype was not find in SysML1.4, remove the compartment
+				childrenToRemove += result;
+			} else {
+				result.element := stereotype.oclAsType(ecore::EObject);
+			}
+		};
+	}
+}
+
+mapping notation::DecorationNode::fromSysML11DecorationNode(parent:notation::View) : notation::DecorationNode disjuncts
+	notation::DecorationNode::fromSysML11StereotypeLabel,
+	notation::DecorationNode::fromSysML11DecorationNodeDefault
+{}
+
+mapping notation::DecorationNode::fromSysML11StereotypeLabel(parent:notation::View) : notation::DecorationNode when {self.oclIsTypeOf(notation::DecorationNode) and self.type = STEREOTYPE_LABEL_DECORATION_NODE}{
+	init{
+		result := self;
+		if(self.element.oclIsKindOf(UML::Stereotype)){
+			var stereotype:UML::Stereotype := self.element.oclAsType(UML::Stereotype).toSysML14Stereotype(inS14Profile.objectsOfType(UML::Stereotype));
+			if (stereotype.oclIsUndefined()) {
+				// The stereotype was not find in SysML1.4, remove the decoration node
+				childrenToRemove += result;
+			} else {
+				result.element := stereotype.oclAsType(ecore::EObject);
+			}
+		};
+	}
+}
+
+mapping notation::DecorationNode::fromSysML11DecorationNodeDefault(parent:notation::View) : notation::DecorationNode when {self.oclIsTypeOf(notation::DecorationNode)} {
+	init{
+		result := self;
+		setPapyrusCSSForceValueVisible(result, TRUE);
+		setShowTitle(result, true);
+	}
+}
+
+// Helpers to create stereotypes decoration nodes and compartments
+helper createStereotypeLabelDecorationNode(inout parent:notation::View, stereotypeQualifiedName:String){
+	var stereotypeElement:UML::Stereotype := inS14Profile.objectsOfType(UML::Stereotype)->any(curr | curr.getQualifiedName()=stereotypeQualifiedName);
+	if(not stereotypeElement.oclIsUndefined()){
+		var createdStereotypeLabelDecorationNode:notation::DecorationNode := object DecorationNode{
+			type := STEREOTYPE_LABEL_DECORATION_NODE;
+			styles += object notation::StringValueStyle{
+				name := "stereotype";
+				stringValue := stereotypeQualifiedName;
+			};
+			layoutConstraint := object notation::Bounds{};
+			element := stereotypeElement.oclAsType(ecore::EObject);
+		};
+		parent.children += createdStereotypeLabelDecorationNode;
+	};
+}
+
+helper createStereotypeBraceBasicCompartment(inout parent:notation::View, stereotypeQualifiedName:String){
+	var stereotypeElement:UML::Stereotype := inS14Profile.objectsOfType(UML::Stereotype)->any(curr | curr.getQualifiedName()=stereotypeQualifiedName);
+	if(not stereotypeElement.oclIsUndefined()){
+		var createdStereotypeBraceBasicCompartment:notation::BasicCompartment := object BasicCompartment{
+			type := STEREOTYPE_BRACE_COMPARTMENT;
+			styles += object notation::TitleStyle{};
+			styles += object notation::StringValueStyle{
+				name := "stereotype";
+				stringValue := stereotypeQualifiedName;
+			};
+			layoutConstraint := object notation::Bounds{};
+			element := stereotypeElement.oclAsType(ecore::EObject);
+		};
+		parent.children += createdStereotypeBraceBasicCompartment;
+	};
+}
+
+// Edges management
+mapping notation::Edge::fromSysML11Edge() : notation::Edge disjuncts
+	notation::Edge::fromSysML11StereotypeCommentLink,
+	notation::Edge::fromSysML11AssociationAsAssociation,
+	notation::Edge::fromSysML11DependencyAsDependency,
+	notation::Edge::fromSysML11GeneralizationAsGeneralization,
+	notation::Edge::fromSysML11InterfaceRealizationAsInterfaceRealization,
+	notation::Edge::fromSysML11UsageAsUsage,
+	notation::Edge::fromSysML11DefaultEdge
+{}
+
+mapping notation::Edge::fromSysML11AssociationAsAssociation() : notation::Edge when {((self.type = LINK_SYSML_ASSOCIATION_SYSML11) or (self.type = LINK_UML_ASSOCIATION_SYSML11))} {
+	init {
+		result := self;
+	}
+	type := ASSOCIATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	var isSourceRoleCompartmentExist:Boolean := false;
+	var isSourceMultiplicityCompartmentExist:Boolean := false;
+	var isTargetRoleCompartmentExist:Boolean := false;
+	var isTargetMultiplicityCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := ASSOCIATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := ASSOCIATION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = ASSOCIATION_SOURCE_ROLE_DECORATIONODE_SYSML11) {
+			existingChild.type := ASSOCIATION_SOURCEROLE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isSourceRoleCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = ASSOCIATION_SOURCE_MULTIPLICITY_DECORATIONODE_SYSML11) {
+			existingChild.type := ASSOCIATION_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isSourceMultiplicityCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = ASSOCIATION_TARGET_ROLE_DECORATIONODE_SYSML11) {
+			existingChild.type := ASSOCIATION_TARGETROLE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isTargetRoleCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = ASSOCIATION_TARGET_MULTIPLICITY_DECORATIONODE_SYSML11) {
+			existingChild.type := ASSOCIATION_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isTargetMultiplicityCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var associationNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		associationNameLabel.layoutConstraint.oclAsType(notation::Location).y := 20;
+		children += associationNameLabel;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var associationStereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		associationStereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -20;
+		children += associationStereotypeLabel;
+	};
+	if(not isSourceRoleCompartmentExist){
+		var associationNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_SOURCEROLE_LABEL_DECORATIONNODE_SYSML14);
+		associationNameLabel.layoutConstraint.oclAsType(notation::Location).y := 20;
+		children += associationNameLabel;
+	};
+	if(not isSourceMultiplicityCompartmentExist){
+		var associationStereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14);
+		associationStereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := 20;
+		children += associationStereotypeLabel;
+	};
+	if(not isTargetRoleCompartmentExist){
+		var associationNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_TARGETROLE_LABEL_DECORATIONNODE_SYSML14);
+		associationNameLabel.layoutConstraint.oclAsType(notation::Location).y := -20;
+		children += associationNameLabel;
+	};
+	if(not isTargetMultiplicityCompartmentExist){
+		var associationStereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14);
+		associationStereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -20;
+		children += associationStereotypeLabel;
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsDependency() : notation::Edge when {self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := DEPENDENCY_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += stereotypeLabelDecorationNode;
+	};
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += nameLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11GeneralizationAsGeneralization() : notation::Edge when {self.type = LINK_UML_GENERALIZATION_SYSML11} {
+	init {
+		result := self;
+	}
+	type := GENERALIZATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := GENERALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(GENERALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11InterfaceRealizationAsInterfaceRealization() : notation::Edge when {self.type = LINK_UML_INTERFACEREALIZATION_SYSML11} {
+	init {
+		result := self;
+	}
+	type := INTERFACEREALIZATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := INTERFACEREALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := INTERFACEREALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(INTERFACEREALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += stereotypeLabelDecorationNode;
+	};
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(INTERFACEREALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += nameLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11UsageAsUsage() : notation::Edge when {self.type = LINK_UML_USAGE_SYSML11} {
+	init {
+		result := self;
+	}
+	type := USAGE_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := USAGE_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := USAGE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(USAGE_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += stereotypeLabelDecorationNode;
+	};
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(USAGE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += nameLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11StereotypeCommentLink() : notation::Edge when {self.type = STEREOTYPE_COMMENT_LINK} {
+	init {
+		result := self;
+	}
+	
+	childrenToRemove += result;
+}
+
+mapping notation::Edge::fromSysML11DefaultEdge() : notation::Edge {
+	init {
+		result := self;
+	}
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLDiagramsConstants.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLDiagramsConstants.qvto
new file mode 100644
index 0000000..326c1a3
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLDiagramsConstants.qvto
@@ -0,0 +1,627 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+ 
+/**
+* This file provides constants for transformations.
+*/
+library SysMLDiagramsConstants;
+
+//
+// Some needed for graphical objects
+//
+property DIAGRAM_COMPATIBILITY_VERSION:String = "diagram_compatibility_version";
+
+property PAPYRUS_CSS_FORCE_VALUE:String = "PapyrusCSSForceValue";
+
+property SHOW_TITLE:String = "showTitle";
+
+property VISIBLE:String = "visible";
+
+property TRUE:String = "true";
+
+property FALSE:String = "false";
+
+//
+// SysML Stereotypes qualified names
+//
+property BLOCK_STEREOTYPE_QN:String = "SysML::Blocks::Block";
+
+property CONSTRAINTBLOCK_STEREOTYPE_QN:String = "SysML::ConstraintBlocks::ConstraintBlock";
+
+property FLOWSPECIFICATION_STEREOTYPE_QN:String = "SysML::DeprecatedElements::FlowSpecification";
+
+//
+// Shapes and edges
+//
+property NAMEDELEMENT_DEFAULTSHAPE:String = "NamedElement_DefaultShape";
+
+property ASSOCIATIONCLASS_SHAPE_SYSML14:String = "AssociationClass_Shape";
+
+property ASSOCIATIONCLASS_SHAPE_CN_SYSML14:String = "AssociationClass_Shape_CN";
+
+property CLASS_PORT_SYSML14:String = "Class_Port";
+
+property CLASS_SHAPE_SYSML14:String = "Class_Shape";
+
+property CLASS_SHAPE_CN_SYSML14:String = "Class_Shape_CN";
+
+property COMMENT_SHAPE_SYSML14:String = "Comment_Shape";
+
+property COMMENT_SHAPE_CN_SYSML14:String = "Comment_Shape_CN";
+
+property COMPONENT_SHAPE_SYSML14:String = "Component_Shape";
+
+property COMPONENT_SHAPE_CN_SYSML14:String = "Component_Shape_CN";
+
+property CONSTRAINTPACKAGEELEMENT_SHAPE_SYSML14:String = "Constraint_PackagedElementShape";
+
+property CONSTRAINTPACKAGEELEMENT_SHAPE_CN_SYSML14:String = "Constraint_PackagedElementShape_CN";
+
+property CONSTRAINTPROPERTYCOMPOSITE_SHAPE_SYSML14:String = "ConstraintPropertyComposite";
+
+property DATATYPE_SHAPE_SYSML14:String = "DataType_Shape";
+
+property DATATYPE_SHAPE_CN_SYSML14:String = "DataType_Shape_CN";
+
+property DURATIONOBSERVATION_SHAPE_SYSML14:String = "DurationObservation_Shape";
+
+property DURATIONOBSERVATION_SHAPE_CN_SYSML14:String = "DurationObservation_Shape_CN";
+
+property ENUMERATION_SHAPE_SYSML14:String = "Enumeration_Shape";
+
+property ENUMERATION_SHAPE_CN_SYSML14:String = "Enumeration_Shape_CN";
+
+property INFORMATIONITEM_SHAPE_SYSML14:String = "InformationItem_Shape";
+
+property INFORMATIONITEM_SHAPE_CN_SYSML14:String = "InformationItem_Shape_CN";
+
+property INSTANCESPECIFICATION_SHAPE_SYSML14:String = "InstanceSpecification_Shape";
+
+property INSTANCESPECIFICATION_SHAPE_CN_SYSML14:String = "InstanceSpecification_Shape_CN";
+
+property INTERFACE_SHAPE_SYSML14:String = "Interface_Shape";
+
+property INTERFACE_SHAPE_CN_SYSML14:String = "Interface_Shape_CN";
+
+property MODEL_SHAPE_SYSML14:String = "Model_Shape";
+
+property MODEL_SHAPE_CN_SYSML14:String = "Model_Shape_CN";
+
+property OPERATION_OPERATIONLABEL_SYSML14:String = "Operation_OperationLabel";
+
+property OPERATION_CLASSOPERATIONLABEL_SYSML14:String = "Operation_ClassOperationLabel";
+
+property OPERATION_DATATYPEOPERATIONLABEL_SYSML14:String = "Operation_DataTypeOperationLabel";
+
+property OPERATION_INTERFACEOPERATIONLABEL_SYSML14:String = "Operation_InterfaceOperationLabel";
+
+property OPERATION_PRIMITIVETYPEOPERATIONLABEL_SYSML14:String = "Property_PrimitiveTypeAttributeLabel";
+
+property PACKAGE_SHAPE_SYSML14:String = "Package_Shape";
+
+property PACKAGE_SHAPE_CN_SYSML14:String = "Package_Shape_CN";
+
+property PARAMETER_BORDERITEM_SHAPE_SYSML14:String = "Parameter_BorderItem";
+
+property PARAMETER_LABEL_SHAPE_SYSML14:String = "ParameterLabel";
+
+property PORT_SHAPE_SYSML14:String = "Port_Shape";
+
+property PRIMITIVETYPE_SHAPE_SYSML14:String = "PrimitiveType_Shape";
+
+property PRIMITIVETYPE_SHAPE_CN_SYSML14:String = "PrimitiveType_Shape_CN";
+
+property PROPERTY_SHAPE_SYSML14:String = "Property_Shape";
+
+property PROPERTY_ATTRIBUTELABEL_SYSML14:String = "Property_AttributeLabel";
+
+property PROPERTY_CLASSATTRIBUTELABEL_SYSML14:String = "Property_ClassAttributeLabel";
+
+property PROPERTY_DATATYPEATTRIBUTELABEL_SYSML14:String = "Property_DataTypeAttributeLabel";
+
+property PROPERTY_INTERFACEATTRIBUTELABEL_SYSML14:String = "Property_InterfaceAttributeLabel";
+
+property PROPERTY_PRIMITIVETYPEATTRIBUTELABEL_SYSML14:String = "Property_PrimitiveTypeAttributeLabel";
+
+property PROPERTY_SIGNALATTRIBUTELABEL_SYSML14:String = "Property_SignalAttributeLabel";
+
+property RECEPTION_INTERFACERECEPTIONLABEL_SYSML14:String = "Reception_InterfaceReceptionLabel";
+
+property RECEPTION_RECEPTIONLABEL_SYSML14:String = "Reception_ReceptionLabel";
+
+property SIGNAL_SHAPE_SYSML14:String = "Signal_Shape";
+
+property SIGNAL_SHAPE_CN_SYSML14:String = "Signal_Shape_CN";
+
+property TIMEOBSERVATION_SHAPE_SYSML14:String = "TimeObservation_Shape";
+
+property TIMEOBSERVATION_SHAPE_CN_SYSML14:String = "TimeObservation_Shape_CN";
+
+property ABSTRATION_EDGE_SYSML14:String = "Abstraction_Edge";
+
+property ASSOCIATION_EDGE_SYSML14:String = "Association_Edge";
+
+property ASSOCIATIONCLASS_EDGE_SYSML14:String = "AssociationClass_Edge";
+
+property ASSOCIATIONCLASS_TETHEREDGE_SYSML14:String = "AssociationClass_TetherEdge";
+
+property CONNECTOR_EDGE_SYSML14:String = "Connector_Edge";
+
+property DEPENDENCY_EDGE_SYSML14:String = "Dependency_Edge";
+
+property GENERALIZATION_EDGE_SYSML14:String = "Generalization_Edge";
+
+property INFORMATIONFLOW_EDGE_SYSML14:String = "InformationFlow_Edge";
+
+property INTERFACEREALIZATION_EDGE_SYSML14:String = "InterfaceRealization_Edge";
+
+property MANIFESTATION_EDGE_SYSML14:String = "Manifestation_Edge";
+
+property REALIZATION_EDGE_SYSML14:String = "Realization_Edge";
+
+property SUBSTITUTION_EDGE_SYSML14:String = "Substitution_Edge";
+
+property USAGE_EDGE_SYSML14:String = "Usage_Edge";
+
+property CONSTRAINT_CONSTRAINEDELEMENTEDGE_SHAPE_SYSML14:String = "Constraint_ConstrainedElementEdge";
+
+property ACTOR_AS_CLASSIFIER_SYSML11:String = "shape_uml_actor_as_classifier";
+
+property BLOCK_AS_CLASSIFIER_SYSML11:String = "shape_sysml_block_as_classifier";
+
+property BLOCK_AS_COMPOSITE_SYSML11:String = "shape_sysml_block_as_composite";
+
+property BLOCKPROPERTY_AS_COMPOSITE_SYSML11:String = "shape_sysml_blockproperty_as_composite";
+
+property CONSTRAINTBLOCKPROPERTY_AS_COMPOSITE_SYSML11:String = "shape_sysml_constraintblockproperty_as_composite";
+
+property CONSTRAINTBLOCK_AS_CLASSIFIER_SYSML11:String = "shape_sysml_constraintblock_as_classifier";
+
+property CONSTRAINTPROPERTY_AS_LABEL_SYSML11:String = "shape_sysml_constraintproperty_as_label";
+
+property DATATYPE_AS_CLASSIFIER_SYSML11:String = "shape_uml_datatype_as_classifier";
+
+property DIMENSION_AS_CLASSIFIER_SYSML11:String = "shape_sysml_dimension_as_classifier";
+
+property ENUMERATION_AS_CLASSIFIER_SYSML11:String = "shape_uml_enumeration_as_classifier";
+
+property ENUMERATIONLITERAL_AS_LABEL_SYSML11:String = "shape_uml_enumerationliteral_as_label";
+
+property FLOWSPECIFICATION_AS_CLASSIFIER_SYSML11:String = "shape_sysml_flowspecification_as_classifier";
+
+property FLOWPORT_AS_AFFIXED_SYSML11:String = "shape_sysml_flowport_as_affixed";
+
+property FLOWPORT_AS_LABEL_SYSML11:String = "shape_sysml_flowport_as_label";
+
+property FLOWPROPERTY_AS_LABEL_SYSML11:String = "shape_sysml_flowproperty_as_label";
+
+property INTERFACE_AS_CLASSIFIER_SYSML11:String = "shape_uml_interface_as_classifier";
+
+property OPERATION_AS_LABEL_SYSML11:String = "shape_uml_operation_as_label";
+
+property PART_AS_LABEL_SYSML11:String = "shape_sysml_part_as_label";
+
+property PORT_AS_AFFIXED_SYSML11:String = "shape_uml_port_as_affixed";
+
+property PRIMITIVETYPE_AS_CLASSIFIER_SYSML11:String = "shape_uml_primitivetype_as_classifier";
+
+property PROPERTY_AS_AFFIXED_SYSML11:String = "shape_uml_property_as_affixed";
+
+property PROPERTY_AS_LABEL_SYSML11:String = "shape_uml_property_as_label";
+
+property RECEPTION_AS_LABEL_SYSML11:String = "shape_uml_reception_as_label";
+
+property REFERENCE_AS_LABEL_SYSML11:String = "shape_sysml_reference_as_label";
+
+property REQUIREMENT_AS_CLASSIFIER_SYSML11:String = "shape_sysml_requirement_as_classifier";
+
+property SIGNAL_AS_CLASSIFIER_SYSML11:String = "shape_uml_signal_as_classifier";
+
+property UNIT_AS_CLASSIFIER_SYSML11:String = "shape_sysml_unit_as_classifier";
+
+property VALUETYPE_AS_CLASSIFIER_SYSML11:String = "shape_sysml_valuetype_as_classifier";
+
+property VALUE_AS_LABEL_SYSML11:String = "shape_sysml_value_as_label";
+
+property LINK_SYSML_ASSOCIATION_SYSML11:String = "link_sysml_association";
+
+property LINK_UML_ASSOCIATION_SYSML11:String = "link_uml_association";
+
+property LINK_UML_CONNECTOR_SYSML11:String = "link_uml_connector";
+
+property LINK_UML_DEPENDENCY_SYSML11:String = "link_uml_dependency";
+
+property LINK_UML_GENERALIZATION_SYSML11:String = "link_uml_generalization";
+
+property LINK_UML_INTERFACEREALIZATION_SYSML11:String = "link_uml_interfacerealization";
+
+property CONSTRAINT_CONTEXTEDGE_SHAPE_SYSML11:String = "Constraint_ContextEdge";
+
+property LINK_UML_USAGE_SYSML11:String = "link_uml_usage";
+
+property STEREOTYPE_COMMENT_LINK:String = "StereotypeCommentLink";
+
+property STEREOTYPE_COMMENT:String = "StereotypeComment";
+
+//
+// Decoration nodes
+//
+property ASSOCIATIONCLASS_NAME_LABEL_DECORATIONNODE_SYSML14:String = "AssociationClass_NameLabel";
+
+property ASSOCIATIONCLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "AssociationClass_NameLabel_CN";
+
+property ASSOCIATIONCLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "AssociationClass_FloatingNameLabel";
+
+property ASSOCIATIONCLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "AssociationClass_FloatingNameLabel_CN";
+
+property CLASS_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Class_NameLabel";
+
+property CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "Class_NameLabel_CN";
+
+property CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "Class_FloatingNameLabel";
+
+property CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "Class_FloatingNameLabel_CN";
+
+property COMMENT_BODY_LABEL_DECORATIONNODE_SYSML14:String = "Comment_BodyLabel";
+
+property COMMENT_BODY_LABEL_DECORATIONNODE_CN_SYSML14:String = "Comment_BodyLabel_CN";
+
+property COMPONENT_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Component_NameLabel";
+
+property COMPONENT_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "Component_NameLabel_CN";
+
+property COMPONENT_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "Component_FloatingNameLabel";
+
+property COMPONENT_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "Component_FloatingNameLabel_CN";
+
+property CONSTRAINT_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Constraint_NameLabel";
+
+property CONSTRAINT_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "Constraint_NameLabel_CN";
+
+property CONSTRAINT_BODY_LABEL_DECORATIONNODE_SYSML14:String = "Constraint_BodyLabel";
+
+property CONSTRAINT_BODY_LABEL_DECORATIONNODE_CN_SYSML14:String = "Constraint_BodyLabel_CN";
+
+property DATATYPE_NAME_LABEL_DECORATIONNODE_SYSML14:String = "DataType_NameLabel";
+
+property DATATYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "DataType_NameLabel_CN";
+
+property DATATYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "DataType_FloatingNameLabel";
+
+property DATATYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "DataType_FloatingNameLabel_CN";
+
+property DURATIONOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "DurationObservation_StereotypeLabel";
+
+property DURATIONOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_CN_SYSML14:String = "DurationObservation_StereotypeLabel_CN";
+
+property DURATIONOBSERVATION_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "DurationObservation_FloatingNameLabel";
+
+property DURATIONOBSERVATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "DurationObservation_FloatingNameLabel_CN";
+
+property ENUMERATION_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Enumeration_NameLabel";
+
+property ENUMERATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "Enumeration_NameLabel_CN";
+
+property ENUMERATION_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "Enumeration_FloatingNameLabel";
+
+property ENUMERATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "Enumeration_FloatingNameLabel_CN";
+
+property ENUMERATIONLITERAL_LITERALLABEL_DECORATIONNODE_SYSML14:String = "EnumerationLiteral_LiteralLabel";
+
+property INFORMATIONITEM_NAME_LABEL_DECORATIONNODE_SYSML14:String = "InformationItem_NameLabel";
+
+property INFORMATIONITEM_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "InformationItem_NameLabel_CN";
+
+property INFORMATIONITEM_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "InformationItem_FloatingNameLabel";
+
+property INFORMATIONITEM_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "InformationItem_FloatingNameLabel_CN";
+
+property INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_SYSML14:String = "InstanceSpecification_NameLabel";
+
+property INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "InstanceSpecification_NameLabel_CN";
+
+property INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "InstanceSpecification_FloatingNameLabel";
+
+property INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "InstanceSpecification_FloatingNameLabel_CN";
+
+property INTERFACE_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Interface_NameLabel";
+
+property INTERFACE_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "Interface_NameLabel_CN";
+
+property INTERFACE_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "Interface_FloatingNameLabel";
+
+property INTERFACE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "Interface_FloatingNameLabel_CN";
+
+property PACKAGE_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Package_NameLabel";
+
+property PACKAGE_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "Package_NameLabel_CN";
+
+property MODEL_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Model_NameLabel";
+
+property MODEL_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "Model_NameLabel_CN";
+
+property NAMEDELEMENT_NAME_LABEL_DECORATIONNODE_SYSML14:String = "NamedElement_NameLabel";
+
+property OPERATION_BODERITEM_LABEL_COMPARTMENT_SYSML14:String = "Operation_BorderItem_Label";
+
+property PROPERTY_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Property_NameLabel";
+
+property PROPERTY_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "Property_FloatingNameLabel";
+
+property PORT_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Port_NameLabel";
+
+property PORT_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Port_StereotypeLabel";
+
+property PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_SYSML14:String = "PrimitiveType_NameLabel";
+
+property PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "PrimitiveType_NameLabel_CN";
+
+property PRIMITIVETYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "PrimitiveType_FloatingNameLabel";
+
+property PRIMITIVETYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "PrimitiveType_FloatingNameLabel_CN";
+
+property SIGNAL_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Signal_NameLabel";
+
+property SIGNAL_NAME_LABEL_DECORATIONNODE_CN_SYSML14:String = "Signal_NameLabel_CN";
+
+property SIGNAL_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "Signal_FloatingNameLabel";
+
+property SIGNAL_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "Signal_FloatingNameLabel_CN";
+
+property TIMEOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "TimeObservation_StereotypeLabel";
+
+property TIMEOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_CN_SYSML14:String = "TimeObservation_StereotypeLabel_CN";
+
+property TIMEOBSERVATION_FLOATING_LABEL_DECORATIONNODE_SYSML14:String = "TimeObservation_FloatingNameLabel";
+
+property TIMEOBSERVATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14:String = "TimeObservation_FloatingNameLabel_CN";
+
+property ABSTRACTION_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Abstraction_NameLabel";
+
+property ABSTRACTION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Abstraction_StereotypeLabel";
+
+property ASSOCIATION_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Association_NameLabel";
+
+property ASSOCIATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Association_StereotypeLabel";
+
+property ASSOCIATION_SOURCEROLE_LABEL_DECORATIONNODE_SYSML14:String = "Association_SourceRoleLabel";
+
+property ASSOCIATION_TARGETROLE_LABEL_DECORATIONNODE_SYSML14:String = "Association_TargetRoleLabel";
+
+property ASSOCIATION_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14:String = "Association_SourceMultiplicityLabel";
+
+property ASSOCIATION_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14:String = "Association_TargetMultiplicityLabel";
+
+property ASSOCIATIONCLASS_SOURCEROLE_LABEL_DECORATIONNODE_SYSML14:String = "AssociationClass_SourceRoleLabel";
+
+property ASSOCIATIONCLASS_TARGETROLE_LABEL_DECORATIONNODE_SYSML14:String = "AssociationClass_TargetRoleLabel";
+
+property CONNECTOR_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Connector_NameLabel";
+
+property CONNECTOR_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Connector_StereotypeLabel";
+
+property CONNECTOR_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14:String = "Connector_SourceMultiplicityLabel";
+
+property CONNECTOR_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14:String = "Connector_TargetMultiplicityLabel";
+
+property DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Dependency_NameLabel";
+
+property DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Dependency_StereotypeLabel";
+
+property GENERALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Generalization_StereotypeLabel";
+
+property INTERFACEREALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14:String = "InterfaceRealization_NameLabel";
+
+property INFORMATIONFLOW_CONVEYED_LABEL_DECORATIONNODE_SYSML14:String = "InformationFlow_ConveyedLabel";
+
+property INFORMATIONFLOW_NAME_LABEL_DECORATIONNODE_SYSML14:String = "InformationFlow_NameLabel";
+
+property INFORMATIONFLOW_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "InformationFlow_StereotypeLabel";
+
+property INTERFACEREALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "InterfaceRealization_StereotypeLabel";
+
+property MANIFESTATION_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Manifestation_NameLabel";
+
+property MANIFESTATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Manifestation_StereotypeLabel";
+
+property REALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Realization_NameLabel";
+
+property REALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Realization_StereotypeLabel";
+
+property SUBSTITUTION_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Substitution_NameLabel";
+
+property SUBSTITUTION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Substitution_StereotypeLabel";
+
+property USAGE_NAME_LABEL_DECORATIONNODE_SYSML14:String = "Usage_NameLabel";
+
+property USAGE_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14:String = "Usage_StereotypeLabel";
+
+property NAMEDELEMENT_LABEL_DECORATIONNODE_SYSML11:String = "label_uml_namedelement_name";
+
+property PROPERTY_LABEL_DECORATIONNODE_SYSML11:String = "label_uml_property_label";
+
+property VALUETYPE_NAME_COMPARTMENT_SYSML11:String = "label_sysml_valuetype_name";
+
+property AFFIXED_PORT_LABEL_DECORATIONNODE_SYSML11:String = "affixedlabel_uml_port_label";
+
+property AFFIXED_FLOWPORT_LABEL_DECORATIONNODE_SYSML11:String = "affixedlabel_sysml_flowport_label";
+
+property CONTRAINTBLOCK_LABEL_DECORATIONNODE_SYSML11:String = "label_sysml_constraintblock_name";
+
+property FLOWSEPCIFICATION_LABEL_DECORATIONNODE_SYSML11:String = "label_sysml_flowspecification_name";
+
+property APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11:String = "linklabel_uml_appliedstereotype";
+
+property APPLIEDSTEREOTYPE_AFFIXED_LABEL_DECORATIONODE_SYSML11:String = "affixedlabel_uml_appliedstereotype";
+
+property NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11:String = "linklabel_uml_namedelement_name";
+
+property ASSOCIATION_SOURCE_ROLE_DECORATIONODE_SYSML11:String = "linklabel_uml_association_source_role";
+
+property ASSOCIATION_TARGET_ROLE_DECORATIONODE_SYSML11:String = "linklabel_uml_association_target_role";
+
+property ASSOCIATION_SOURCE_MULTIPLICITY_DECORATIONODE_SYSML11:String = "linklabel_uml_association_source_multiplicity";
+
+property ASSOCIATION_TARGET_MULTIPLICITY_DECORATIONODE_SYSML11:String = "linklabel_uml_association_target_multiplicity";
+
+property CONNECTOR_NAME_LABEL_DECORATIONNODE_SYSML11:String = "linklabel_uml_connector_label";
+
+property CONNECTOR_SOURCE_MULTIPLICITY_DECORATIONODE_SYSML11:String = "linklabel_uml_connector_source_multiplicity";
+
+property CONNECTOR_TARGET_MULTIPLICITY_DECORATIONODE_SYSML11:String = "linklabel_uml_connector_target_multiplicity";
+
+property STEREOTYPE_LABEL_DECORATION_NODE:String = "StereotypeLabel";
+
+//
+// Compartments name
+//
+property ASSOCIATIONCLASS_ATTRIBUTE_COMPARTMENT_SYSML14:String = "AssociationClass_AttributeCompartment";
+
+property ASSOCIATIONCLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14:String = "AssociationClass_AttributeCompartment_CN";
+
+property ASSOCIATIONCLASS_OPERATION_COMPARTMENT_SYSML14:String = "AssociationClass_OperationCompartment";
+
+property ASSOCIATIONCLASS_OPERATION_COMPARTMENT_CN_SYSML14:String = "AssociationClass_OperationCompartment_CN";
+
+property ASSOCIATIONCLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14:String = "AssociationClass_NestedClassifierCompartment";
+
+property ASSOCIATIONCLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14:String = "AssociationClass_NestedClassifierCompartment_CN";
+
+property CLASS_ATTRIBUTE_COMPARTMENT_SYSML14:String = "Class_AttributeCompartment";
+
+property CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14:String = "Class_AttributeCompartment_CN";
+
+property CLASS_OPERATION_COMPARTMENT_SYSML14:String = "Class_OperationCompartment";
+
+property CLASS_OPERATION_COMPARTMENT_CN_SYSML14:String = "Class_OperationCompartment_CN";
+
+property CLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14:String = "Class_NestedClassifierCompartment";
+
+property CLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14:String = "Class_NestedClassifierCompartment_CN";
+
+property COMPONENT_ATTRIBUTE_COMPARTMENT_SYSML14:String = "Component_AttributeCompartment";
+
+property COMPONENT_ATTRIBUTE_COMPARTMENT_CN_SYSML14:String = "Component_AttributeCompartment_CN";
+
+property COMPONENT_OPERATION_COMPARTMENT_SYSML14:String = "Component_OperationCompartment";
+
+property COMPONENT_OPERATION_COMPARTMENT_CN_SYSML14:String = "Component_OperationCompartment_CN";
+
+property COMPONENT_NESTEDCLASSIFIER_COMPARTMENT_SYSML14:String = "Component_NestedClassifierCompartment";
+
+property COMPONENT_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14:String = "Component_NestedClassifierCompartment_CN";
+
+property CLASS_STRUCTURE_COMPARTMENT_SYSML14:String = "Class_StructureCompartment";
+
+property CLASS_STRUCTURE_COMPARTMENT_CN_SYSML14:String = "Class_StructureCompartment_CN";
+
+property DATATYPE_ATTRIBUTE_COMPARTMENT_SYSML14:String = "DataType_AttributeCompartment";
+
+property DATATYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14:String = "DataType_AttributeCompartment_CN";
+
+property DATATYPE_OPERATION_COMPARTMENT_SYSML14:String = "DataType_OperationCompartment";
+
+property DATATYPE_OPERATION_COMPARTMENT_CN_SYSML14:String = "DataType_OperationCompartment_CN";
+
+property ENUMERATION_LITERAL_COMPARTMENT_SYSML14:String = "Enumeration_LiteralCompartment";
+
+property ENUMERATION_LITERAL_COMPARTMENT_CN_SYSML14:String = "Enumeration_LiteralCompartment_CN";
+
+property INSTANCESPECIFICATION_SLOP_COMPARTMENT_SYSML14:String = "InstanceSpecification_SlotCompartment";
+
+property INSTANCESPECIFICATION_SLOP_COMPARTMENT_CN_SYSML14:String = "InstanceSpecification_SlotCompartment_CN";
+
+property INTERFACE_ATTRIBUTE_COMPARTMENT_SYSML14:String = "Interface_AttributeCompartment";
+
+property INTERFACE_ATTRIBUTE_COMPARTMENT_CN_SYSML14:String = "Interface_AttributeCompartment_CN";
+
+property INTERFACE_OPERATION_COMPARTMENT_SYSML14:String = "Interface_OperationCompartment";
+
+property INTERFACE_OPERATION_COMPARTMENT_CN_SYSML14:String = "Interface_OperationCompartment_CN";
+
+property INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_SYSML14:String = "Interface_NestedClassifierCompartment";
+
+property INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14:String = "Interface_NestedClassifierCompartment_CN";
+
+property MODEL_PACKAGEDELEMENT_COMPARTMENT_SYSML14:String = "Model_PackagedElementCompartment";
+
+property MODEL_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14:String = "Model_PackagedElementCompartment_CN";
+
+property PACKAGE_PACKAGEDELEMENT_COMPARTMENT_SYSML14:String = "Package_PackagedElementCompartment";
+
+property PACKAGE_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14:String = "Package_PackagedElementCompartment_CN";
+
+property PROPERTY_STRUCTURE_COMPARTMENT_SYSML14:String = "Property_StructureCompartment";
+
+property PRIMITIVETYPE_ATTRIBUTE_COMPARTMENT_SYSML14:String = "PrimitiveType_AttributeCompartment";
+
+property PRIMITIVETYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14:String = "PrimitiveType_AttributeCompartment_CN";
+
+property PRIMITIVETYPE_OPERATION_COMPARTMENT_SYSML14:String = "PrimitiveType_OperationCompartment";
+
+property PRIMITIVETYPE_OPERATION_COMPARTMENT_CN_SYSML14:String = "PrimitiveType_OperationCompartment_CN";
+
+property SIGNAL_ATTRIBUTE_COMPARTMENT_SYSML14:String = "Signal_AttributeCompartment";
+
+property SIGNAL_ATTRIBUTE_COMPARTMENT_CN_SYSML14:String = "Signal_AttributeCompartment_CN";
+
+property FLOWPORTS_COMPARTMENT_SYSML14:String = "Flow Ports";
+
+property CONSTRAINTS_COMPARTMENT_SYSML14:String = "constraints";
+
+property PARTS_COMPARTMENT_SYSML14:String = "Parts";
+
+property PROXYPORTS_COMPARTMENT_SYSML14:String = "Proxy Ports";
+
+property FULLPORTS_COMPARTMENT_SYSML14:String = "Full Ports";
+
+property REFERENCES_COMPARTMENT_SYSML14:String = "References";
+
+property PARAMETERS_COMPARTMENT_SYSML14:String = "Parameters";
+
+property FLOWPROPERTIES_COMPARTMENT_SYSML14:String = "Flow Properties";
+
+property COMPARTMENT_SHAPE_DISPLAY:String = "compartment_shape_display";
+
+property PROPERTY_UML_COMPARTMENT_SYSML11:String = "compartment_uml_property_as_list";
+
+property OPERATION_UML_COMPARTMENT_SYSML11:String = "compartment_uml_operation_as_list";
+
+property LABEL_BLOCK_COMPARTMENT_SYSML11:String = "label_sysml_block_name";
+
+property BLOCKPROPERTY_STRUCTURE_COMPARTMENT_SYSML11:String = "compartment_sysml_blockproperty_structure";
+
+property PROPERTY_SYSML_COMPARTMENT_SYSML11:String = "compartment_sysml_property_as_list";
+
+property PART_COMPARTMENT_SYSML11:String = "compartment_sysml_part_as_list";
+
+property PORTS_COMPARTMENT_SYSML11:String = "compartment_uml_port_as_list";
+
+property REFERENCE_COMPARTMENT_SYSML11:String = "compartment_sysml_reference_as_list";
+
+property FLOWPORT_COMPARTMENT_SYSML11:String = "compartment_sysml_flowport_as_list";
+
+property CONSTRAINT_COMPARTMENT_SYSML11:String = "compartment_sysml_constraint_as_list";
+
+property PARAMETER_COMPARTMENT_SYSML11:String = "compartment_sysml_parameter_as_list";
+
+property ENUMERATIONLITERAL_COMPARTMENT_SYSML11:String = "compartment_uml_enumerationliteral_as_list";
+
+property FLOWPROPERTY_COMPARTMENT_SYSML11:String = "compartment_sysml_flowproperty_as_list";
+
+property COMPARTMENT_STRUCTURE_SYSML11:String = "compartment_sysml_structure";
+
+property REQUIREMENT_IDINFO_COMPARTMENT_SYSML11 = "compartment_sysml_requirement_idinfo_as_list";
+
+property STEREOTYPE_BRACE_COMPARTMENT:String = "StereotypeBrace";
+
+property STEREOTYPE_COMPARTMENT_COMPARTMENT:String = "StereotypeCompartment";
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLDiagramsUtils.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLDiagramsUtils.qvto
new file mode 100644
index 0000000..d7575aa
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLDiagramsUtils.qvto
@@ -0,0 +1,1127 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+ 
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.VersioningHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsConstants;
+
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype style "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/policy/style';
+
+/**
+* This file provides useful method for SysML diagrams.
+*/
+library SysMLDiagramsUtils;
+
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsClass(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::Class)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := CLASS_SHAPE_SYSML14;
+	
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+	} else {
+		type := CLASS_SHAPE_CN_SYSML14;
+	
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsComponent(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::Component)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := COMPONENT_SHAPE_SYSML14;
+	
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(COMPONENT_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(COMPONENT_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(COMPONENT_ATTRIBUTE_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(COMPONENT_OPERATION_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(COMPONENT_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+	} else {
+		type := COMPONENT_SHAPE_CN_SYSML14;
+	
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(COMPONENT_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(COMPONENT_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(COMPONENT_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(COMPONENT_OPERATION_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(COMPONENT_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsDataType(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::DataType)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := DATATYPE_SHAPE_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(DATATYPE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(DATATYPE_ATTRIBUTE_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(DATATYPE_OPERATION_COMPARTMENT_SYSML14);
+	} else {
+		type := DATATYPE_SHAPE_CN_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(DATATYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(DATATYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(DATATYPE_OPERATION_COMPARTMENT_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsDurationObservation(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::DurationObservation)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := DURATIONOBSERVATION_SHAPE_SYSML14;
+	
+		// Create and set the default DecorationNodes
+		var floatingNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DURATIONOBSERVATION_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		floatingNameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		floatingNameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+		children += floatingNameLabel;
+		
+		var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DURATIONOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+		children += stereotypeLabel;
+	} else {
+		type := DURATIONOBSERVATION_SHAPE_CN_SYSML14;
+	
+		// Create and set the default DecorationNodes
+		var floatingNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DURATIONOBSERVATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		floatingNameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		floatingNameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+		children += floatingNameLabel;
+		
+		var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DURATIONOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_CN_SYSML14);
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+		children += stereotypeLabel;
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsEnumeration(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::Enumeration)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := ENUMERATION_SHAPE_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(ENUMERATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(ENUMERATION_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(ENUMERATION_LITERAL_COMPARTMENT_SYSML14);
+	} else {
+		type := ENUMERATION_SHAPE_CN_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(ENUMERATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(ENUMERATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(ENUMERATION_LITERAL_COMPARTMENT_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsInformationItem(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::InformationItem)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := INFORMATIONITEM_SHAPE_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(INFORMATIONITEM_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INFORMATIONITEM_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+	} else {
+		type := INFORMATIONITEM_SHAPE_CN_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(INFORMATIONITEM_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INFORMATIONITEM_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsInterface(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::Interface)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := INTERFACE_SHAPE_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(INTERFACE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(INTERFACE_ATTRIBUTE_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(INTERFACE_OPERATION_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+	} else {
+		type := INTERFACE_SHAPE_CN_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(INTERFACE_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(INTERFACE_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(INTERFACE_OPERATION_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsInstanceSpecification(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::InstanceSpecification)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := INSTANCESPECIFICATION_SHAPE_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(INSTANCESPECIFICATION_SLOP_COMPARTMENT_SYSML14);
+	} else {
+		type := INSTANCESPECIFICATION_SHAPE_CN_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(INSTANCESPECIFICATION_SLOP_COMPARTMENT_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsPrimitiveType(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::PrimitiveType)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := PRIMITIVETYPE_SHAPE_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(PRIMITIVETYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(PRIMITIVETYPE_ATTRIBUTE_COMPARTMENT_SYSML14);
+	} else {
+		type := PRIMITIVETYPE_SHAPE_CN_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(PRIMITIVETYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(PRIMITIVETYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsSignal(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::Signal)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := SIGNAL_SHAPE_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(SIGNAL_NAME_LABEL_DECORATIONNODE_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(SIGNAL_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(SIGNAL_ATTRIBUTE_COMPARTMENT_SYSML14);
+	} else {
+		type := SIGNAL_SHAPE_CN_SYSML14;
+		
+		// Create and set the default DecorationNodes
+		children += createDefaultNameLabelDecorationNode(SIGNAL_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		children += createDefaultFloatingNameLabelDecorationNode(SIGNAL_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(SIGNAL_ATTRIBUTE_COMPARTMENT_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsTimeObservation(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = NAMEDELEMENT_DEFAULTSHAPE and self.element.oclIsKindOf(UML::TimeObservation)} {
+	init {
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := TIMEOBSERVATION_SHAPE_SYSML14;
+	
+		// Create and set the default DecorationNodes
+		var floatingNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(TIMEOBSERVATION_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		floatingNameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		floatingNameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+		children += floatingNameLabel;
+		
+		var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(TIMEOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+		children += stereotypeLabel;
+	} else {
+		type := TIMEOBSERVATION_SHAPE_CN_SYSML14;
+	
+		// Create and set the default DecorationNodes
+		var floatingNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(TIMEOBSERVATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		floatingNameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		floatingNameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+		children += floatingNameLabel;
+		
+		var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(TIMEOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_CN_SYSML14);
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+		children += stereotypeLabel;
+	};
+}
+
+mapping notation::Edge::fromSysML11RealizationEdgeAsInterfaceRealization() : notation::Edge when {self.oclIsTypeOf(notation::Connector) and self.type = REALIZATION_EDGE_SYSML14 and self.element.oclIsTypeOf(UML::InterfaceRealization)} {
+	init {
+		result := self;
+	}
+	type := INTERFACEREALIZATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = REALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := INTERFACEREALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			children += existingChild;
+		} elif (existingChild.type = REALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := INTERFACEREALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			children += existingChild;
+		}
+	};
+}
+
+mapping notation::Edge::fromSysML11RealizationEdgeAsRealization() : notation::Edge when {self.oclIsTypeOf(notation::Connector) and self.type = REALIZATION_EDGE_SYSML14 and self.element.oclIsKindOf(UML::Realization)} {
+	init {
+		result := self;
+	}
+	type := DEPENDENCY_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = REALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			children += existingChild;
+		} elif (existingChild.type = REALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14;
+			children += existingChild;
+		}
+	};
+}
+
+mapping notation::Edge::fromSysML11RealizationEdgeAsSubstitution() : notation::Edge when {self.oclIsTypeOf(notation::Connector) and self.type = REALIZATION_EDGE_SYSML14 and self.element.oclIsTypeOf(UML::Substitution)} {
+	init {
+		result := self;
+	}
+	type := SUBSTITUTION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = REALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := SUBSTITUTION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			children += existingChild;
+		} elif (existingChild.type = REALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := SUBSTITUTION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			children += existingChild;
+		}
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyEdgeAsUsage() : notation::Edge when {self.oclIsTypeOf(notation::Connector) and self.type = DEPENDENCY_EDGE_SYSML14 and self.element.oclIsKindOf(UML::Usage)} {
+	init {
+		result := self;
+	}
+	type := USAGE_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := USAGE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			children += existingChild;
+		} elif (existingChild.type = DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := USAGE_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			children += existingChild;
+		}
+	};
+}
+
+/** 
+ * This allows to modify if existing the 'diagram_compatibility_version' value style, or create it if not existing
+ **/
+helper setOrCreateCompatibilityVersion(inout diagram:notation::Diagram){
+	// Search the compatibility version, if not exist, create it
+	var compatibilityVersionStyle:notation::StringValueStyle := diagram.styles->selectByType(notation::StringValueStyle)->any(curr | curr.name=DIAGRAM_COMPATIBILITY_VERSION);
+	if (compatibilityVersionStyle.oclIsUndefined()) {
+		// add style compatibility version style
+		compatibilityVersionStyle := object notation::StringValueStyle {
+			name := DIAGRAM_COMPATIBILITY_VERSION;
+		};
+		diagram.styles+= compatibilityVersionStyle;
+	};
+	compatibilityVersionStyle.stringValue := "1.2.0";
+}
+
+/** 
+ * This allows to modify the papyrus view style to add the needed configuration
+ **/
+helper addPapyrusViewStyleConfiguration(inout diagram:notation::Diagram, in model:UML::Model, in config:viewpoint::PapyrusDiagram){
+	// Search the papyrus view style, if not exist, create it
+	var requirementPapyrusViewStyle:style::PapyrusViewStyle := diagram.styles->selectByType(style::PapyrusViewStyle)->any(true);
+	if (requirementPapyrusViewStyle.oclIsUndefined()) {
+		// add the papyrus view style
+		requirementPapyrusViewStyle := object style::PapyrusViewStyle{
+			owner := model.oclAsType(ecore::EObject);
+		};
+		diagram.styles += requirementPapyrusViewStyle;
+	};
+	requirementPapyrusViewStyle._configuration := config;
+}
+
+/**
+ * This allows to manage the show title EAnnotation as compartment attribute.
+ **/
+helper manageShowTitleEAnnotationAsCompartmentAttribute(inout createdCompartment:notation::Compartment, existingChild:notation::Node) : OrderedSet(ecore::EAnnotation){
+	var res:OrderedSet(ecore::EAnnotation);
+	// The initial value in Sysml1.1 is set to true
+	createdCompartment.showTitle := true;
+	existingChild.eAnnotations->forEach(eAnnotation){
+		if (eAnnotation.source = PAPYRUS_CSS_FORCE_VALUE) {
+			var createdEAnnotation:ecore::EAnnotation := eAnnotation;
+			createdEAnnotation.eAnnotations := object OrderedSet(ecore::EAnnotation){};
+			var foundOtherNeededDetail:Boolean := false;
+			eAnnotation.details->forEach(detail){
+				if (detail.key = SHOW_TITLE) {
+					createdCompartment.showTitle := fromStringToBoolean(detail.value);
+				} else {
+					createdEAnnotation.details += detail;
+					foundOtherNeededDetail := true;
+				};
+			};
+			if (foundOtherNeededDetail) {
+				res += createdEAnnotation;
+			};
+		} else {
+			res += eAnnotation;
+		};
+	};
+	return res;
+}
+
+helper fromStringToBoolean(value:String) : Boolean {
+	if (value = "true") {
+		return true;
+	} else {
+		return false;
+	}
+}
+
+/**
+ * This allows to create the class floating name label decoration node
+ **/
+helper createDefaultNameLabelDecorationNode(typeToCreate:String) : notation::DecorationNode {
+	return object notation::DecorationNode{
+		type := typeToCreate;
+	};
+}
+
+helper createDefaultNameLabelDecorationNode(typeToCreate:String, visibleValue:String) : notation::DecorationNode {
+	var createdDecorationNode:notation::DecorationNode := createDefaultCompartement(typeToCreate);
+	setPapyrusCSSForceValueVisible(createdDecorationNode, visibleValue);
+	return createdDecorationNode;
+}
+
+/**
+ * This allows to create the class floating name label decoration node
+ **/
+helper createDefaultFloatingNameLabelDecorationNode(typeToCreate:String) : notation::DecorationNode {
+	return object notation::DecorationNode{
+		type := typeToCreate;
+		layoutConstraint := object notation::Location{
+			y := 5;
+		};
+	};
+}
+
+helper createDefaultFloatingNameLabelDecorationNode(typeToCreate:String, visibleValue:String) : notation::DecorationNode {
+	var createdDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(typeToCreate);
+	setPapyrusCSSForceValueVisible(createdDecorationNode, visibleValue);
+	return createdDecorationNode;
+}
+
+helper createDefaultCompartement(typeToCreate:String) : notation::Compartment {
+	return object notation::Compartment{
+		type := typeToCreate;
+	}
+}
+
+helper createDefaultCompartement(typeToCreate:String, visibleValue:String) : notation::Compartment {
+	var createdCompartment:notation::Compartment := createDefaultCompartement(typeToCreate);
+	setPapyrusCSSForceValueVisible(createdCompartment, visibleValue);
+	return createdCompartment;
+}
+
+helper createDefaultBasicCompartement(typeToCreate:String) : notation::BasicCompartment {
+	return object notation::BasicCompartment{
+		type := typeToCreate;
+		styles += object notation::TitleStyle{};
+		styles += object notation::SortingStyle{};
+		styles += object notation::FilteringStyle{};
+		layoutConstraint := object notation::Bounds{};
+	}
+}
+
+helper createDefaultBasicCompartement(typeToCreate:String, visibleValue:String) : notation::BasicCompartment {
+	var createdCompartment:notation::BasicCompartment := createDefaultBasicCompartement(typeToCreate);
+	setPapyrusCSSForceValueVisible(createdCompartment, visibleValue);
+	return createdCompartment;
+}
+
+helper createTitleBasicCompartement(typeToCreate:String) : notation::BasicCompartment {
+	return object notation::BasicCompartment{
+		type := typeToCreate;
+		styles += object notation::TitleStyle{};
+	};
+}
+
+helper createTitleBasicCompartement(typeToCreate:String, visibleValue:String) : notation::BasicCompartment {
+	var createdCompartment:notation::BasicCompartment := createTitleBasicCompartement(typeToCreate);
+	setPapyrusCSSForceValueVisible(createdCompartment, visibleValue);
+	return createdCompartment;
+}
+
+/**
+ * This allows to add the papyrus force value visible to true.
+ **/
+helper setPapyrusCSSForceValueVisible(inout compartment:notation::Node, visibleValue:String) {
+	var existPapyrusCSSForceValue:Boolean := false;
+	compartment.eAnnotations->forEach(eAnnotation){
+		if (eAnnotation.source = PAPYRUS_CSS_FORCE_VALUE) {
+			var createdEAnnotation:ecore::EAnnotation := object ecore::EAnnotation{};
+			var existVisible:Boolean := false;
+			eAnnotation.details->forEach(detail){
+				// If the Visible papyrus CSS force value is existing, don't replace it'
+				if (detail.key = VISIBLE) {
+					existVisible := true;
+				};
+			};
+			
+			if (not existVisible) {
+				eAnnotation.details += object ecore::EStringToStringMapEntry{
+					key := VISIBLE;
+					value := visibleValue;
+				};
+			};
+			
+			existPapyrusCSSForceValue := true;
+		};
+	};
+	
+	if (not existPapyrusCSSForceValue) {
+		compartment.eAnnotations += object ecore::EAnnotation{
+			source := PAPYRUS_CSS_FORCE_VALUE;
+			details += object ecore::EStringToStringMapEntry{
+				key := VISIBLE;
+				value := visibleValue;
+			};
+		};
+	};
+}
+
+/**
+ * By Default, the show title is set to true in SysML1.1.
+ * So to manage it in SysML1.4, the showTitle EAnnotation detail must be created if it is not already done.
+ **/
+helper setShowTitle(inout compartment:notation::Node, valueShowTitle:Boolean) {
+	if (compartment.oclIsKindOf(notation::TitleStyle)) {
+		var isPapyrusCSSForceValueExist := false;
+		compartment.eAnnotations->forEach(eAnnotation){
+			if (eAnnotation.source = PAPYRUS_CSS_FORCE_VALUE) {
+				var foundShowTitle:Boolean := false;
+				eAnnotation.details->forEach(detail){
+					if (detail.key = SHOW_TITLE) {
+						foundShowTitle := true;
+						compartment.oclAsType(notation::TitleStyle).showTitle := fromStringToBoolean(detail.value);
+					};
+				};
+				
+				if (not foundShowTitle) {
+					compartment.oclAsType(notation::TitleStyle).showTitle := valueShowTitle;
+				};
+				isPapyrusCSSForceValueExist := true;
+			};
+		};
+		
+		if (not isPapyrusCSSForceValueExist) {
+			compartment.oclAsType(notation::TitleStyle).showTitle := valueShowTitle;
+		};
+	};
+}
+
+helper createModelShape(parent:notation::View, modelElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := modelElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+		
+		var packageElementCompartment:notation::BasicCompartment;
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := MODEL_SHAPE_SYSML14;
+			children += createDefaultNameLabelDecorationNode(MODEL_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			packageElementCompartment := createDefaultBasicCompartement(MODEL_PACKAGEDELEMENT_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := MODEL_SHAPE_CN_SYSML14;
+			children += createDefaultNameLabelDecorationNode(MODEL_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			packageElementCompartment := createDefaultBasicCompartement(MODEL_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+		packageElementCompartment.styles += object notation::TitleStyle{};
+		packageElementCompartment.layoutConstraint := object notation::Bounds{};
+		children += packageElementCompartment;
+	}
+}
+
+helper createClassShape(parent:notation::View, classElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := classElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := CLASS_SHAPE_SYSML14;
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := CLASS_SHAPE_CN_SYSML14;
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createConstraintShape(parent:notation::View, classElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := classElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := CONSTRAINTPACKAGEELEMENT_SHAPE_SYSML14;
+			children += createDefaultNameLabelDecorationNode(CONSTRAINT_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultNameLabelDecorationNode(CONSTRAINT_BODY_LABEL_DECORATIONNODE_SYSML14, TRUE);
+		} else {
+			type := CONSTRAINTPACKAGEELEMENT_SHAPE_CN_SYSML14;
+			children += createDefaultNameLabelDecorationNode(CONSTRAINT_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultNameLabelDecorationNode(CONSTRAINT_BODY_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createCommentShape(parent:notation::View, classElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := classElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := COMMENT_SHAPE_SYSML14;
+			children += createDefaultNameLabelDecorationNode(COMMENT_BODY_LABEL_DECORATIONNODE_SYSML14, TRUE);
+		} else {
+			type := COMMENT_SHAPE_CN_SYSML14;
+			children += createDefaultNameLabelDecorationNode(COMMENT_BODY_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createComponentShape(parent:notation::View, classElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := classElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := COMPONENT_SHAPE_SYSML14;
+		
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(COMPONENT_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(COMPONENT_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			
+			// Create and set the default BasicCompartments
+			children += createDefaultBasicCompartement(COMPONENT_ATTRIBUTE_COMPARTMENT_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(COMPONENT_OPERATION_COMPARTMENT_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(COMPONENT_NESTEDCLASSIFIER_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := COMPONENT_SHAPE_CN_SYSML14;
+		
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(COMPONENT_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(COMPONENT_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			
+			// Create and set the default BasicCompartments
+			children += createDefaultBasicCompartement(COMPONENT_ATTRIBUTE_COMPARTMENT_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(COMPONENT_OPERATION_COMPARTMENT_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(COMPONENT_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createDataTypeShape(parent:notation::View, dataType:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := dataType;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := DATATYPE_SHAPE_SYSML14;
+			children += createDefaultNameLabelDecorationNode(DATATYPE_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(DATATYPE_ATTRIBUTE_COMPARTMENT_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(DATATYPE_OPERATION_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := DATATYPE_SHAPE_CN_SYSML14;
+			children += createDefaultNameLabelDecorationNode(DATATYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(DATATYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(DATATYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(DATATYPE_OPERATION_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createDurationObservationShape(parent:notation::View, dataType:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := dataType;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		if (not isCN) {
+			type := DURATIONOBSERVATION_SHAPE_SYSML14;
+		
+			// Create and set the default DecorationNodes
+			var floatingNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DURATIONOBSERVATION_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			floatingNameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+			floatingNameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+			children += floatingNameLabel;
+			
+			var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DURATIONOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+			stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+			children += stereotypeLabel;
+		} else {
+			type := DURATIONOBSERVATION_SHAPE_CN_SYSML14;
+		
+			// Create and set the default DecorationNodes
+			var floatingNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DURATIONOBSERVATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			floatingNameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+			floatingNameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+			children += floatingNameLabel;
+			
+			var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DURATIONOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+			stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+			children += stereotypeLabel;
+		};
+	}
+}
+
+helper createEnumerationShape(parent:notation::View, instanceSpecification:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := instanceSpecification;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := ENUMERATION_SHAPE_SYSML14;
+			
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(ENUMERATION_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(ENUMERATION_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			
+			// Create and set the default BasicCompartments
+			children += createDefaultBasicCompartement(ENUMERATION_LITERAL_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := ENUMERATION_SHAPE_CN_SYSML14;
+			
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(ENUMERATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(ENUMERATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			
+			// Create and set the default BasicCompartments
+			children += createDefaultBasicCompartement(ENUMERATION_LITERAL_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createInformationItemShape(parent:notation::View, instanceSpecification:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := instanceSpecification;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := INFORMATIONITEM_SHAPE_SYSML14;
+			
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(INFORMATIONITEM_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(INFORMATIONITEM_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+		} else {
+			type := INFORMATIONITEM_SHAPE_CN_SYSML14;
+			
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(INFORMATIONITEM_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(INFORMATIONITEM_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createInterfaceShape(parent:notation::View, interfaceElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := interfaceElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := INTERFACE_SHAPE_SYSML14;
+			children += createDefaultNameLabelDecorationNode(INTERFACE_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(INTERFACE_ATTRIBUTE_COMPARTMENT_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(INTERFACE_OPERATION_COMPARTMENT_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := INTERFACE_SHAPE_CN_SYSML14;
+			children += createDefaultNameLabelDecorationNode(INTERFACE_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(INTERFACE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(INTERFACE_ATTRIBUTE_COMPARTMENT_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(INTERFACE_OPERATION_COMPARTMENT_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(INTERFACE_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createInstanceSpecificationShape(parent:notation::View, instanceSpecification:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := instanceSpecification;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := INSTANCESPECIFICATION_SHAPE_SYSML14;
+			children += createDefaultNameLabelDecorationNode(INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(INSTANCESPECIFICATION_SLOP_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := INSTANCESPECIFICATION_SHAPE_CN_SYSML14;
+			children += createDefaultNameLabelDecorationNode(INSTANCESPECIFICATION_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(INSTANCESPECIFICATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultBasicCompartement(INSTANCESPECIFICATION_SLOP_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createPackageShape(parent:notation::View, packageElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := packageElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := PACKAGE_SHAPE_SYSML14;
+			children += createDefaultNameLabelDecorationNode(PACKAGE_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createTitleBasicCompartement(PACKAGE_PACKAGEDELEMENT_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := PACKAGE_SHAPE_CN_SYSML14;
+			children += createDefaultNameLabelDecorationNode(PACKAGE_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createTitleBasicCompartement(PACKAGE_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createPrimitiveTypeShape(parent:notation::View, packageElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := packageElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := PRIMITIVETYPE_SHAPE_SYSML14;
+			
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(PRIMITIVETYPE_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			
+			// Create and set the default BasicCompartments
+			children += createDefaultBasicCompartement(PRIMITIVETYPE_ATTRIBUTE_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := PRIMITIVETYPE_SHAPE_CN_SYSML14;
+			
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(PRIMITIVETYPE_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(PRIMITIVETYPE_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			
+			// Create and set the default BasicCompartments
+			children += createDefaultBasicCompartement(PRIMITIVETYPE_ATTRIBUTE_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createSignalShape(parent:notation::View, packageElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := packageElement;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		// If the shape is not in the diagram, this is a Child node
+		if (not isCN) {
+			type := SIGNAL_SHAPE_SYSML14;
+			
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(SIGNAL_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(SIGNAL_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			
+			// Create and set the default BasicCompartments
+			children += createDefaultBasicCompartement(SIGNAL_ATTRIBUTE_COMPARTMENT_SYSML14, TRUE);
+		} else {
+			type := SIGNAL_SHAPE_CN_SYSML14;
+			
+			// Create and set the default DecorationNodes
+			children += createDefaultNameLabelDecorationNode(SIGNAL_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			children += createDefaultFloatingNameLabelDecorationNode(SIGNAL_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			
+			// Create and set the default BasicCompartments
+			children += createDefaultBasicCompartement(SIGNAL_ATTRIBUTE_COMPARTMENT_CN_SYSML14, TRUE);
+		};
+	}
+}
+
+helper createTimeObservationShape(parent:notation::View, dataType:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := dataType;
+		var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+		if (not isCN) {
+			type := TIMEOBSERVATION_SHAPE_SYSML14;
+		
+			// Create and set the default DecorationNodes
+			var floatingNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(TIMEOBSERVATION_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			floatingNameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+			floatingNameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+			children += floatingNameLabel;
+			
+			var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(TIMEOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14, TRUE);
+			stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+			stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+			children += stereotypeLabel;
+		} else {
+			type := TIMEOBSERVATION_SHAPE_CN_SYSML14;
+		
+			// Create and set the default DecorationNodes
+			var floatingNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(TIMEOBSERVATION_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			floatingNameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+			floatingNameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+			children += floatingNameLabel;
+			
+			var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(TIMEOBSERVATION_STEREOTYPE_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+			stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+			stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+			children += stereotypeLabel;
+		};
+	}
+}
+
+helper createNamedElementDefaultShape(namedElement:ecore::EObject) : notation::Shape {
+	return object notation::Shape {
+		element := namedElement;
+		type := NAMEDELEMENT_DEFAULTSHAPE;
+		children += createDefaultNameLabelDecorationNode(NAMEDELEMENT_NAME_LABEL_DECORATIONNODE_SYSML14);
+	}
+}
+
+// this allows to create the default association decoration nodes
+helper createDefaultInformationFlowDecorationNodes(inout connector:notation::Connector) {
+	connector.type := INFORMATIONFLOW_EDGE_SYSML14;
+	var informationFlowConveyedLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(INFORMATIONFLOW_CONVEYED_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	informationFlowConveyedLabel.layoutConstraint.oclAsType(notation::Location).y := 30;
+	connector.children += informationFlowConveyedLabel;
+	
+	var informationFlowStereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(INFORMATIONFLOW_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	informationFlowStereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := 15;
+	connector.children += informationFlowStereotypeLabel;
+	
+	var informationFlowNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(INFORMATIONFLOW_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	informationFlowNameLabel.layoutConstraint.oclAsType(notation::Location).y := 40;
+	connector.children += informationFlowNameLabel;
+	
+	connector.styles += object notation::FontStyle{};
+}
+
+// this allows to create the default association decoration nodes
+helper createDefaultAssociationDecorationNodes(inout connector:notation::Connector) {
+	connector.type := ASSOCIATION_EDGE_SYSML14;
+
+	var associationStereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	associationStereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -20;
+	connector.children += associationStereotypeLabel;
+	
+	var associationNameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	associationNameLabel.layoutConstraint.oclAsType(notation::Location).y := 20;
+	connector.children += associationNameLabel;
+	
+	var sourceRoleLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_SOURCEROLE_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	sourceRoleLabel.layoutConstraint.oclAsType(notation::Location).y := 20;
+	connector.children += sourceRoleLabel;
+	
+	var targetRoleLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_TARGETROLE_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	targetRoleLabel.layoutConstraint.oclAsType(notation::Location).y := -20;
+	connector.children += targetRoleLabel;
+	
+	var associationSourceMultiplicityLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	associationSourceMultiplicityLabel.layoutConstraint.oclAsType(notation::Location).y := 20;
+	connector.children += associationSourceMultiplicityLabel;
+	
+	var associationTargetMultiplicityLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATION_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	associationTargetMultiplicityLabel.layoutConstraint.oclAsType(notation::Location).y := -20;
+	connector.children += associationTargetMultiplicityLabel;
+	
+	connector.styles += object notation::FontStyle{};
+}
+
+// this allows to create the default association class decoration nodes
+helper createDefaultAssociationClassDecorationNodes(inout connector:notation::Connector) {
+	connector.type := ASSOCIATIONCLASS_EDGE_SYSML14;
+	
+	var associationClassSourceRoleLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATIONCLASS_SOURCEROLE_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	associationClassSourceRoleLabel.layoutConstraint.oclAsType(notation::Location).y := -20;
+	connector.children += associationClassSourceRoleLabel;
+	
+	var associationClassTargetRoleLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ASSOCIATIONCLASS_TARGETROLE_LABEL_DECORATIONNODE_SYSML14, TRUE);
+	associationClassTargetRoleLabel.layoutConstraint.oclAsType(notation::Location).y := 20;
+	connector.children += associationClassTargetRoleLabel;
+	
+	connector.styles += object notation::FontStyle{};
+}
+
+helper modifyAssociationClassShape(inout associationClassShape:notation::Shape, parent:notation::View) {
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		associationClassShape.type := ASSOCIATIONCLASS_SHAPE_SYSML14;
+		associationClassShape.children += createDefaultNameLabelDecorationNode(ASSOCIATIONCLASS_NAME_LABEL_DECORATIONNODE_SYSML14, TRUE);
+		associationClassShape.children += createDefaultFloatingNameLabelDecorationNode(ASSOCIATIONCLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14, TRUE);
+		associationClassShape.children += createDefaultBasicCompartement(ASSOCIATIONCLASS_ATTRIBUTE_COMPARTMENT_SYSML14, TRUE);
+		associationClassShape.children += createDefaultBasicCompartement(ASSOCIATIONCLASS_OPERATION_COMPARTMENT_SYSML14, TRUE);
+		associationClassShape.children += createDefaultBasicCompartement(ASSOCIATIONCLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14, TRUE);
+	} else {
+		associationClassShape.type := ASSOCIATIONCLASS_SHAPE_CN_SYSML14;
+		associationClassShape.children += createDefaultNameLabelDecorationNode(ASSOCIATIONCLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+		associationClassShape.children += createDefaultFloatingNameLabelDecorationNode(ASSOCIATIONCLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14, TRUE);
+		associationClassShape.children += createDefaultBasicCompartement(ASSOCIATIONCLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14, TRUE);
+		associationClassShape.children += createDefaultBasicCompartement(ASSOCIATIONCLASS_OPERATION_COMPARTMENT_CN_SYSML14, TRUE);
+		associationClassShape.children += createDefaultBasicCompartement(ASSOCIATIONCLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14, TRUE);
+	};
+}
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLInternalBlockDiagram.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLInternalBlockDiagram.qvto
new file mode 100644
index 0000000..dbba61a
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLInternalBlockDiagram.qvto
@@ -0,0 +1,652 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+import org.eclipse.papyrus.interoperability.common.blackboxes.ecore.EcoreHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.notation.NotationBlackboxHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsUtils;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsConstants;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLUtils;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+modeltype nattable "strict" uses 'http://www.eclipse.org/papyrus/nattable/model';
+
+
+transformation SysMLInternalBlockDiagram(in blockDefinitionViewpoint : viewpoint, in internalBlockViewpoint : viewpoint, in parametricViewpoint : viewpoint, in requirementViewpoint : viewpoint, in umlFile : UML, in inS14Profile : SysML14, in requirementNatTableS11 : nattable, in allocationNatTableS11 : nattable, in requirementNatTableS14 : nattable, in allocationNatTableS14 : nattable, in requirementTableViewPoint : viewpoint, in allocationTableViewPoint : viewpoint, inout notationFile : notation);
+
+// Define needed constants
+property diagramName:String = "InternalBlock";
+property diagramConfigurationName:String = "SysML 1.4 Internal Block";
+
+property model:UML::Model = umlFile.rootObjects()[uml::Model]->any(true);
+property rootDiagram:notation::Diagram;
+
+property childrenToRemove:OrderedSet(notation::View);
+
+mapping notation::Diagram::fromSysML11InternalBlockDiagram() : notation::Diagram when {self.type=diagramName} {
+	init{
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		var existingEdges:OrderedSet(notation::Edge) := self.edges;
+		result := self;
+		rootDiagram := result;
+		result.edges := object OrderedSet(notation::Edge){};
+		result.edges := existingEdges->map fromSysML11Edge();
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+	}
+	type := "CompositeStructure";
+	
+	// Create the annotation for versionning
+	var model:UML::Model := umlFile.rootObjects()[uml::Model]->any(true);
+	result.eAnnotations += model.createEAnnotationForVersioning();
+	
+	// Modify or create the compatibility version
+	setOrCreateCompatibilityVersion(result);
+	
+	// Add the viewpoint configuration to the papyrus view style
+	addPapyrusViewStyleConfiguration(result, model, getInternalBlockPapyrusDiagramConfiguration());
+	
+	// Remove the needed children
+	childrenToRemove->forEach(childToRemove){
+		var parent:ecore::EObject := childToRemove.oclAsType(ecore::EObject).eContainer();
+		if (parent.oclIsKindOf(notation::View)) {
+			var parentView:notation::View := parent.oclAsType(notation::View);
+			removeFromOwnerView(parentView, childToRemove);
+		};
+	};
+}
+
+// Get the requirement papyrus diagram configuration from the viewpoint file
+helper getInternalBlockPapyrusDiagramConfiguration() : viewpoint::PapyrusDiagram {
+	return internalBlockViewpoint.objects()->selectByType(viewpoint::PapyrusDiagram)->any(curr | curr.name = diagramConfigurationName);
+}
+
+// Nodes ans shapes management
+mapping notation::Node::fromSysML11Shape(parent:notation::View) : notation::Node disjuncts
+	notation::BasicCompartment::fromSysML11BasicCompartment,
+	notation::DecorationNode::fromSysML11DecorationNode,
+	notation::Shape::fromSysML11StereotypeComment,
+	notation::Shape::fromSysML11AffixedPortAsAffixedPort,
+	notation::Shape::fromSysML11BlockAsClass,
+	notation::Shape::fromSysML11PropertyAsProperty,
+	notation::Shape::fromSysML11DefaultShape
+{}
+
+mapping notation::Shape::fromSysML11AffixedPortAsAffixedPort(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and ((self.type = PORT_AS_AFFIXED_SYSML11) or (self.type = FLOWPORT_AS_AFFIXED_SYSML11))} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelDecorationNodeExist:Boolean := false;
+	var isStereotypeLabelDecorationNodeExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = AFFIXED_PORT_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := PORT_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = AFFIXED_FLOWPORT_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := PORT_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_AFFIXED_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := PORT_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	type := PORT_SHAPE_SYSML14;
+	
+	if(not isNameLabelDecorationNodeExist){
+		var nameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(PORT_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		nameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+		children += nameLabel;
+	};
+	if(not isNameLabelDecorationNodeExist){
+		var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(PORT_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+		children += stereotypeLabel;
+	};
+}
+
+mapping notation::Shape::fromSysML11BlockAsClass(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = BLOCK_AS_COMPOSITE_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isStructureCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = LABEL_BLOCK_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_STRUCTURE_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_STRUCTURE_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_STRUCTURE_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isStructureCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := CLASS_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isStructureCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_STRUCTURE_COMPARTMENT_SYSML14);
+		};
+		
+	} else {
+		type := CLASS_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isStructureCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_STRUCTURE_COMPARTMENT_CN_SYSML14);
+		};
+	};
+	
+	// If the stereotype label decoration node and stereotype brace basic compartment are not available, create it
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	if(result.children[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE).oclIsUndefined()){
+		createStereotypeLabelDecorationNode(result, BLOCK_STEREOTYPE_QN);
+	};
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	if(result.children[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT).oclIsUndefined()){
+		createStereotypeBasicCompartment(result, STEREOTYPE_BRACE_COMPARTMENT, BLOCK_STEREOTYPE_QN);
+	};
+	children += createTitleBasicCompartement(COMPARTMENT_SHAPE_DISPLAY);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	if(result.children[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT).oclIsUndefined()){
+		createStereotypeBasicCompartment(result, STEREOTYPE_COMPARTMENT_COMPARTMENT, BLOCK_STEREOTYPE_QN);
+	};
+	
+	// Manage affixed ports
+	children += existingChildren[notation::Shape]->map fromSysML11AffixedPortAsAffixedPort(result);
+}
+
+mapping notation::Shape::fromSysML11PropertyAsProperty(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = BLOCKPROPERTY_AS_COMPOSITE_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isStructureCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = PROPERTY_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := PROPERTY_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = BLOCKPROPERTY_STRUCTURE_COMPARTMENT_SYSML11) {
+			existingChild.type := PROPERTY_STRUCTURE_COMPARTMENT_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isStructureCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	type := PROPERTY_SHAPE_SYSML14;
+	
+	if(not isClassNameDecorationNodeExist){
+		children += createDefaultNameLabelDecorationNode(PROPERTY_NAME_LABEL_DECORATIONNODE_SYSML14);
+	};
+	children += createDefaultFloatingNameLabelDecorationNode(PROPERTY_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+	
+	if(not isStructureCompartmentExist){
+		children += createDefaultBasicCompartement(PROPERTY_STRUCTURE_COMPARTMENT_SYSML14);
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	// Manage affixed ports
+	children += existingChildren[notation::Shape]->map fromSysML11AffixedPortAsAffixedPort(result);
+}
+
+mapping notation::Shape::fromSysML11StereotypeComment(parent:notation::View) : notation::Shape when {self.type = STEREOTYPE_COMMENT} {
+	init {
+		result := self;
+	}
+	
+	childrenToRemove += result;
+}
+
+mapping notation::Shape::fromSysML11DefaultShape(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape)} {
+	init {
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+	}
+}
+
+mapping notation::BasicCompartment::fromSysML11BasicCompartment(parent:notation::View) : notation::BasicCompartment disjuncts
+	notation::BasicCompartment::fromSysML11StereotypeBraceAndCompartment,
+	notation::BasicCompartment::fromSysML11BasicCompartmentDefault
+{}
+
+mapping notation::BasicCompartment::fromSysML11BasicCompartmentDefault(parent:notation::View) : notation::BasicCompartment when {self.oclIsTypeOf(notation::BasicCompartment) and self.type <> REQUIREMENT_IDINFO_COMPARTMENT_SYSML11}{
+	init{
+		result := self;
+		setPapyrusCSSForceValueVisible(result, TRUE);
+	}
+}
+
+mapping notation::BasicCompartment::fromSysML11StereotypeBraceAndCompartment(parent:notation::View) : notation::BasicCompartment when {self.oclIsTypeOf(notation::BasicCompartment) and (self.type = STEREOTYPE_BRACE_COMPARTMENT or self.type = STEREOTYPE_COMPARTMENT_COMPARTMENT) }{
+	init{
+		result := self;
+		if(self.element.oclIsKindOf(UML::Stereotype)){
+			var stereotype:UML::Stereotype := self.element.oclAsType(UML::Stereotype).toSysML14Stereotype(inS14Profile.objectsOfType(UML::Stereotype));
+			if (stereotype.oclIsUndefined()) {
+				// The stereotype was not find in SysML1.4, remove the compartment
+				childrenToRemove += result;
+			} else {
+				result.element := stereotype.oclAsType(ecore::EObject);
+			}
+		};
+	}
+}
+
+mapping notation::DecorationNode::fromSysML11DecorationNode(parent:notation::View) : notation::DecorationNode disjuncts
+	notation::DecorationNode::fromSysML11StereotypeLabel,
+	notation::DecorationNode::fromSysML11DecorationNodeDefault
+{}
+
+mapping notation::DecorationNode::fromSysML11StereotypeLabel(parent:notation::View) : notation::DecorationNode when {self.oclIsTypeOf(notation::DecorationNode) and self.type = STEREOTYPE_LABEL_DECORATION_NODE}{
+	init{
+		result := self;
+		if(self.element.oclIsKindOf(UML::Stereotype)){
+			var stereotype:UML::Stereotype := self.element.oclAsType(UML::Stereotype).toSysML14Stereotype(inS14Profile.objectsOfType(UML::Stereotype));
+			if (stereotype.oclIsUndefined()) {
+				// The stereotype was not find in SysML1.4, remove the decoration node
+				childrenToRemove += result;
+			} else {
+				result.element := stereotype.oclAsType(ecore::EObject);
+			}
+		};
+	}
+}
+
+mapping notation::DecorationNode::fromSysML11DecorationNodeDefault(parent:notation::View) : notation::DecorationNode when {self.oclIsTypeOf(notation::DecorationNode)} {
+	init{
+		result := self;
+		setPapyrusCSSForceValueVisible(result, TRUE);
+	}
+}
+
+// Helpers to create stereotypes decoration nodes and compartments
+helper createStereotypeLabelDecorationNode(inout parent:notation::View, stereotypeQualifiedName:String){
+	var stereotypeElement:UML::Stereotype := inS14Profile.objectsOfType(UML::Stereotype)->any(curr | curr.getQualifiedName()=stereotypeQualifiedName);
+	if(not stereotypeElement.oclIsUndefined()){
+		var createdStereotypeLabelDecorationNode:notation::DecorationNode := object DecorationNode{
+			type := STEREOTYPE_LABEL_DECORATION_NODE;
+			styles += object notation::StringValueStyle{
+				name := "stereotype";
+				stringValue := stereotypeQualifiedName;
+			};
+			layoutConstraint := object notation::Bounds{};
+			element := stereotypeElement.oclAsType(ecore::EObject);
+		};
+		parent.children += createdStereotypeLabelDecorationNode;
+	};
+}
+
+helper createStereotypeBasicCompartment(inout parent:notation::View, typeCompartment:String, stereotypeQualifiedName:String){
+	var stereotypeElement:UML::Stereotype := inS14Profile.objectsOfType(UML::Stereotype)->any(curr | curr.getQualifiedName()=stereotypeQualifiedName);
+	if(not stereotypeElement.oclIsUndefined()){
+		var createdStereotypeBraceBasicCompartment:notation::BasicCompartment := object BasicCompartment{
+			type := typeCompartment;
+			styles += object notation::TitleStyle{};
+			styles += object notation::StringValueStyle{
+				name := "stereotype";
+				stringValue := stereotypeQualifiedName;
+			};
+			layoutConstraint := object notation::Bounds{};
+			element := stereotypeElement.oclAsType(ecore::EObject);
+		};
+		parent.children += createdStereotypeBraceBasicCompartment;
+	};
+}
+
+// Edges management
+mapping notation::Edge::fromSysML11Edge() : notation::Edge disjuncts
+	notation::Edge::fromSysML11StereotypeCommentLink,
+	notation::Edge::fromSysML11ConnectorAsConnector,
+	notation::Edge::fromSysML11DependencyAsManifestation, // Must be done before Abstraction
+	notation::Edge::fromSysML11DependencyAsRealization,  // Must be done before Abstraction
+	notation::Edge::fromSysML11DependencyAsUsage,   // Must be done before Abstraction
+	notation::Edge::fromSysML11DependencyAsAbstraction, // Must be done before Dependency
+	notation::Edge::fromSysML11DependencyAsDependency,
+	notation::Edge::fromSysML11DefaultEdge
+{}
+
+mapping notation::Edge::fromSysML11DependencyAsAbstraction() : notation::Edge when {self.element.oclIsKindOf(UML::Abstraction) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := ABSTRATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := ABSTRACTION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := ABSTRACTION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ABSTRACTION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += nameLabelDecorationNode;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ABSTRACTION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11ConnectorAsConnector() : notation::Edge when {self.type = LINK_UML_CONNECTOR_SYSML11} {
+	init {
+		result := self;
+	}
+	type := CONNECTOR_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	var isSourceMultiplicityCompartmentExist:Boolean := false;
+	var isTargetMultiplicityCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = CONNECTOR_NAME_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := CONNECTOR_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := CONNECTOR_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = CONNECTOR_SOURCE_MULTIPLICITY_DECORATIONODE_SYSML11) {
+			existingChild.type := CONNECTOR_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isSourceMultiplicityCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = CONNECTOR_TARGET_MULTIPLICITY_DECORATIONODE_SYSML11) {
+			existingChild.type := CONNECTOR_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isTargetMultiplicityCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(CONNECTOR_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(CONNECTOR_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := -20;
+		children += nameLabelDecorationNode;
+	};
+	if(not isSourceMultiplicityCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(CONNECTOR_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 20;
+		children += nameLabelDecorationNode;
+	};
+	if(not isTargetMultiplicityCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(CONNECTOR_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 20;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsDependency() : notation::Edge when {self.element.oclIsKindOf(UML::Dependency) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := DEPENDENCY_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += nameLabelDecorationNode;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsManifestation() : notation::Edge when {self.element.oclIsKindOf(UML::Manifestation) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := MANIFESTATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := MANIFESTATION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := MANIFESTATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(MANIFESTATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += nameLabelDecorationNode;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(MANIFESTATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsRealization() : notation::Edge when {self.element.oclIsKindOf(UML::Realization) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := REALIZATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := REALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := REALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(REALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += stereotypeLabelDecorationNode;
+	};
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(REALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += nameLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsUsage() : notation::Edge when {self.element.oclIsKindOf(UML::Usage) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := USAGE_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := USAGE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := USAGE_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(USAGE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += nameLabelDecorationNode;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(USAGE_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11StereotypeCommentLink() : notation::Edge when {self.type = STEREOTYPE_COMMENT_LINK} {
+	init {
+		result := self;
+	}
+	
+	childrenToRemove += result;
+}
+
+mapping notation::Edge::fromSysML11DefaultEdge() : notation::Edge {
+	init {
+		result := self;
+	}
+}
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLNotation.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLNotation.qvto
new file mode 100644
index 0000000..5b2158e
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLNotation.qvto
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+import org.eclipse.papyrus.interoperability.common.blackboxes.ecore.EcoreHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLBlockDefinitionDiagram;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLInternalBlockDiagram;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLParametricDiagram;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLRequirementDiagram;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLAllocationTable;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLRequirementTable;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+modeltype nattable "strict" uses 'http://www.eclipse.org/papyrus/nattable/model';
+
+
+transformation SysMLNotation(in blockDefinitionViewpoint : viewpoint, in internalBlockViewpoint : viewpoint, in parametricViewpoint : viewpoint, in requirementViewpoint : viewpoint, in umlFile : UML, in inS14Profile : SysML14, in requirementNatTableS11 : nattable, in allocationNatTableS11 : nattable, in requirementNatTableS14 : nattable, in allocationNatTableS14 : nattable, in requirementTableViewPoint : viewpoint, in allocationTableViewPoint : viewpoint, inout notationFile : notation);
+
+main() {
+	notationFile.objects()[notation::Diagram]->map filterSysMLDiagrams();
+	notationFile.objects()[nattable::Table]->map filterSysMLTables();
+}
+
+mapping notation::Diagram::filterSysMLDiagrams() : notation::Diagram disjuncts
+	notation::Diagram::fromSysML11BlockDefinitionDiagram,
+	notation::Diagram::fromSysML11InternalBlockDiagram,
+	notation::Diagram::fromSysML11ParametricDiagram,
+	notation::Diagram::fromSysML11RequirementDiagram
+{}
+
+mapping nattable::Table::filterSysMLTables() : nattable::Table disjuncts
+	nattable::Table::fromSysML11RequirementTable,
+	nattable::Table::fromSysML11AllocationTable
+{}
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLParametricDiagram.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLParametricDiagram.qvto
new file mode 100644
index 0000000..3c91373
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLParametricDiagram.qvto
@@ -0,0 +1,760 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+import org.eclipse.papyrus.interoperability.common.blackboxes.ecore.EcoreHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.notation.NotationBlackboxHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsUtils;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsConstants;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLUtils;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+modeltype nattable "strict" uses 'http://www.eclipse.org/papyrus/nattable/model';
+
+
+transformation SysMLParametricDiagram(in blockDefinitionViewpoint : viewpoint, in internalBlockViewpoint : viewpoint, in parametricViewpoint : viewpoint, in requirementViewpoint : viewpoint, in umlFile : UML, in inS14Profile : SysML14, in requirementNatTableS11 : nattable, in allocationNatTableS11 : nattable, in requirementNatTableS14 : nattable, in allocationNatTableS14 : nattable, in requirementTableViewPoint : viewpoint, in allocationTableViewPoint : viewpoint, inout notationFile : notation);
+
+// Define needed constants
+property diagramName:String = "Parametric";
+property diagramConfigurationName:String = "SysML 1.4 Parametric";
+
+property model:UML::Model = umlFile.rootObjects()[uml::Model]->any(true);
+property rootDiagram:notation::Diagram;
+
+property childrenToRemove:OrderedSet(notation::View);
+
+mapping notation::Diagram::fromSysML11ParametricDiagram() : notation::Diagram when {self.type=diagramName} {
+	init{
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		var existingEdges:OrderedSet(notation::Edge) := self.edges;
+		result := self;
+		rootDiagram := result;
+		result.edges := object OrderedSet(notation::Edge){};
+		result.edges := existingEdges->map fromSysML11Edge();
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+	}
+	type := "CompositeStructure";
+	
+	// Create the annotation for versionning
+	var model:UML::Model := umlFile.rootObjects()[uml::Model]->any(true);
+	result.eAnnotations += model.createEAnnotationForVersioning();
+	
+	// Modify or create the compatibility version
+	setOrCreateCompatibilityVersion(result);
+	
+	// Add the viewpoint configuration to the papyrus view style
+	addPapyrusViewStyleConfiguration(result, model, getParametricPapyrusDiagramConfiguration());
+	
+	// Remove the needed children
+	childrenToRemove->forEach(childToRemove){
+		var parent:ecore::EObject := childToRemove.oclAsType(ecore::EObject).eContainer();
+		if (parent.oclIsKindOf(notation::View)) {
+			var parentView:notation::View := parent.oclAsType(notation::View);
+			removeFromOwnerView(parentView, childToRemove);
+		};
+	};
+}
+
+// Get the requirement papyrus diagram configuration from the viewpoint file
+helper getParametricPapyrusDiagramConfiguration() : viewpoint::PapyrusDiagram {
+	return parametricViewpoint.objects()->selectByType(viewpoint::PapyrusDiagram)->any(curr | curr.name = diagramConfigurationName);
+}
+
+// Nodes ans shapes management
+mapping notation::Node::fromSysML11Shape(parent:notation::View) : notation::Node disjuncts
+	notation::BasicCompartment::fromSysML11BasicCompartment,
+	notation::DecorationNode::fromSysML11DecorationNode,
+	notation::Shape::fromSysML11StereotypeComment,
+	notation::Shape::fromSysML11AffixedPropertyAsAffixedPort,
+	notation::Shape::fromSysML11BlockAsClass,
+	notation::Shape::fromSysML11ConstraintPropertyAsContraintProperty,
+	notation::Shape::fromSysML11PropertyAsProperty,
+	notation::Shape::fromSysML11DefaultShape
+{}
+
+mapping notation::Shape::fromSysML11AffixedPropertyAsAffixedPort(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = PROPERTY_AS_AFFIXED_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelDecorationNodeExist:Boolean := false;
+	var isStereotypeLabelDecorationNodeExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = AFFIXED_PORT_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := PORT_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_AFFIXED_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := PORT_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);			
+			isStereotypeLabelDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	type := PORT_SHAPE_SYSML14;
+	
+	if(not isNameLabelDecorationNodeExist){
+		var nameLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(PORT_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		nameLabel.layoutConstraint.oclAsType(notation::Location).y := 3;
+		children += nameLabel;
+	};
+	if(not isNameLabelDecorationNodeExist){
+		var stereotypeLabel:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(PORT_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).x := 25;
+		stereotypeLabel.layoutConstraint.oclAsType(notation::Location).y := -10;
+		children += stereotypeLabel;
+	};
+}
+
+mapping notation::Shape::fromSysML11AffixedPortAsParameterBorderItem(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = PROPERTY_AS_AFFIXED_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	// If the shape is not in the diagram, this is a Child node
+	type := PARAMETER_BORDERITEM_SHAPE_SYSML14;
+	
+	var parameterLabel:notation::Shape := object notation::Shape{
+		type := PARAMETER_LABEL_SHAPE_SYSML14;
+		fontName := "Segoe UI";
+	};
+	parameterLabel.layoutConstraint := object notation::Bounds{};
+	parameterLabel.eAnnotations += object ecore::EAnnotation{
+		source := PAPYRUS_CSS_FORCE_VALUE;
+		details += object ecore::EStringToStringMapEntry{
+			key := "lineColor";
+			value := TRUE;
+		};
+		details += object ecore::EStringToStringMapEntry{
+			key := "fontHeight";
+			value := TRUE;
+		};
+		details += object ecore::EStringToStringMapEntry{
+			key := "bold";
+			value := TRUE;
+		};
+		details += object ecore::EStringToStringMapEntry{
+			key := "italic";
+			value := TRUE;
+		};
+		details += object ecore::EStringToStringMapEntry{
+			key := "fontColor";
+			value := TRUE;
+		};
+		details += object ecore::EStringToStringMapEntry{
+			key := "fillColor";
+			value := TRUE;
+		};
+	};
+	children += parameterLabel;
+}
+
+mapping notation::Shape::fromSysML11BlockAsClass(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = BLOCK_AS_COMPOSITE_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isStructureCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = LABEL_BLOCK_COMPARTMENT_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_STRUCTURE_SYSML11) {
+			if (isCN) {
+				existingChild.type := CLASS_STRUCTURE_COMPARTMENT_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_STRUCTURE_COMPARTMENT_SYSML14;
+			};
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isStructureCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := CLASS_SHAPE_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		if(not isStructureCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_STRUCTURE_COMPARTMENT_SYSML14);
+		};
+		
+	} else {
+		type := CLASS_SHAPE_CN_SYSML14;
+		
+		if(not isClassNameDecorationNodeExist){
+			children += createDefaultNameLabelDecorationNode(CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14);
+		};
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		if(not isStructureCompartmentExist){
+			children += createDefaultBasicCompartement(CLASS_STRUCTURE_COMPARTMENT_CN_SYSML14);
+		};
+	};
+	
+	// If the stereotype label decoration node and stereotype brace basic compartment are not available, create it
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	if(result.children[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE).oclIsUndefined()){
+		createStereotypeLabelDecorationNode(result, BLOCK_STEREOTYPE_QN);
+	};
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	if(result.children[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT).oclIsUndefined()){
+		createStereotypeBasicCompartment(result, STEREOTYPE_BRACE_COMPARTMENT, BLOCK_STEREOTYPE_QN);
+	};
+	children += createTitleBasicCompartement(COMPARTMENT_SHAPE_DISPLAY);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	if(result.children[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT).oclIsUndefined()){
+		createStereotypeBasicCompartment(result, STEREOTYPE_COMPARTMENT_COMPARTMENT, BLOCK_STEREOTYPE_QN);
+	};
+}
+
+mapping notation::Shape::fromSysML11ConstraintPropertyAsContraintProperty(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = CONSTRAINTBLOCKPROPERTY_AS_COMPOSITE_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	if(self.layoutConstraint.oclIsKindOf(notation::Bounds)){
+		result.layoutConstraint.oclAsType(notation::Bounds).width := self.layoutConstraint.oclAsType(notation::Bounds).width;
+		result.layoutConstraint.oclAsType(notation::Bounds).height := self.layoutConstraint.oclAsType(notation::Bounds).height;
+	};
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isStructureCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = PROPERTY_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := PROPERTY_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = BLOCKPROPERTY_STRUCTURE_COMPARTMENT_SYSML11) {
+			existingChild.type := PROPERTY_STRUCTURE_COMPARTMENT_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isStructureCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = "shape_uml_constraint_as_label") {
+			existingChild.type := CONSTRAINTS_COMPARTMENT_SYSML14;
+			// TODO: This must be a contraint, not a compartment
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	type := CONSTRAINTPROPERTYCOMPOSITE_SHAPE_SYSML14;
+	
+	if(not isClassNameDecorationNodeExist){
+		children += createDefaultNameLabelDecorationNode(PROPERTY_NAME_LABEL_DECORATIONNODE_SYSML14);
+	};
+	children += createDefaultFloatingNameLabelDecorationNode(PROPERTY_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+	
+	if(not isStructureCompartmentExist){
+		children += createDefaultBasicCompartement(PROPERTY_STRUCTURE_COMPARTMENT_SYSML14);
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	// Manage affixed ports
+	children += existingChildren[notation::Shape]->map fromSysML11AffixedPortAsParameterBorderItem(result);
+}
+
+mapping notation::Shape::fromSysML11PropertyAsProperty(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = BLOCKPROPERTY_AS_COMPOSITE_SYSML11} {
+	init {
+		result := self;
+	}
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isClassNameDecorationNodeExist:Boolean := false;
+	var isStructureCompartmentExist:Boolean := false;
+	
+	// Loop on existing children to map with the new correct type
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = PROPERTY_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := PROPERTY_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isClassNameDecorationNodeExist := true;
+			children += existingChild;
+		} elif (existingChild.type = BLOCKPROPERTY_STRUCTURE_COMPARTMENT_SYSML11) {
+			existingChild.type := PROPERTY_STRUCTURE_COMPARTMENT_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			// Calculate the new children
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			isStructureCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	type := PROPERTY_SHAPE_SYSML14;
+	
+	if(not isClassNameDecorationNodeExist){
+		children += createDefaultNameLabelDecorationNode(PROPERTY_NAME_LABEL_DECORATIONNODE_SYSML14);
+	};
+	children += createDefaultFloatingNameLabelDecorationNode(PROPERTY_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+	
+	if(not isStructureCompartmentExist){
+		children += createDefaultBasicCompartement(PROPERTY_STRUCTURE_COMPARTMENT_SYSML14);
+	};
+	
+	children += existingChildren[notation::DecorationNode]->any(curr | curr.type = STEREOTYPE_LABEL_DECORATION_NODE)->map fromSysML11StereotypeLabel(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_BRACE_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	children += existingChildren[notation::BasicCompartment]->any(curr | curr.type = STEREOTYPE_COMPARTMENT_COMPARTMENT)->map fromSysML11StereotypeBraceAndCompartment(result);
+	// Manage affixed ports
+	children += existingChildren[notation::Shape]->map fromSysML11AffixedPropertyAsAffixedPort(result);
+}
+
+mapping notation::Shape::fromSysML11StereotypeComment(parent:notation::View) : notation::Shape when {self.type = STEREOTYPE_COMMENT} {
+	init {
+		result := self;
+	}
+	
+	childrenToRemove += result;
+}
+
+mapping notation::Shape::fromSysML11DefaultShape(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape)} {
+	init {
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+	}
+}
+
+mapping notation::BasicCompartment::fromSysML11BasicCompartment(parent:notation::View) : notation::BasicCompartment disjuncts
+	notation::BasicCompartment::fromSysML11StereotypeBraceAndCompartment,
+	notation::BasicCompartment::fromSysML11BasicCompartmentDefault
+{}
+
+mapping notation::BasicCompartment::fromSysML11BasicCompartmentDefault(parent:notation::View) : notation::BasicCompartment when {self.oclIsTypeOf(notation::BasicCompartment) and self.type <> REQUIREMENT_IDINFO_COMPARTMENT_SYSML11}{
+	init{
+		result := self;
+		setPapyrusCSSForceValueVisible(result, TRUE);
+	}
+}
+
+mapping notation::BasicCompartment::fromSysML11StereotypeBraceAndCompartment(parent:notation::View) : notation::BasicCompartment when {self.oclIsTypeOf(notation::BasicCompartment) and (self.type = STEREOTYPE_BRACE_COMPARTMENT or self.type = STEREOTYPE_COMPARTMENT_COMPARTMENT) }{
+	init{
+		result := self;
+		if(self.element.oclIsKindOf(UML::Stereotype)){
+			var stereotype:UML::Stereotype := self.element.oclAsType(UML::Stereotype).toSysML14Stereotype(inS14Profile.objectsOfType(UML::Stereotype));
+			if (stereotype.oclIsUndefined()) {
+				// The stereotype was not find in SysML1.4, remove the compartment
+				childrenToRemove += result;
+			} else {
+				result.element := stereotype.oclAsType(ecore::EObject);
+			}
+		};
+	}
+}
+
+mapping notation::DecorationNode::fromSysML11DecorationNode(parent:notation::View) : notation::DecorationNode disjuncts
+	notation::DecorationNode::fromSysML11StereotypeLabel,
+	notation::DecorationNode::fromSysML11DecorationNodeDefault
+{}
+
+mapping notation::DecorationNode::fromSysML11StereotypeLabel(parent:notation::View) : notation::DecorationNode when {self.oclIsTypeOf(notation::DecorationNode) and self.type = STEREOTYPE_LABEL_DECORATION_NODE}{
+	init{
+		result := self;
+		if(self.element.oclIsKindOf(UML::Stereotype)){
+			var stereotype:UML::Stereotype := self.element.oclAsType(UML::Stereotype).toSysML14Stereotype(inS14Profile.objectsOfType(UML::Stereotype));
+			if (stereotype.oclIsUndefined()) {
+				// The stereotype was not find in SysML1.4, remove the decoration node
+				childrenToRemove += result;
+			} else {
+				result.element := stereotype.oclAsType(ecore::EObject);
+			}
+		};
+	}
+}
+
+mapping notation::DecorationNode::fromSysML11DecorationNodeDefault(parent:notation::View) : notation::DecorationNode when {self.oclIsTypeOf(notation::DecorationNode)} {
+	init{
+		result := self;
+		setPapyrusCSSForceValueVisible(result, TRUE);
+	}
+}
+
+// Helpers to create stereotypes decoration nodes and compartments
+helper createStereotypeLabelDecorationNode(inout parent:notation::View, stereotypeQualifiedName:String){
+	var stereotypeElement:UML::Stereotype := inS14Profile.objectsOfType(UML::Stereotype)->any(curr | curr.getQualifiedName()=stereotypeQualifiedName);
+	if(not stereotypeElement.oclIsUndefined()){
+		var createdStereotypeLabelDecorationNode:notation::DecorationNode := object DecorationNode{
+			type := STEREOTYPE_LABEL_DECORATION_NODE;
+			styles += object notation::StringValueStyle{
+				name := "stereotype";
+				stringValue := stereotypeQualifiedName;
+			};
+			layoutConstraint := object notation::Bounds{};
+			element := stereotypeElement.oclAsType(ecore::EObject);
+		};
+		parent.children += createdStereotypeLabelDecorationNode;
+	};
+}
+
+helper createStereotypeBasicCompartment(inout parent:notation::View, typeCompartment:String, stereotypeQualifiedName:String){
+	var stereotypeElement:UML::Stereotype := inS14Profile.objectsOfType(UML::Stereotype)->any(curr | curr.getQualifiedName()=stereotypeQualifiedName);
+	if(not stereotypeElement.oclIsUndefined()){
+		var createdStereotypeBraceBasicCompartment:notation::BasicCompartment := object BasicCompartment{
+			type := typeCompartment;
+			styles += object notation::TitleStyle{};
+			styles += object notation::StringValueStyle{
+				name := "stereotype";
+				stringValue := stereotypeQualifiedName;
+			};
+			layoutConstraint := object notation::Bounds{};
+			element := stereotypeElement.oclAsType(ecore::EObject);
+		};
+		parent.children += createdStereotypeBraceBasicCompartment;
+	};
+}
+
+// Edges management
+mapping notation::Edge::fromSysML11Edge() : notation::Edge disjuncts
+	notation::Edge::fromSysML11StereotypeCommentLink,
+	notation::Edge::fromSysML11ConnectorAsConnector,
+	notation::Edge::fromSysML11ConstraintAsContraint,
+	notation::Edge::fromSysML11DependencyAsManifestation, // Must be done before Abstraction
+	notation::Edge::fromSysML11DependencyAsRealization,  // Must be done before Abstraction
+	notation::Edge::fromSysML11DependencyAsUsage,   // Must be done before Abstraction
+	notation::Edge::fromSysML11DependencyAsAbstraction, // Must be done before Dependency
+	notation::Edge::fromSysML11DependencyAsDependency,
+	notation::Edge::fromSysML11DefaultEdge
+{}
+
+mapping notation::Edge::fromSysML11DependencyAsAbstraction() : notation::Edge when {self.element.oclIsKindOf(UML::Abstraction) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := ABSTRATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := ABSTRACTION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := ABSTRACTION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ABSTRACTION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += nameLabelDecorationNode;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(ABSTRACTION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11ConnectorAsConnector() : notation::Edge when {self.type = LINK_UML_CONNECTOR_SYSML11} {
+	init {
+		result := self;
+	}
+	type := CONNECTOR_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	var isSourceMultiplicityCompartmentExist:Boolean := false;
+	var isTargetMultiplicityCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = CONNECTOR_NAME_LABEL_DECORATIONNODE_SYSML11) {
+			existingChild.type := CONNECTOR_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := CONNECTOR_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = CONNECTOR_SOURCE_MULTIPLICITY_DECORATIONODE_SYSML11) {
+			existingChild.type := CONNECTOR_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isSourceMultiplicityCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = CONNECTOR_TARGET_MULTIPLICITY_DECORATIONODE_SYSML11) {
+			existingChild.type := CONNECTOR_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isTargetMultiplicityCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(CONNECTOR_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(CONNECTOR_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := -20;
+		children += nameLabelDecorationNode;
+	};
+	if(not isSourceMultiplicityCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(CONNECTOR_SOURCEMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 20;
+		children += nameLabelDecorationNode;
+	};
+	if(not isTargetMultiplicityCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(CONNECTOR_TARGETMULTIPLICITY_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 20;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11ConstraintAsContraint() : notation::Edge when {self.type = CONSTRAINT_CONTEXTEDGE_SHAPE_SYSML11} {
+	init {
+		result := self;
+	}
+	type := CONSTRAINT_CONSTRAINEDELEMENTEDGE_SHAPE_SYSML14;
+	children := object OrderedSet(notation::Node){};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsDependency() : notation::Edge when {self.element.oclIsKindOf(UML::Dependency) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := DEPENDENCY_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DEPENDENCY_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += nameLabelDecorationNode;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsManifestation() : notation::Edge when {self.element.oclIsKindOf(UML::Manifestation) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := MANIFESTATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := MANIFESTATION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := MANIFESTATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(MANIFESTATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += nameLabelDecorationNode;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(MANIFESTATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsRealization() : notation::Edge when {self.element.oclIsKindOf(UML::Realization) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := REALIZATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := REALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := REALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(REALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += stereotypeLabelDecorationNode;
+	};
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(REALIZATION_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += nameLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11DependencyAsUsage() : notation::Edge when {self.element.oclIsKindOf(UML::Usage) and self.type = LINK_UML_DEPENDENCY_SYSML11} {
+	init {
+		result := self;
+	}
+	type := USAGE_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isNameLabelCompartmentExist:Boolean := false;
+	var isStereotypeLabelCompartmentExist:Boolean := false;
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = NAMEDELEMENT_LINK_NAME_DECORATIONODE_SYSML11) {
+			existingChild.type := USAGE_NAME_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isNameLabelCompartmentExist := true;
+			children += existingChild;
+		} elif (existingChild.type = APPLIEDSTEREOTYPE_LINK_LABEL_DECORATIONODE_SYSML11) {
+			existingChild.type := USAGE_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			isStereotypeLabelCompartmentExist := true;
+			children += existingChild;
+		};
+	};
+	
+	if(not isNameLabelCompartmentExist){
+		var nameLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(USAGE_NAME_LABEL_DECORATIONNODE_SYSML14);
+		nameLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 40;
+		children += nameLabelDecorationNode;
+	};
+	if(not isStereotypeLabelCompartmentExist){
+		var stereotypeLabelDecorationNode:notation::DecorationNode := createDefaultFloatingNameLabelDecorationNode(USAGE_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14);
+		stereotypeLabelDecorationNode.layoutConstraint.oclAsType(notation::Location).y := 60;
+		children += stereotypeLabelDecorationNode;
+	};
+}
+
+mapping notation::Edge::fromSysML11StereotypeCommentLink() : notation::Edge when {self.type = STEREOTYPE_COMMENT_LINK} {
+	init {
+		result := self;
+	}
+	
+	childrenToRemove += result;
+}
+
+mapping notation::Edge::fromSysML11DefaultEdge() : notation::Edge {
+	init {
+		result := self;
+	}
+}
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLRequirementDiagram.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLRequirementDiagram.qvto
new file mode 100644
index 0000000..199ae69
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLRequirementDiagram.qvto
@@ -0,0 +1,612 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+import org.eclipse.papyrus.interoperability.common.blackboxes.ecore.EcoreHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.notation.NotationBlackboxHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsUtils;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLDiagramsConstants;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLUtils;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+modeltype nattable "strict" uses 'http://www.eclipse.org/papyrus/nattable/model';
+
+
+transformation SysMLRequirementDiagram(in blockDefinitionViewpoint : viewpoint, in internalBlockViewpoint : viewpoint, in parametricViewpoint : viewpoint, in requirementViewpoint : viewpoint, in umlFile : UML, in inS14Profile : SysML14, in requirementNatTableS11 : nattable, in allocationNatTableS11 : nattable, in requirementNatTableS14 : nattable, in allocationNatTableS14 : nattable, in requirementTableViewPoint : viewpoint, in allocationTableViewPoint : viewpoint, inout notationFile : notation);
+
+// Define needed constants
+property diagramName:String = "RequirementDiagram";
+property diagramConfigurationName:String = "SysML 1.4 Requirement";
+
+property model:UML::Model = umlFile.rootObjects()[uml::Model]->any(true);
+property rootDiagram:notation::Diagram;
+
+property childrenToRemove:OrderedSet(notation::View);
+
+mapping notation::Diagram::fromSysML11RequirementDiagram() : notation::Diagram when {self.type=diagramName} {
+	init{
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		var existingEdges:OrderedSet(notation::Edge) := self.edges;
+		result := self;
+		rootDiagram := result;
+		result.edges := object OrderedSet(notation::Edge){};
+		result.edges := existingEdges->map fromSysML11Edge();
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+		result.children[notation::Shape]->map fromSysML11ShapeToSysML14Edge(result);
+	}
+	type := "PapyrusUMLClassDiagram";
+	
+	// Create the annotation for versionning
+	var model:UML::Model := umlFile.rootObjects()[uml::Model]->any(true);
+	result.eAnnotations += model.createEAnnotationForVersioning();
+	
+	// Modify or create the compatibility version
+	setOrCreateCompatibilityVersion(result);
+	
+	// Add the viewpoint configuration to the papyrus view style
+	addPapyrusViewStyleConfiguration(result, model, getRequirementPapyrusDiagramConfiguration());
+	
+	// Remove the needed children
+	childrenToRemove->forEach(childToRemove){
+		var parent:ecore::EObject := childToRemove.oclAsType(ecore::EObject).eContainer();
+		if (parent.oclIsKindOf(notation::View)) {
+			var parentView:notation::View := parent.oclAsType(notation::View);
+			removeFromOwnerView(parentView, childToRemove);
+		};
+	};
+}
+
+// Get the requirement papyrus diagram configuration from the viewpoint file
+helper getRequirementPapyrusDiagramConfiguration() : viewpoint::PapyrusDiagram {
+	return requirementViewpoint.objects()->selectByType(viewpoint::PapyrusDiagram)->any(curr | curr.name = diagramConfigurationName);
+}
+
+// Nodes ans shapes management
+mapping notation::Node::fromSysML11Shape(parent:notation::View) : notation::Node disjuncts
+	notation::BasicCompartment::fromSysML11BasicCompartment,
+	notation::DecorationNode::fromSysML11DecorationNode,
+	notation::Shape::fromSysML11StereotypeComment,
+	notation::Shape::fromSysML11RequirementAsClassifier,
+	notation::Shape::fromSysML11ViewPackageAsClass,
+	notation::Shape::fromSysML11PackageShapeAsModel, // Must be done before PackageShapeAsPackage
+	notation::Shape::fromSysML11PackageShapeAsPackage,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsCommunicationPath,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsGeneralizationSet,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsComponent, // Must be done before Class
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsClass,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsEnumeration, // Must be done before DataType
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsPrimitiveType, // Must be done before DataType
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsDataType,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsDurationObservation,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsInformationItem,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsInterface,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsInstanceSpecification,
+	notation::Shape::fromSysML11NamedElementDefaultShapeAsSignal,
+	notation::Shape::fromSysML11DefaultShape
+{}
+
+mapping notation::Shape::fromSysML11ViewPackageAsClass(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = PACKAGE_SHAPE_SYSML14 and self.element.oclIsKindOf(UML::Class)} {
+	init {
+		result := self;
+	}
+	type := CLASS_SHAPE_SYSML14;
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// Search if the name label is existing
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = PACKAGE_NAME_LABEL_DECORATIONNODE_SYSML14 or existingChild.type = PACKAGE_NAME_LABEL_DECORATIONNODE_CN_SYSML14) {
+			if (isCN) {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+			} else {
+				existingChild.type := CLASS_NAME_LABEL_DECORATIONNODE_SYSML14;
+			};
+			children += existingChild;
+		} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+			children += existingChild;
+		};
+	};
+	
+	// Create and set the default DecorationNodes
+	children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+	
+	// Create and set the default BasicCompartments
+	children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_SYSML14);
+	children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_SYSML14);
+	children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+}
+
+mapping notation::Shape::fromSysML11PackageShapeAsModel(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.element.oclIsKindOf(UML::Model)} {
+	init {
+		result := self;
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// Remove the existing children
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	var typeLabel:String = MODEL_SHAPE_SYSML14;
+	var modelNameLabel:String := MODEL_NAME_LABEL_DECORATIONNODE_SYSML14;
+	var modelPackagedElementCompartment:String := MODEL_PACKAGEDELEMENT_COMPARTMENT_SYSML14;
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (isCN) {
+		typeLabel := MODEL_SHAPE_CN_SYSML14;
+		modelNameLabel := MODEL_NAME_LABEL_DECORATIONNODE_CN_SYSML14;
+		modelPackagedElementCompartment:= MODEL_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14;
+	};
+	
+	type := typeLabel;
+	
+	if(self.type = NAMEDELEMENT_DEFAULTSHAPE){
+		children += createDefaultNameLabelDecorationNode(modelNameLabel);
+		var packageElementCompartment:notation::BasicCompartment := createDefaultBasicCompartement(modelPackagedElementCompartment);
+		packageElementCompartment.styles += object notation::TitleStyle{};
+		packageElementCompartment.layoutConstraint := object notation::Bounds{};
+		children += packageElementCompartment;
+	}else{
+		// Search if the packaged element compartment is existing
+		existingChildren->forEach(existingChild){
+			if (existingChild.type = PACKAGE_NAME_LABEL_DECORATIONNODE_SYSML14 or existingChild.type = PACKAGE_NAME_LABEL_DECORATIONNODE_CN_SYSML14) {
+				existingChild.type := modelNameLabel;
+				setPapyrusCSSForceValueVisible(existingChild, TRUE);
+				children += existingChild;
+			} elif (existingChild.type = PACKAGE_PACKAGEDELEMENT_COMPARTMENT_SYSML14 or existingChild.type = PACKAGE_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14) {
+				existingChild.type := modelPackagedElementCompartment;
+				setPapyrusCSSForceValueVisible(existingChild, TRUE);
+				setShowTitle(existingChild, true);
+				// Map the existing children shapes
+				existingChild.children := existingChild.children->map fromSysML11Shape(result);
+				existingChild.children[notation::Shape]->map fromSysML11ShapeToSysML14Edge(existingChild);
+				children += existingChild;
+			} elif (existingChild.type = COMPARTMENT_SHAPE_DISPLAY) {
+				children += existingChild;
+			};
+		};
+	};
+}
+
+mapping notation::Shape::fromSysML11PackageShapeAsPackage(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = PACKAGE_SHAPE_SYSML14 and self.element.oclIsKindOf(UML::Package)} {
+	init {
+		result := self;
+	}
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	children := existingChildren->map fromSysML11Shape(result);
+	
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// Search if the packaged element compartment is existing
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = PACKAGE_PACKAGEDELEMENT_COMPARTMENT_SYSML14 or existingChild.type = PACKAGE_PACKAGEDELEMENT_COMPARTMENT_CN_SYSML14) {
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			setShowTitle(existingChild, true);
+			// Map the existing children shapes
+			existingChild.children := existingChild.children->map fromSysML11Shape(result);
+			existingChild.children[notation::Shape]->map fromSysML11ShapeToSysML14Edge(existingChild);
+		}
+	};
+}
+
+mapping notation::Shape::fromSysML11RequirementAsClassifier(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.type = REQUIREMENT_AS_CLASSIFIER_SYSML11} {
+	init {
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+	}
+	var isCN:Boolean := not parent.oclIsTypeOf(notation::Diagram);
+	
+	// If the shape is not in the diagram, this is a Child node
+	if (not isCN) {
+		type := CLASS_SHAPE_SYSML14;
+		
+		// Create the FloatingNameLabel decoration node with its default layout constraint
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_SYSML14);
+	} else {
+		type := CLASS_SHAPE_CN_SYSML14;
+		
+		// Create the FloatingNameLabel decoration node with its default layout constraint
+		children += createDefaultFloatingNameLabelDecorationNode(CLASS_FLOATING_LABEL_DECORATIONNODE_CN_SYSML14);
+		
+		// Create and set the default BasicCompartments
+		children += createDefaultBasicCompartement(CLASS_ATTRIBUTE_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_OPERATION_COMPARTMENT_CN_SYSML14);
+		children += createDefaultBasicCompartement(CLASS_NESTEDCLASSIFIER_COMPARTMENT_CN_SYSML14);
+	};
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsCommunicationPath(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.element.oclIsTypeOf(UML::CommunicationPath)} {
+	init{
+		result := self;
+	}
+	childrenToRemove += result;
+}
+
+mapping notation::Shape::fromSysML11NamedElementDefaultShapeAsGeneralizationSet(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape) and self.element.oclIsTypeOf(UML::GeneralizationSet)} {
+	init{
+		result := self;
+	}
+	childrenToRemove += result;
+}
+
+mapping notation::Shape::fromSysML11StereotypeComment(parent:notation::View) : notation::Shape when {self.type = STEREOTYPE_COMMENT} {
+	init {
+		result := self;
+	}
+	
+	childrenToRemove += result;
+}
+
+mapping notation::Shape::fromSysML11DefaultShape(parent:notation::View) : notation::Shape when {self.oclIsTypeOf(notation::Shape)} {
+	init {
+		var existingChildren:OrderedSet(notation::Node) := self.children;
+		result := self;
+		result.children := object OrderedSet(notation::Node){};
+		result.children := existingChildren->map fromSysML11Shape(result);
+	}
+}
+
+mapping notation::DecorationNode::fromSysML11DecorationNode(parent:notation::View) : notation::DecorationNode disjuncts
+	notation::DecorationNode::fromSysML11StereotypeLabel,
+	notation::DecorationNode::fromSysML11DecorationNodeDefault
+{}
+
+mapping notation::DecorationNode::fromSysML11StereotypeLabel(parent:notation::View) : notation::DecorationNode when {self.oclIsTypeOf(notation::DecorationNode) and self.type = STEREOTYPE_LABEL_DECORATION_NODE}{
+	init{
+		result := self;
+		if(self.element.oclIsKindOf(UML::Stereotype)){
+			var stereotype:UML::Stereotype := self.element.oclAsType(UML::Stereotype).toSysML14Stereotype(inS14Profile.objectsOfType(UML::Stereotype));
+			if (stereotype.oclIsUndefined()) {
+				// The stereotype was not find in SysML1.4, remove the decoration node
+				childrenToRemove += result;
+			} else {
+				result.element := stereotype.oclAsType(ecore::EObject);
+			}
+		};
+	}
+}
+
+mapping notation::DecorationNode::fromSysML11DecorationNodeDefault(parent:notation::View) : notation::DecorationNode when {self.oclIsTypeOf(notation::DecorationNode)} {
+	init{
+		result := self;
+		setPapyrusCSSForceValueVisible(result, TRUE);
+	}
+}
+
+mapping notation::BasicCompartment::fromSysML11BasicCompartment(parent:notation::View) : notation::BasicCompartment disjuncts
+	notation::BasicCompartment::fromSysML11StereotypeBraceAndCompartment,
+	notation::BasicCompartment::fromSysML11BasicCompartmentDefault
+{}
+
+mapping notation::BasicCompartment::fromSysML11BasicCompartmentDefault(parent:notation::View) : notation::BasicCompartment when {self.oclIsTypeOf(notation::BasicCompartment) and self.type <> REQUIREMENT_IDINFO_COMPARTMENT_SYSML11}{
+	init{
+		result := self;
+		setPapyrusCSSForceValueVisible(result, TRUE);
+		setShowTitle(result, true);
+	}
+}
+
+mapping notation::BasicCompartment::fromSysML11StereotypeBraceAndCompartment(parent:notation::View) : notation::BasicCompartment when {self.oclIsTypeOf(notation::BasicCompartment) and (self.type = STEREOTYPE_BRACE_COMPARTMENT or self.type = STEREOTYPE_COMPARTMENT_COMPARTMENT) }{
+	init{
+		result := self;
+		if(self.element.oclIsKindOf(UML::Stereotype)){
+			var stereotype:UML::Stereotype := self.element.oclAsType(UML::Stereotype).toSysML14Stereotype(inS14Profile.objectsOfType(UML::Stereotype));
+			if (stereotype.oclIsUndefined()) {
+				// The stereotype was not find in SysML1.4, remove the compartment
+				childrenToRemove += result;
+			} else {
+				result.element := stereotype.oclAsType(ecore::EObject);
+			}
+		};
+	}
+}
+
+// Edges management
+mapping notation::Edge::fromSysML11Edge() : notation::Edge disjuncts
+	notation::Edge::fromSysML11ConformDependencyAsGeneralization,
+	notation::Edge::fromSysML11RealizationEdgeAsInterfaceRealization, // Must be done before Realization
+	notation::Edge::fromSysML11RealizationEdgeAsSubstitution, // Must be done before Realization
+	notation::Edge::fromSysML11RealizationEdgeAsRealization,
+	notation::Edge::fromSysML11DependencyEdgeAsUsage,
+	notation::Edge::fromSysML11DefaultEdge
+{}
+
+mapping notation::Edge::fromSysML11ConformDependencyAsGeneralization() : notation::Edge when {self.oclIsTypeOf(notation::Edge) and self.type = DEPENDENCY_EDGE_SYSML14 and self.element.oclIsKindOf(UML::Generalization)} {
+	init {
+		result := self;
+	}
+	type := GENERALIZATION_EDGE_SYSML14;
+	
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	children := object OrderedSet(notation::Node){};
+	
+	existingChildren->forEach(existingChild){
+		if (existingChild.type = DEPENDENCY_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14) {
+			existingChild.type := GENERALIZATION_STEREOTYPE_LABEL_DECORATIONNODE_SYSML14;
+			setPapyrusCSSForceValueVisible(existingChild, TRUE);
+			children += existingChild;
+		};
+	};
+}
+
+mapping notation::Edge::fromSysML11StereotypeCommentLink() : notation::Edge when {self.type = STEREOTYPE_COMMENT_LINK} {
+	init {
+		result := self;
+	}
+	
+	childrenToRemove += result;
+}
+
+mapping notation::Edge::fromSysML11DefaultEdge() : notation::Edge {
+	init {
+		result := self;
+	}
+}
+
+mapping notation::Shape::fromSysML11ShapeToSysML14Edge(inout parent:notation::View) disjuncts
+	notation::Shape::fromSysML11SpecificInformationFlow,
+	notation::Shape::fromSysML11AssociationClass,
+	notation::Shape::fromSysML11Association
+{}
+
+mapping notation::Shape::fromSysML11SpecificInformationFlow(inout parent:notation::View) when {self.oclIsTypeOf(notation::Shape) and not self.element.oclIsUndefined() and self.element.oclIsKindOf(UML::InformationFlow)} {
+	var informationFlow:UML::InformationFlow := self.element.oclAsType(UML::InformationFlow);
+	var informationSource:UML::NamedElement := informationFlow.informationSource->any(true);
+	var informationTarget:UML::NamedElement := informationFlow.informationTarget->any(true);
+	
+	var sourceShape:notation::Shape := parent.children[notation::Shape]->any(curr | not curr.element.oclIsUndefined() and curr.element.oclIsKindOf(UML::NamedElement) and curr.element.oclAsType(UML::NamedElement) = informationSource);
+
+	var informationFlowEdge := object notation::Connector{
+		element := self.element;
+		
+		var isSourceCreated:Boolean := false;
+		if (sourceShape.oclIsUndefined()) {
+			sourceShape := createShape(parent, informationSource);
+			var createdBounds:notation::Bounds := object notation::Bounds{};
+			if (self.layoutConstraint.oclIsKindOf(notation::Bounds)) {
+				createdBounds.x := self.layoutConstraint.oclAsType(notation::Bounds).x;
+				createdBounds.y := self.layoutConstraint.oclAsType(notation::Bounds).y;
+				createdBounds.width := self.layoutConstraint.oclAsType(notation::Bounds).width;
+				createdBounds.height := self.layoutConstraint.oclAsType(notation::Bounds).height;
+			};
+			sourceShape.oclAsType(notation::Shape).layoutConstraint := createdBounds;
+			isSourceCreated := true;
+			parent.children += sourceShape;
+		};
+		
+		var targetShape:notation::Shape := parent.children[notation::Shape]->any(curr | not curr.element.oclIsUndefined() and curr.element.oclIsKindOf(UML::NamedElement) and curr.element.oclAsType(UML::NamedElement) = informationTarget);
+		if (targetShape.oclIsUndefined()) {
+			targetShape := createShape(parent, informationTarget);
+			var createdBounds:notation::Bounds := object notation::Bounds{};
+			if (self.layoutConstraint.oclIsKindOf(notation::Bounds)) {
+				// If the source and the target are created, move the target to 100
+				var createdX:Integer := self.layoutConstraint.oclAsType(notation::Bounds).x;
+				if (isSourceCreated) {
+					createdX := createdX + 100;
+				};
+				createdBounds.x := createdX;
+				createdBounds.y := self.layoutConstraint.oclAsType(notation::Bounds).y;
+				createdBounds.width := self.layoutConstraint.oclAsType(notation::Bounds).width;
+				createdBounds.height := self.layoutConstraint.oclAsType(notation::Bounds).height;
+			};
+			targetShape.oclAsType(notation::Shape).layoutConstraint := createdBounds;
+			parent.children += targetShape;
+		};
+		
+		source := sourceShape;
+		target := targetShape;
+	};
+	createBendpointsForInformationFlow(informationFlowEdge);
+	createDefaultInformationFlowDecorationNodes(informationFlowEdge);
+	rootDiagram.edges += informationFlowEdge;
+	
+	removeFromOwnerView(parent, self);
+}
+
+mapping notation::Shape::fromSysML11Association(inout parent:notation::View) when {self.oclIsTypeOf(notation::Shape) and not self.element.oclIsUndefined() and self.element.oclIsKindOf(UML::Association)} {
+	
+	var association:UML::Association := self.element.oclAsType(UML::Association);
+	// Get the [0] and [1] member end for the source and target properties
+	var sourceProperty:UML::Property := association.memberEnd->any(true);
+	var targetProperty:UML::Property := association.memberEnd->any(curr | curr <> sourceProperty);
+	// Get the type of the property (to get or create their shapes)
+	var sourceType:UML::Type := sourceProperty.type;
+	var targetType:UML::Type := targetProperty.type;
+	
+	if(not sourceType.oclIsUndefined() and not targetType.oclIsUndefined()){
+		
+		// Get the source and the target shapes if exists
+		var sourceShape:notation::Shape := parent.children[notation::Shape]->any(curr | not curr.element.oclIsUndefined() and curr.element.oclIsKindOf(UML::Type) and curr.element.oclAsType(UML::Type) = sourceType);
+		
+		var associationEdge := object notation::Connector{
+			element := self.element;
+			
+			var isSourceCreated:Boolean := false;
+			if (sourceShape.oclIsUndefined()) {
+				sourceShape := createShape(parent, sourceType);
+				var createdBounds:notation::Bounds := object notation::Bounds{};
+				if (self.layoutConstraint.oclIsKindOf(notation::Bounds)) {
+					createdBounds.x := self.layoutConstraint.oclAsType(notation::Bounds).x;
+					createdBounds.y := self.layoutConstraint.oclAsType(notation::Bounds).y;
+					createdBounds.width := self.layoutConstraint.oclAsType(notation::Bounds).width;
+					createdBounds.height := self.layoutConstraint.oclAsType(notation::Bounds).height;
+				};
+				sourceShape.oclAsType(notation::Shape).layoutConstraint := createdBounds;
+				isSourceCreated := true;
+				parent.children += sourceShape;
+			};
+			
+			var targetShape:notation::Shape := parent.children[notation::Shape]->any(curr | not curr.element.oclIsUndefined() and curr.element.oclIsKindOf(UML::Type) and curr.element.oclAsType(UML::Type) = targetType);
+			if (targetShape.oclIsUndefined()) {
+				targetShape := createShape(parent, targetType);
+				var createdBounds:notation::Bounds := object notation::Bounds{};
+				if (self.layoutConstraint.oclIsKindOf(notation::Bounds)) {
+					// If the source and the target are created, move the target to 100
+					var createdX:Integer := self.layoutConstraint.oclAsType(notation::Bounds).x;
+					if (isSourceCreated) {
+						createdX := createdX + 100;
+					};
+					createdBounds.x := createdX;
+					createdBounds.y := self.layoutConstraint.oclAsType(notation::Bounds).y;
+					createdBounds.width := self.layoutConstraint.oclAsType(notation::Bounds).width;
+					createdBounds.height := self.layoutConstraint.oclAsType(notation::Bounds).height;
+				};
+				targetShape.oclAsType(notation::Shape).layoutConstraint := createdBounds;
+				parent.children += targetShape;
+			};
+			
+			source := sourceShape;
+			target := targetShape;
+			
+		};
+		createBendpointsForAssociation(associationEdge);	
+		createDefaultAssociationDecorationNodes(associationEdge);
+		rootDiagram.edges += associationEdge;
+	};
+	
+	removeFromOwnerView(parent, self);
+}
+
+mapping notation::Shape::fromSysML11AssociationClass(inout parent:notation::View) when {self.oclIsTypeOf(notation::Shape) and not self.element.oclIsUndefined() and self.element.oclIsKindOf(UML::AssociationClass)} {
+	
+	// Create the AssociationClass
+	var existingChildren:OrderedSet(notation::Node) := self.children;
+	var createdAssociationClassShape:notation::Shape := self;
+	createdAssociationClassShape.children := object OrderedSet(notation::Node){};
+	modifyAssociationClassShape(createdAssociationClassShape, parent);
+	parent.children += createdAssociationClassShape;
+	
+	// Create the connector and the target and source if needed
+	var associationClass:UML::AssociationClass := self.element.oclAsType(UML::AssociationClass);
+	
+	var assocationProperty:UML::Property := associationClass.ownedEnd->any(true);
+	var association:UML::Association := assocationProperty.association;
+	
+	// Get the [0] and [1] member end for the source and target properties
+	var sourceProperty:UML::Property := association.memberEnd->any(true);
+	var targetProperty:UML::Property := association.memberEnd->any(curr | curr <> sourceProperty);
+	// Get the type of the property (to get or create their shapes)
+	var sourceType:UML::Type := sourceProperty.type;
+	var targetType:UML::Type := targetProperty.type;
+	
+	// Get the source and the target shapes if exists
+	var targetShape:notation::Shape := parent.children[notation::Shape]->any(curr | not curr.element.oclIsUndefined() and curr.element.oclIsKindOf(UML::Type) and curr.element.oclAsType(UML::Type) = targetType);
+	
+	var associationClassEdge := object notation::Connector{
+		element := self.element;
+		
+		var isTargetCreated:Boolean := false;
+		if (targetShape.oclIsUndefined()) {
+			targetShape := createShape(parent, targetType);
+			var createdBounds:notation::Bounds := object notation::Bounds{};
+			if (self.layoutConstraint.oclIsKindOf(notation::Bounds)) {
+				createdBounds.x := self.layoutConstraint.oclAsType(notation::Bounds).x;
+				createdBounds.y := self.layoutConstraint.oclAsType(notation::Bounds).y;
+				createdBounds.width := self.layoutConstraint.oclAsType(notation::Bounds).width;
+				createdBounds.height := self.layoutConstraint.oclAsType(notation::Bounds).height;
+			};
+			targetShape.oclAsType(notation::Shape).layoutConstraint := createdBounds;
+			isTargetCreated := true;
+			parent.children += targetShape;
+		};
+		
+		var sourceShape:notation::Shape := parent.children[notation::Shape]->any(curr | not curr.element.oclIsUndefined() and curr.element.oclIsKindOf(UML::Type) and curr.element.oclAsType(UML::Type) = sourceType);
+		if (sourceShape.oclIsUndefined()) {
+			sourceShape := createShape(parent, sourceType);
+			var createdBounds:notation::Bounds := object notation::Bounds{};
+			if (self.layoutConstraint.oclIsKindOf(notation::Bounds)) {
+				createdBounds.x := self.layoutConstraint.oclAsType(notation::Bounds).x;
+				var createdY:Integer := self.layoutConstraint.oclAsType(notation::Bounds).y;
+				// If the source and the target are created, move the target to 200
+				if (isTargetCreated) {
+					createdY := createdY + 200;
+				};
+				createdBounds.y := createdY;
+				createdBounds.width := self.layoutConstraint.oclAsType(notation::Bounds).width;
+				createdBounds.height := self.layoutConstraint.oclAsType(notation::Bounds).height;
+			};
+			sourceShape.oclAsType(notation::Shape).layoutConstraint := createdBounds;
+			parent.children += sourceShape;
+		};
+		
+		source := sourceShape;
+		target := targetShape;
+	};
+	createBendpointsForAssociation(associationClassEdge);
+	createDefaultAssociationClassDecorationNodes(associationClassEdge);
+	rootDiagram.edges += associationClassEdge;
+	
+	var associationClassTetherEdge := object notation::Connector{
+		element := self.element;
+		type := ASSOCIATIONCLASS_TETHEREDGE_SYSML14;
+		
+		source := associationClassEdge;
+		target := createdAssociationClassShape;
+		
+		styles += object notation::FontStyle{};
+	};
+	createBendpointsForAssociationTetherEdge(associationClassTetherEdge);
+	rootDiagram.edges += associationClassTetherEdge;
+}
+
+helper createShape(parent:notation::View, element:UML::NamedElement) : notation::Shape {
+	var res:notation::Shape;
+	if (element.oclIsKindOf(UML::Model)) {
+		res := createModelShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::Package)) {
+		res := createPackageShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::Component)) {
+		res := createComponentShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::Class)) {
+		res := createClassShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::Interface)) {
+		res := createInterfaceShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::InstanceSpecification)) {
+		res := createInstanceSpecificationShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::DataType)) {
+		res := createDataTypeShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::DurationObservation)) {
+		res := createDurationObservationShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::TimeObservation)) {
+		res := createTimeObservationShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::Enumeration)) {
+		res := createEnumerationShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::InformationItem)) {
+		res := createInformationItemShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::PrimitiveType)) {
+		res := createPrimitiveTypeShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::Signal)) {
+		res := createSignalShape(parent, element.oclAsType(ecore::EObject));
+	} elif (element.oclIsKindOf(UML::Constraint)) {
+		res := createConstraintShape(parent, element.oclAsType(ecore::EObject));
+	} else {
+		res := createNamedElementDefaultShape(element.oclAsType(ecore::EObject));
+	};
+	return res;
+}
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLRequirementTable.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLRequirementTable.qvto
new file mode 100644
index 0000000..31f69e8
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLRequirementTable.qvto
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.table.TableBlackboxHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLTablesUtils;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLUtils;
+
+modeltype notation "strict" uses 'http://www.eclipse.org/gmf/runtime/1.0.2/notation';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+modeltype nattable "strict" uses 'http://www.eclipse.org/papyrus/nattable/model';
+
+
+transformation SysMLRequirementTable(in blockDefinitionViewpoint : viewpoint, in internalBlockViewpoint : viewpoint, in parametricViewpoint : viewpoint, in requirementViewpoint : viewpoint, in umlFile : UML, in inS14Profile : SysML14, in requirementNatTableS11 : nattable, in allocationNatTableS11 : nattable, in requirementNatTableS14 : nattable, in allocationNatTableS14 : nattable, in requirementTableViewPoint : viewpoint, in allocationTableViewPoint : viewpoint, inout notationFile : notation);
+
+property rootTableConfigurationS11:nattable::nattableconfiguration::TableConfiguration = requirementNatTableS11.rootObjects()[nattable::nattableconfiguration::TableConfiguration]->any(true);
+
+mapping nattable::Table::fromSysML11RequirementTable() : nattable::Table when {self.tableConfiguration.name = "RequirementTable" and self.tableConfiguration.type = "PapyrusSysMLRequirementTable"} {
+	init{
+		result := self;
+	}
+	
+	// Create the annotation for versionning
+	var model:UML::Model := umlFile.rootObjects()[uml::Model]->any(true);
+	result.eAnnotations += model.createEAnnotationForVersioning();
+	
+	var rootReqTableS14 := requirementNatTableS14.rootObjects()->any(true);
+	if (rootReqTableS14.oclIsKindOf(nattable::nattableconfiguration::TableConfiguration)) {
+		tableConfiguration := rootReqTableS14.oclAsType(nattable::nattableconfiguration::TableConfiguration);
+	};
+	
+	prototype := getPrototypeInS14Viewpoint(requirementTableViewPoint.rootObjects()->any(true).oclAsType(viewpoint::PapyrusConfiguration));
+	
+	rowAxisProvidersHistory->forEach(rowAxisProvider){
+		if (rowAxisProvider.oclIsKindOf(nattable::nattableaxisprovider::AxisProvider)){
+			var existingAxis:OrderedSet(nattable::nattableaxis::IAxis) := rowAxisProvider.oclAsType(nattable::nattableaxisprovider::AxisProvider).axis;
+			var axisProvider:nattable::nattableaxisprovider::AxisProvider := rowAxisProvider.oclAsType(nattable::nattableaxisprovider::AxisProvider);
+			axisProvider.axis := object OrderedSet(nattable::nattableaxis::IAxis){};
+			axisProvider.axis += existingAxis->map fromSysML11AxisToAxis();
+		};
+	};
+	
+	columnAxisProvidersHistory->forEach(columnAxisProvider){
+		if (columnAxisProvider.oclIsKindOf(nattable::nattableaxisprovider::AxisProvider)){
+			var existingAxis:OrderedSet(nattable::nattableaxis::IAxis) := columnAxisProvider.oclAsType(nattable::nattableaxisprovider::AxisProvider).axis;
+			var axisProvider:nattable::nattableaxisprovider::AxisProvider := columnAxisProvider.oclAsType(nattable::nattableaxisprovider::AxisProvider);
+			axisProvider.axis := object OrderedSet(nattable::nattableaxis::IAxis){};
+			axisProvider.axis += existingAxis->map fromSysML11AxisToAxis();
+		};
+	};
+}
+
+mapping nattable::nattableaxis::IAxis::fromSysML11AxisToAxis() : nattable::nattableaxis::IAxis {
+	init{
+		result := self;
+	}
+	var tmpManager := getAxisManager(rootTableConfigurationS11, self.manager);
+	manager := getManagerInS14Configuration(requirementNatTableS14.objects()[nattable::nattableaxisconfiguration::AxisManagerRepresentation], tmpManager);
+}
+
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLSemantic.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLSemantic.qvto
new file mode 100644
index 0000000..df2e9e6
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLSemantic.qvto
@@ -0,0 +1,646 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+import org.eclipse.papyrus.interoperability.common.blackboxes.ecore.EcoreHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.sysml.SysMLBlackboxHelper;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.SysMLUtils;
+
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+modeltype UMLPrimitivesTypes "strict" uses 'http://www.eclipse.org/uml2/5.0.0/Types';
+modeltype UMLProfileStandard "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard';
+
+
+transformation SysMLSemantic(in inS14Profile : SysML14, in primitiveTypes : UMLPrimitivesTypes, in sysMLStandardLibrary : SysML14, in umlProfileStandard : UMLProfileStandard, inout inOutModel : UML);
+
+// Declare needed constants
+property sysML11USRI:String = 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+property standardProfileName:String = "StandardProfile";
+property librariesName:String = "Libraries";
+property unitName:String = "Unit";
+property createStereotypeName:String = "Create";
+property viewOperationName:String = "View";
+
+property s14Profile:UML::Profile = inS14Profile.rootObjects()![UML::Profile];
+
+// Those two properties need to save the packages replaced by classes for 'View's
+// This is needed to search the class replacing a package for the 'Conform' generalization classifier
+property packagesToDestroy:Sequence(UML::Package);
+property replacedPackagesByClasses:Sequence(UML::Class);
+
+main() {
+	var model:UML::Model := inOutModel.rootObjects()[uml::Model]->any(true);
+	
+	model.eAnnotations += model.createEAnnotationForVersioning();
+	
+	// Apply SysML 1.4 profile with all sub profiles
+	inS14Profile.objectsOfType(UML::Profile)->forEach(profile) {
+		model.applyProfile(profile);
+	};
+	
+	// Import UML Profile standard
+	var profileStandard:UML::Profile := umlProfileStandard.objectsOfType(UML::Profile)->any(curr | curr.name=standardProfileName);
+	model.applyProfile(profileStandard);
+	
+	// The view must be done before the conform -> change Package to Class needed for conform
+	inOutModel.objects()[SysML11::modelelements::View].map toSysML14ModelelementsView(model);
+	
+	// Make the transformation of all elements to SysML elements
+	inOutModel.objects()[ecore::EObject].map toSysML14Elements(model);
+
+	// unapply and remove all sysml 1.1 profiles application
+	inOutModel.objectsOfType(ProfileApplication).map removeSysML11Profile(model);
+	
+	// Import uml basic primitives Types by default
+	primitiveTypes.objectsOfType(UML::Model)->forEach(package){
+		var packageImport := object UML::PackageImport{
+			importedPackage := package;
+		};
+		model.packageImport+=packageImport;
+	};
+	
+	// Import SysML librairies package by default
+	var librairies:UML::Package := sysMLStandardLibrary.objectsOfType(UML::Package)->any(curr | curr.name=librariesName);
+	var librairiesPackageImport := object UML::PackageImport{
+		importedPackage := librairies;
+	};
+	model.packageImport+=librairiesPackageImport;
+	
+	// Destroy the needed packages (replaced by class for 'View')
+	packagesToDestroy->forEach(package){
+		package.destroy();
+	};
+}
+
+// Mapping for View is different because it must be called before the others, because the Package must be replaced by a class and must be referenced by other objects
+mapping SysML11::modelelements::View::toSysML14ModelelementsView(model:UML::Model) : SysML14::modelelements::View {
+	var oldViewPoint:SysML11::modelelements::View := self.oclAsType(SysML11::modelelements::View);
+	// See C.5 in SysML 1.4 Norm for View transition from 1.1 to 1.4
+	var oldBasePackage:UML::Package := oldViewPoint.base_Package;
+	var newBaseClass:UML::Class := object UML::Class{
+		eAnnotations += oldBasePackage.eAnnotations;
+		ownedComment += oldBasePackage.ownedComment;
+		name := oldBasePackage.name;
+		nameExpression := oldBasePackage.nameExpression;
+		visibility := oldBasePackage.visibility;
+		ownedRule += oldBasePackage.ownedRule;
+		elementImport += oldBasePackage.elementImport;
+		packageImport += oldBasePackage.packageImport;
+		owningTemplateParameter := oldBasePackage.owningTemplateParameter;
+		templateParameter := oldBasePackage.templateParameter;
+		templateBinding += oldBasePackage.templateBinding;
+	};
+	
+	var packageOwner:UML::Package := oldBasePackage.owner.oclAsType(UML::Package);
+	if(not packageOwner.oclIsUndefined()){
+		packageOwner.packagedElement += newBaseClass;
+		base_Class := newBaseClass;
+		packagesToDestroy += oldBasePackage;
+		replacedPackagesByClasses += newBaseClass;
+	}else{
+		log("Problem when set the created class owner for 'View'.");
+	};
+	addToResourceContent(model.oclAsType(ecore::EObject), result.oclAsType(ecore::EObject));
+}
+
+mapping ecore::EObject::toSysML14Elements(model:UML::Model) : ecore::EObject disjuncts 
+	ecore::EObject::toSysML14ActivitiesContinuous,
+	ecore::EObject::toSysML14ActivitiesControlOperator,
+	ecore::EObject::toSysML14ActivitiesDiscrete,
+	ecore::EObject::toSysML14ActivitiesNoBuffer,
+	ecore::EObject::toSysML14ActivitiesOptional,
+	ecore::EObject::toSysML14ActivitiesOverwrite,
+	ecore::EObject::toSysML14ActivitiesProbability,
+	ecore::EObject::toSysML14ActivitiesRate,
+	ecore::EObject::toSysML14AllocationsAllocate,
+	ecore::EObject::toSysML14AllocationsAllocateActivityPartition,
+	ecore::EObject::toSysML14BlocksBindingConnector,
+	ecore::EObject::toSysML14BlocksBlock,
+	ecore::EObject::toSysML14BlocksConnectorProperty,
+	ecore::EObject::toSysML14BlocksDistributedProperty,
+	ecore::EObject::toSysML14BlocksNestedConnectorEnd,
+	ecore::EObject::toSysML14BlocksParticipantProperty,
+	ecore::EObject::toSysML14BlocksPropertySpecificType,
+	ecore::EObject::toSysML14BlocksValueType,
+	ecore::EObject::toSysML14ConstraintsConstaintBlock,
+	ecore::EObject::toSysML14ModelelementsProblem,
+	ecore::EObject::toSysML14ModelelementsConform,
+	ecore::EObject::toSysML14ModelelementsRationale,
+	ecore::EObject::toSysML14ModelelementsViewPoint,
+	ecore::EObject::toSysML14PortandflowsFlowPort,
+	ecore::EObject::toSysML14PortandflowsFlowProperty,
+	ecore::EObject::toSysML14PortandflowsFlowSpecification,
+	ecore::EObject::toSysML14PortandflowsItemFlow,
+	ecore::EObject::toSysML14RequirementsCopy,
+	ecore::EObject::toSysML14RequirementsDeriveReqt,
+	ecore::EObject::toSysML14RequirementsRequirement,
+	ecore::EObject::toSysML14RequirementsSatisfy,
+	ecore::EObject::toSysML14RequirementsTestCase,
+	ecore::EObject::toSysML14RequirementsVerify
+{}
+
+// Activities
+mapping ecore::EObject::toSysML14ActivitiesContinuous(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::activities::Continuous)} {
+	init {
+		var newContinuous:SysML14::activities::Continuous := object SysML14::activities::Continuous{
+			var oldContinuous:SysML11::activities::Continuous := self.oclAsType(SysML11::activities::Continuous);
+			base_Parameter := oldContinuous.base_Parameter;
+			base_ActivityEdge := oldContinuous.base_ActivityEdge;
+			rate := oldContinuous.rate;
+		};
+		result := newContinuous.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ActivitiesControlOperator(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::activities::ControlOperator)} {
+	init {
+		var newControlOperator:SysML14::activities::ControlOperator := object SysML14::activities::ControlOperator{
+			var oldControlOperator:SysML11::activities::ControlOperator := self.oclAsType(SysML11::activities::ControlOperator);
+			base_Operation := oldControlOperator.base_Operation;
+			base_Behavior := oldControlOperator.base_Behavior;
+		};
+		result := newControlOperator.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ActivitiesDiscrete(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::activities::Discrete)} {
+	init {
+		var newDiscrete:SysML14::activities::Discrete := object SysML14::activities::Discrete{
+			var oldDiscrete:SysML11::activities::Discrete := self.oclAsType(SysML11::activities::Discrete);
+			base_Parameter := oldDiscrete.base_Parameter;
+			base_ActivityEdge := oldDiscrete.base_ActivityEdge;
+			rate := oldDiscrete.rate;
+		};
+		result := newDiscrete.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ActivitiesNoBuffer(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::activities::NoBuffer)} {
+	init {
+		var newNoBuffer:SysML14::activities::NoBuffer := object SysML14::activities::NoBuffer{
+			var oldNoBuffer:SysML11::activities::NoBuffer := self.oclAsType(SysML11::activities::NoBuffer);
+			base_ObjectNode := oldNoBuffer.base_ObjectNode;
+		};
+		result := newNoBuffer.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ActivitiesOptional(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::activities::Optional)} {
+	init {
+		var newOptional:SysML14::activities::Optional := object SysML14::activities::Optional{
+			var oldOptional:SysML11::activities::Optional := self.oclAsType(SysML11::activities::Optional);
+			base_Parameter := oldOptional.base_Parameter;
+		};
+		result := newOptional.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ActivitiesOverwrite(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::activities::Overwrite)} {
+	init {
+		var newOverwrite:SysML14::activities::Overwrite := object SysML14::activities::Overwrite{
+			var oldOverwrite:SysML11::activities::Overwrite := self.oclAsType(SysML11::activities::Overwrite);
+			base_ObjectNode := oldOverwrite.base_ObjectNode;
+		};
+		result := newOverwrite.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ActivitiesProbability(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::activities::Probability)} {
+	init {
+		var newProbability:SysML14::activities::Probability := object SysML14::activities::Probability{
+			var oldProbability:SysML11::activities::Probability := self.oclAsType(SysML11::activities::Probability);
+			base_ActivityEdge := oldProbability.base_ActivityEdge;
+			base_ParameterSet := oldProbability.base_ParameterSet;
+			probability := oldProbability.probability;
+		};
+		result := newProbability.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ActivitiesRate(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::activities::Rate)} {
+	init {
+		var newRate:SysML14::activities::Rate := object SysML14::activities::Rate{
+			var oldRate:SysML11::activities::Rate := self.oclAsType(SysML11::activities::Rate);
+			base_Parameter := oldRate.base_Parameter;
+			base_ActivityEdge := oldRate.base_ActivityEdge;
+			rate := oldRate.rate;
+		};
+		result := newRate.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+
+// Allocations
+mapping ecore::EObject::toSysML14AllocationsAllocate(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::allocations::Allocate)} {
+	init {
+		var newAllocate:SysML14::allocations::Allocate := object SysML14::allocations::Allocate{
+			var oldAllocate:SysML11::allocations::Allocate := self.oclAsType(SysML11::allocations::Allocate);
+			base_DirectedRelationship := oldAllocate.base_Abstraction;
+			base_Abstraction := oldAllocate.base_Abstraction;
+		};
+		result := newAllocate.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14AllocationsAllocateActivityPartition(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::allocations::AllocateActivityPartition)} {
+	init {
+		var newAllocateActivityPartition:SysML14::allocations::AllocateActivityPartition := object SysML14::allocations::AllocateActivityPartition{
+			var oldAllocateActivityPartition:SysML11::allocations::AllocateActivityPartition := self.oclAsType(SysML11::allocations::AllocateActivityPartition);
+			base_ActivityPartition := oldAllocateActivityPartition.base_ActivityPartition;
+		};
+		result := newAllocateActivityPartition.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+// Blocks
+mapping ecore::EObject::toSysML14BlocksBindingConnector(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::blocks::BindingConnector)} {
+	init {
+		var newBindingConnector:SysML14::blocks::BindingConnector := object SysML14::blocks::BindingConnector{
+			var oldBindingConnector:SysML11::blocks::BindingConnector := self.oclAsType(SysML11::blocks::BindingConnector);
+			base_Connector := oldBindingConnector.base_Connector;
+		};
+		result := newBindingConnector.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14BlocksBlock(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::blocks::Block)} {
+	init {
+		var newBlock:SysML14::blocks::Block := object SysML14::blocks::Block{
+			var oldBlock:SysML11::blocks::Block := self.oclAsType(SysML11::blocks::Block);
+			base_Class := oldBlock.base_Class;
+			isEncapsulated := oldBlock.isEncapsulated;
+		};
+		result := newBlock.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14BlocksConnectorProperty(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::blocks::ConnectorProperty)} {
+	init {
+		var newConnectorProperty:SysML14::blocks::ConnectorProperty := object SysML14::blocks::ConnectorProperty{
+			var oldConnectorProperty:SysML11::blocks::ConnectorProperty := self.oclAsType(SysML11::blocks::ConnectorProperty);
+			base_Property := oldConnectorProperty.base_Property;
+			connector := oldConnectorProperty.connector;
+		};
+		result := newConnectorProperty.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14BlocksDistributedProperty(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::blocks::DistributedProperty)} {
+	init {
+		var newDistributedProperty:SysML14::blocks::DistributedProperty := object SysML14::blocks::DistributedProperty{
+			var oldDistributedProperty:SysML11::blocks::DistributedProperty := self.oclAsType(SysML11::blocks::DistributedProperty);
+			base_Property := oldDistributedProperty.base_Property;
+		};
+		result := newDistributedProperty.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14BlocksNestedConnectorEnd(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::blocks::NestedConnectorEnd)} {
+	init {
+		var newNestedConnectorEnd:SysML14::blocks::NestedConnectorEnd := object SysML14::blocks::NestedConnectorEnd{
+			var oldNestedConnectorEnd:SysML11::blocks::NestedConnectorEnd := self.oclAsType(SysML11::blocks::NestedConnectorEnd);
+			base_ConnectorEnd := oldNestedConnectorEnd.base_ConnectorEnd;
+			propertyPath := oldNestedConnectorEnd.propertyPath;
+		};
+		result := newNestedConnectorEnd.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14BlocksParticipantProperty(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::blocks::ParticipantProperty)} {
+	init {
+		var newParticipantProperty:SysML14::blocks::ParticipantProperty := object SysML14::blocks::ParticipantProperty{
+			var oldParticipantProperty:SysML11::blocks::ParticipantProperty := self.oclAsType(SysML11::blocks::ParticipantProperty);
+			base_Property := oldParticipantProperty.base_Property;
+			_end := oldParticipantProperty._end;
+		};
+		result := newParticipantProperty.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14BlocksPropertySpecificType(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::blocks::PropertySpecificType)} {
+	init {
+		var newPropertySpecificType:SysML14::blocks::PropertySpecificType := object SysML14::blocks::PropertySpecificType{
+			var oldPropertySpecificType:SysML11::blocks::PropertySpecificType := self.oclAsType(SysML11::blocks::PropertySpecificType);
+			base_Classifier := oldPropertySpecificType.base_Classifier;
+		};
+		result := newPropertySpecificType.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14BlocksValueType(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::blocks::ValueType)} {
+	init {
+		var newValueType:SysML14::blocks::ValueType := object SysML14::blocks::ValueType{
+			var oldValueType:SysML11::blocks::ValueType := self.oclAsType(SysML11::blocks::ValueType);
+			base_DataType := oldValueType.base_DataType;
+			if(not oldValueType.dimension.oclIsUndefined() and not oldValueType.dimension.base_InstanceSpecification.oclIsUndefined()){
+				quantityKind := oldValueType.dimension.base_InstanceSpecification;
+			};
+			// See C.6 of the SysML1.4 Norm for the transition from 1.4 to 1.4
+			if(not oldValueType.unit.oclIsUndefined() and not oldValueType.unit.base_InstanceSpecification.oclIsUndefined()){
+				unit := oldValueType.unit.base_InstanceSpecification;
+				// Search the Unit class from the standard library to set the classifier for the instance specification
+				var unit:UML::Class := sysMLStandardLibrary.objectsOfType(UML::Class)->any(curr | curr.name=unitName);
+				oldValueType.unit.base_InstanceSpecification.classifier += unit;
+			};
+		};
+		result := newValueType.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+
+// Constraints
+mapping ecore::EObject::toSysML14ConstraintsConstaintBlock(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::constraints::ConstraintBlock)} {
+	init {
+		var newConstraintBlock:SysML14::constraintblocks::ConstraintBlock := object SysML14::constraintblocks::ConstraintBlock{
+			var oldConstraintBlock:SysML11::constraints::ConstraintBlock := self.oclAsType(SysML11::constraints::ConstraintBlock);
+			base_Class := oldConstraintBlock.base_Class;
+			isEncapsulated := oldConstraintBlock.isEncapsulated;
+		};
+		result := newConstraintBlock.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+
+// Model Elements
+mapping ecore::EObject::toSysML14ModelelementsProblem(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::modelelements::Problem)} {
+	init {
+		var newProblem:SysML14::modelelements::Problem := object SysML14::modelelements::Problem{
+			var oldProblem:SysML11::modelelements::Problem := self.oclAsType(SysML11::modelelements::Problem);
+			base_Comment := oldProblem.base_Comment;
+		};
+		result := newProblem.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ModelelementsConform(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::modelelements::Conform)} {
+	init {
+		var newConform:SysML14::modelelements::Conform := object SysML14::modelelements::Conform{
+			var oldConform:SysML11::modelelements::Conform := self.oclAsType(SysML11::modelelements::Conform);
+			// See C.5 SysML 1.4 norm for the conform transition from 1.1 to 1.4
+			var oldDependency:UML::Dependency := oldConform.base_Dependency;
+			var newGeneralization:UML::Generalization := object UML::Generalization{
+				eAnnotations += oldDependency.eAnnotations;
+				ownedComment += oldDependency.ownedComment;
+				general := oldDependency.supplier->selectByKind(UML::Classifier)->any(true);
+			};
+			// Get the source to set the generalization as its child
+			var ownerClassifier:UML::Element := oldDependency.client->any(true);
+			if(not ownerClassifier.oclIsUndefined() and ownerClassifier.oclIsKindOf(UML::Package)){
+				// This allows to search the class replacing the package when the 'View' transformation is done
+				ownerClassifier := getClassifier(ownerClassifier.oclAsType(UML::Package), packagesToDestroy, replacedPackagesByClasses);
+			};
+			
+			if(not ownerClassifier.oclIsUndefined() and ownerClassifier.oclIsKindOf(UML::Classifier)){
+				ownerClassifier.oclAsType(UML::Classifier).generalization += newGeneralization;
+				base_Generalization := newGeneralization;
+				oldDependency.destroy();
+			}else{
+				log("Problem when set the created generalization owner for 'Conform'.");
+			};
+		};
+		result := newConform.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ModelelementsRationale(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::modelelements::Rationale)} {
+	init {
+		var newRationale:SysML14::modelelements::Rationale := object SysML14::modelelements::Rationale{
+			var oldRationale:SysML11::modelelements::Rationale := self.oclAsType(SysML11::modelelements::Rationale);
+			base_Comment := oldRationale.base_Comment;
+		};
+		result := newRationale.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14ModelelementsViewPoint(inout model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::modelelements::ViewPoint)} {
+	init {
+		var newViewPoint:SysML14::modelelements::Viewpoint := object SysML14::modelelements::Viewpoint{
+			var oldViewPoint:SysML11::modelelements::ViewPoint := self.oclAsType(SysML11::modelelements::ViewPoint);
+			base_Class := oldViewPoint.base_Class;
+			purpose := oldViewPoint.purpose;
+			language += oldViewPoint.languages;
+			
+			// Manage the concerns
+			if(oldViewPoint.concerns->size() > 0){
+				oldViewPoint.concerns->forEach(concern){
+					// Create a comment in the class and affect the concerns to the body of the comment
+					var createdComment:UML::Comment := object UML::Comment{
+						body := concern;
+					};
+					oldViewPoint.base_Class.ownedComment += createdComment;
+					concernList += createdComment;
+				};
+			};
+			
+			// See 7.3.2.8 Constraints: The ownedOperation must include at least one operation named 'View' stereotyped by 'create'
+			// Search the 'Create' stereotype from Standard Profile
+			var create:UML::Stereotype := umlProfileStandard.objectsOfType(UML::Stereotype)->any(curr | curr.name=createStereotypeName);
+			var createdOperation:UML::Operation := object UML::Operation{
+				name := viewOperationName;
+			};
+			oldViewPoint.base_Class.ownedOperation += createdOperation;
+			if(not create.oclIsUndefined()){
+				var createdStereotypeApplication:ecore::EObject := createdOperation.applyStereotype(create);
+				addToResourceContent(model.oclAsType(ecore::EObject), createdStereotypeApplication);
+			};
+			
+			// See C.5 in SysML 1.4 Norm for ViewPoint transition from 1.1 to 1.4
+			var createdStakeHolders:Set(SysML14::modelelements::Stakeholder);
+			oldViewPoint.stakeHolders->forEach(stakeHolder){
+				var createdClassifier:UML::Classifier := object UML::Class{
+					name := stakeHolder;
+				};
+				oldViewPoint.base_Class.nestedClassifier += createdClassifier;
+				var createdStackHolder:SysML14::modelelements::Stakeholder := object SysML14::modelelements::Stakeholder{
+					base_Classifier := createdClassifier;
+				};
+				addToResourceContent(model.oclAsType(ecore::EObject), createdStackHolder.oclAsType(ecore::EObject));
+				createdStakeHolders += createdStackHolder;
+			};
+			stakeholder := createdStakeHolders;
+			
+			// See C.5 in SysML 1.4 Norm for ViewPoint transition from 1.1 to 1.4
+			// Manage the methods
+			if(oldViewPoint.methods->size() > 0){
+				var concatMethodsString:String;
+				oldViewPoint.methods->forEach(method){
+					if(concatMethodsString.length() = 0){
+						concatMethodsString := method;
+					}else{
+						concatMethodsString := concatMethodsString + '\n' + method;
+					};
+				};
+				
+				var createdComment:UML::Comment := object UML::Comment{
+					body := concatMethodsString;
+				};
+				createdOperation.ownedComment += createdComment;
+			};
+		};
+		result := newViewPoint.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+
+// Port and flows
+mapping ecore::EObject::toSysML14PortandflowsFlowPort(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::portandflows::FlowPort)} {
+	init {
+		var newFlowPort:SysML14::deprecatedelements::FlowPort := object SysML14::deprecatedelements::FlowPort{
+			var oldFlowPort:SysML11::portandflows::FlowPort := self.oclAsType(SysML11::portandflows::FlowPort);
+			base_Port := oldFlowPort.base_Port;
+			direction := getDirection(oldFlowPort.direction);
+		};
+		result := newFlowPort.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14PortandflowsFlowProperty(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::portandflows::FlowProperty)} {
+	init {
+		var newFlowProperty:SysML14::portsandflows::FlowProperty := object SysML14::portsandflows::FlowProperty{
+			var oldFlowProperty:SysML11::portandflows::FlowProperty := self.oclAsType(SysML11::portandflows::FlowProperty);
+			base_Property := oldFlowProperty.base_Property;
+			direction := getDirection(oldFlowProperty.direction);
+		};
+		result := newFlowProperty.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14PortandflowsFlowSpecification(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::portandflows::FlowSpecification)} {
+	init {
+		var newFlowSpecification:SysML14::deprecatedelements::FlowSpecification := object SysML14::deprecatedelements::FlowSpecification{
+			var oldFlowSpecification:SysML11::portandflows::FlowSpecification := self.oclAsType(SysML11::portandflows::FlowSpecification);
+			base_Interface := oldFlowSpecification.base_Interface;
+		};
+		result := newFlowSpecification.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14PortandflowsItemFlow(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::portandflows::ItemFlow)} {
+	init {
+		var newItemFlow:SysML14::portsandflows::ItemFlow := object SysML14::portsandflows::ItemFlow{
+			var oldItemFlow:SysML11::portandflows::ItemFlow := self.oclAsType(SysML11::portandflows::ItemFlow);
+			base_InformationFlow := oldItemFlow.base_InformationFlow;
+			itemProperty := oldItemFlow.itemProperty;
+		};
+		result := newItemFlow.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+
+// Requirements
+mapping ecore::EObject::toSysML14RequirementsCopy(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::requirements::Copy)} {
+	init {
+		var newCopy:SysML14::requirements::Copy := object SysML14::requirements::Copy{
+			var oldCopy:SysML11::requirements::Copy := self.oclAsType(SysML11::requirements::Copy);
+			base_DirectedRelationship := oldCopy.base_Abstraction;
+			base_Abstraction := oldCopy.base_Abstraction;
+		};
+		result := newCopy.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14RequirementsDeriveReqt(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::requirements::DeriveReqt)} {
+	init {
+		var newDeriveReqT:SysML14::requirements::DeriveReqt := object SysML14::requirements::DeriveReqt{
+			var oldDeriveReqT:SysML11::requirements::DeriveReqt := self.oclAsType(SysML11::requirements::DeriveReqt);
+			base_DirectedRelationship := oldDeriveReqT.base_Abstraction;
+			base_Abstraction := oldDeriveReqT.base_Abstraction;
+		};
+		result := newDeriveReqT.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14RequirementsRequirement(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::requirements::Requirement)} {
+	init {
+		var newRequirement:SysML14::requirements::Requirement := object SysML14::requirements::Requirement{
+			var oldRequirement:SysML11::requirements::Requirement := self.oclAsType(SysML11::requirements::Requirement);
+			base_Class := oldRequirement.base_Class;
+			id := oldRequirement.id;
+			text := oldRequirement.text;
+		};
+		result := newRequirement.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14RequirementsSatisfy(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::requirements::Satisfy)} {
+	init {
+		var newSatisfy:SysML14::requirements::Satisfy := object SysML14::requirements::Satisfy{
+			var oldSatisfy:SysML11::requirements::Satisfy := self.oclAsType(SysML11::requirements::Satisfy);
+			base_Abstraction := oldSatisfy.base_Abstraction;
+			base_DirectedRelationship := oldSatisfy.base_Abstraction;
+		};
+		result := newSatisfy.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14RequirementsTestCase(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::requirements::TestCase)} {
+	init {
+		var newTestCase:SysML14::requirements::TestCase := object SysML14::requirements::TestCase{
+			var oldTestCase:SysML11::requirements::TestCase := self.oclAsType(SysML11::requirements::TestCase);
+			base_Behavior := oldTestCase.base_Behavior;
+			base_Operation := oldTestCase.base_Operation;
+		};
+		result := newTestCase.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+mapping ecore::EObject::toSysML14RequirementsVerify(model:UML::Model) : ecore::EObject when {self.oclIsTypeOf(SysML11::requirements::Verify)} {
+	init {
+		var newVerify:SysML14::requirements::Verify := object SysML14::requirements::Verify{
+			var oldVerify:SysML11::requirements::Verify := self.oclAsType(SysML11::requirements::Verify);
+			base_Abstraction := oldVerify.base_Abstraction;
+			base_DirectedRelationship := oldVerify.base_Abstraction;
+		};
+		result := newVerify.oclAsType(ecore::EObject);
+	}
+	addToResourceContent(model.oclAsType(ecore::EObject), result);
+}
+
+
+// Utility to remove all SysML 1.1 Profiles 
+mapping ProfileApplication::removeSysML11Profile(model:UML::Model) when { self.appliedProfile.URI.startsWith(sysML11USRI);}{
+	model.unapplyProfile(self.appliedProfile);
+}
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLTablesUtils.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLTablesUtils.qvto
new file mode 100644
index 0000000..18f5720
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLTablesUtils.qvto
@@ -0,0 +1,40 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype nattable "strict" uses 'http://www.eclipse.org/papyrus/nattable/model';
+modeltype viewpoint "strict" uses 'http://www.eclipse.org/papyrus/infra/viewpoints/configuration';
+modeltype nattableconfiguration "strict" uses "http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration";
+modeltype nattableaxisconfiguration "strict" uses "http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration";
+modeltype nattableaxisprovider"strict" uses "http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider";
+modeltype nattableaxis "strict" uses "http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis";
+modeltype nattablestyle "strict" uses "http://www.eclipse.org/papyrus/nattable/model/table/nattablestyle";
+
+/**
+* This file provides useful method for SysML tables.
+*/
+library SysMLTablesUtils;
+
+
+/**
+ * This allows to get the corresponding manager from SysML 1.1 to SysML 1.4.
+ */
+helper getManagerInS14Configuration(existingAxisManagerRepresentations:Set(nattableaxisconfiguration::AxisManagerRepresentation), oldManager:nattableaxisconfiguration::AxisManagerRepresentation) : nattableaxisconfiguration::AxisManagerRepresentation {
+	return existingAxisManagerRepresentations->any(curr | curr.axisManagerId = oldManager.axisManagerId);
+}
+
+/**
+ * Get the first model kind in the papyrus configuration.
+ **/
+helper getPrototypeInS14Viewpoint(rootS14Prototype:viewpoint::PapyrusConfiguration) : ecore::EObject {
+	return rootS14Prototype.viewpoints->any(true).modelKinds->any(true).oclAsType(ecore::EObject);
+}
\ No newline at end of file
diff --git a/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLUtils.qvto b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLUtils.qvto
new file mode 100644
index 0000000..fea1814
--- /dev/null
+++ b/sysml14/plugins/org.eclipse.papyrus.sysml14.interoperability.sysml/transform/SysMLUtils.qvto
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *****************************************************************************/
+ 
+import org.eclipse.papyrus.interoperability.sysml14.sysml.blackboxes.VersioningHelper;
+
+modeltype ecore "strict" uses 'http://www.eclipse.org/emf/2002/Ecore';
+modeltype UML "strict" uses 'http://www.eclipse.org/uml2/5.0.0/UML';
+modeltype SysML11 "strict" uses 'http://www.eclipse.org/papyrus/0.7.0/SysML';
+modeltype SysML14 "strict" uses 'http://www.eclipse.org/papyrus/sysml/1.4/SysML';
+
+/**
+* This file provides useful method for SysML.
+*/
+library SysMLUtils;
+
+/** 
+ * Create the eAnnotation for the versioning with :
+ * <li>
+ *  <ul> Source model name </ul>
+ *  <ul> Migration date </ul>
+ *  <ul> Migration bundle version </ul>
+ * </li>
+ **/
+helper UML::Model::createEAnnotationForVersioning() : ecore::EAnnotation{
+	var versionning:EAnnotation:=object EAnnotation{
+		source := getEAnnotationSourceNameForVersioning();
+		details+= object EStringToStringMapEntry{
+			key := getKeyForSourceModelName();
+			value := getPapyrusResourceName(self);
+		};
+		details+= object EStringToStringMapEntry{
+			key := getKeyForPapyrusMigrationDate();
+			value := getPapyrusMigrationDate();
+		};
+		details+= object EStringToStringMapEntry{
+			key := getKeyForPapyrusMigrationBundleVersion();
+			value := getImportBundleSysMLMigrationVersion();
+		};
+	};
+	return versionning;
+}
+
+// This allows to transform the SysML1.1 FlowDirection to SysML1.4 FlowDirection
+helper getDirection(direction:SysML11::portandflows::FlowDirection) : SysML14::portsandflows::FlowDirection {
+	if(direction = SysML11::portandflows::FlowDirection::_in){
+		return SysML14::portsandflows::FlowDirection::_in;
+	}elif(direction = SysML11::portandflows::FlowDirection::_out){
+		return SysML14::portsandflows::FlowDirection::_out;
+	}elif(direction = SysML11::portandflows::FlowDirection::_inout){
+		return SysML14::portsandflows::FlowDirection::_inout;
+	};
+	return null;
+}
+
+helper UML::Stereotype::toSysML14Stereotype(stereotypeElements:Set(UML::Stereotype)) : UML::Stereotype {
+	return stereotypeElements->any(curr | curr.name=self.name);
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.classpath b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.classpath
new file mode 100644
index 0000000..eca7bdb
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.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="bin"/>
+</classpath>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.gitignore b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.gitignore
new file mode 100644
index 0000000..ae3c172
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.gitignore
@@ -0,0 +1 @@
+/bin/
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.project b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.project
new file mode 100644
index 0000000..9e75827
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+	<name>org.eclipse.papyrus.interoperability.sysml14.sysml.tests</name>
+	<comment></comment>
+	<projects>
+	</projects>
+	<buildSpec>
+		<buildCommand>
+			<name>org.eclipse.jdt.core.javabuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.ManifestBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+		<buildCommand>
+			<name>org.eclipse.pde.SchemaBuilder</name>
+			<arguments>
+			</arguments>
+		</buildCommand>
+	</buildSpec>
+	<natures>
+		<nature>org.eclipse.pde.PluginNature</nature>
+		<nature>org.eclipse.jdt.core.javanature</nature>
+	</natures>
+</projectDescription>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.settings/org.eclipse.jdt.core.prefs b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..b3aa6d6
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,291 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.settings/org.eclipse.jdt.ui.prefs b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..954281d
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.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 v1.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-v10.html\n *\n * Contributors\:\n *   CEA LIST - Initial API and implementation\n *   \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.settings/org.eclipse.pde.api.tools.prefs b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..23fb95e
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,98 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Error
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Error
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+eclipse.preferences.version=1
+incompatible_api_component_version=Error
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Warning
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/AllTestsSysMLInteroperability.launch b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/AllTestsSysMLInteroperability.launch
new file mode 100644
index 0000000..c371e68
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/AllTestsSysMLInteroperability.launch
@@ -0,0 +1,44 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.pde.ui.JunitLaunchConfig">
+<booleanAttribute key="append.args" value="true"/>
+<booleanAttribute key="askclear" value="false"/>
+<booleanAttribute key="automaticAdd" value="true"/>
+<booleanAttribute key="automaticValidate" value="false"/>
+<stringAttribute key="bootstrap" value=""/>
+<stringAttribute key="checked" value="[NONE]"/>
+<booleanAttribute key="clearConfig" value="true"/>
+<booleanAttribute key="clearws" value="true"/>
+<booleanAttribute key="clearwslog" value="false"/>
+<stringAttribute key="configLocation" value="${workspace_loc}/.metadata/.plugins/org.eclipse.pde.core/pde-junit"/>
+<booleanAttribute key="default" value="true"/>
+<booleanAttribute key="includeOptional" value="true"/>
+<stringAttribute key="location" value="${workspace_loc}/../junit-workspace"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AllTests.java"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="1"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.debug.ui.ATTR_CONSOLE_ENCODING" value="UTF-8"/>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.junit.CONTAINER" value=""/>
+<booleanAttribute key="org.eclipse.jdt.junit.KEEPRUNNING_ATTR" value="false"/>
+<stringAttribute key="org.eclipse.jdt.junit.TESTNAME" value=""/>
+<stringAttribute key="org.eclipse.jdt.junit.TEST_KIND" value="org.eclipse.jdt.junit.loader.junit4"/>
+<stringAttribute key="org.eclipse.jdt.launching.JRE_CONTAINER" value="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests.AllTests"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl ${target.nl} -consoleLog"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.interoperability.sysml14.sysml.tests"/>
+<stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
+<stringAttribute key="pde.version" value="3.3"/>
+<stringAttribute key="product" value="org.eclipse.platform.ide"/>
+<booleanAttribute key="run_in_ui_thread" value="true"/>
+<booleanAttribute key="show_selected_only" value="false"/>
+<booleanAttribute key="tracing" value="false"/>
+<booleanAttribute key="useCustomFeatures" value="false"/>
+<booleanAttribute key="useDefaultConfig" value="true"/>
+<booleanAttribute key="useDefaultConfigArea" value="false"/>
+<booleanAttribute key="useProduct" value="true"/>
+</launchConfiguration>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/META-INF/MANIFEST.MF b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..07ef520
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/META-INF/MANIFEST.MF
@@ -0,0 +1,21 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.interoperability.sysml14.sysml.tests;singleton:=true
+Bundle-Version: 0.10.1.qualifier
+Bundle-Vendor: %Bundle-Vendor
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.papyrus.infra.core.log;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.junit.framework;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.core.commands;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.13.0,3.0.0)",
+ org.eclipse.uml2.uml;bundle-version="[5.2.0,6.0.0)",
+ org.eclipse.papyrus.junit.utils;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.emf.compare;bundle-version="[3.4.0,4.0.0)",
+ org.eclipse.papyrus.interoperability.common;bundle-version="[0.7.0,1.0.0)",
+ org.eclipse.papyrus.interoperability.sysml14.sysml;bundle-version="[0.10.1,1.0.0)",
+ org.eclipse.papyrus.interoperability.common.tests;bundle-version="[0.7.0,1.0.0)"
+Bundle-Activator: org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator
+Bundle-ActivationPolicy: lazy
+Export-Package: org.eclipse.papyrus.interoperability.sysml14.sysml.tests,
+ org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/OSGI-INF/l10n/bundle.properties b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/OSGI-INF/l10n/bundle.properties
new file mode 100644
index 0000000..baa38fd
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/OSGI-INF/l10n/bundle.properties
@@ -0,0 +1,3 @@
+#Properties file for org.eclipse.papyrus.sysml14.interoperability.sysml.tests.
+Bundle-Vendor = Eclipse Modeling Project
+Bundle-Name = Papyrus SysML1.1 to SysML1.4 Interoperability Tests
\ No newline at end of file
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/about.html b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/about.html
new file mode 100644
index 0000000..dd3c089
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+ 
+<p>November 14, 2008</p>	
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;).  Unless otherwise 
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;).  A copy of the EPL is available 
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is 
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content.  Check the Redistributor's license that was 
+provided with the Content.  If no such license exists, contact the Redistributor.  Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/build.properties b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/build.properties
new file mode 100644
index 0000000..40cb87f
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+               .,\
+               about.html,\
+               OSGI-INF/l10n/bundle.properties,\
+               resources/
+src.includes = about.html
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.notation
new file mode 100644
index 0000000..cfdc5c0
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.notation
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_MRY5QPpwEeaCyZKNPXLxEw" name="AllocationTable0" currentRowAxisProvider="_MRZgVfpwEeaCyZKNPXLxEw" currentColumnAxisProvider="_MRZgUPpwEeaCyZKNPXLxEw">
+  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" source="Imported_From_SysML_1.1">
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of_Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" key="Papyrus_Source_Model_Name" value="AllocationTable_converted"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20170228165646"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__MRY5QPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+  </eAnnotations>
+  <context xmi:type="uml:Model" href="AllocationTable_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <owner xmi:type="uml:Model" href="AllocationTable_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.allocation/resources/configuration/allocationTable.configuration#_j2LQIC7uEeWklMXvaoXzgQ"/>
+  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.allocation/resources/allocation.nattableconfiguration#/"/>
+  <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_MRZgUPpwEeaCyZKNPXLxEw" description="This provider provides the default columns for the SysML Allocation Table" name="SysMLAllocationFeatureProvider">
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgUfpwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgUvpwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/client"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgU_pwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/supplier"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgVPpwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/>
+    </axis>
+  </columnAxisProvidersHistory>
+  <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_MRZgVfpwEeaCyZKNPXLxEw" description="This row providers allows to display all Allocation in a Table" name="SysMLAllocationProvider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.uml
new file mode 100644
index 0000000..22b0042
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/AllocationTable/AllocationTable_converted.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:Activities="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks" xmlns:ConstraintBlocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks" xmlns:DeprecatedElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements" xmlns:ModelElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements" xmlns:PortsAndFlows="http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" 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.4/SysML/Activities http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="AllocationTable"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170228165645"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+    </eAnnotations>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of__0">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of_SysML.package_packagedElement_Libraries">
+      <importedPackage xmi:type="uml:Package" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <generalization xmi:type="uml:Generalization" xmi:id="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw" general="_VJttoPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1">
+      <classifier xmi:type="uml:Class" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>firstConcerns</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_2_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>secondConcerns</body>
+      </ownedComment>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="createOperation_Of__fih7kPnoEeauDtoDZwIqjw" name="View">
+        <ownedComment xmi:type="uml:Comment" xmi:id="comment_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw">
+          <body>firstMethod()
+secondMethod()</body>
+        </ownedComment>
+      </ownedOperation>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" name="mySecondStakeholder"/>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" name="myFirstStakeholder"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_NSvokPpwEeaCyZKNPXLxEw" name="Allocate2"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_N1B2QPpwEeaCyZKNPXLxEw" name="CopyOf_Allocate2_1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_N7tGAPpwEeaCyZKNPXLxEw" name="CopyOf_Allocate2_2"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw" name="View1" visibility="public"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of_SysML">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML" 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="profileApplication_Of_SysML.package_packagedElement_Activities">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Activities" 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="profileApplication_Of_SysML.package_packagedElement_Allocations">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Allocations" 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="profileApplication_Of_SysML.package_packagedElement_Blocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Blocks" 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="profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks" 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="profileApplication_Of_SysML.package_packagedElement_DeprecatedElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_DeprecatedElements" 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="profileApplication_Of_SysML.package_packagedElement_ModelElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ModelElements" 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="profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows" 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="profileApplication_Of_SysML.package_packagedElement_Requirements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Requirements" 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>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of__0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of__0" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Class="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" base_Class="_TIQzQPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" base_Class="_VJttoPnoEeauDtoDZwIqjw" id="MyIdentifier" text="MyText"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_W4lqQPnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Generalization="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" base_Class="_X_-JEPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZBoaYPnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZhPHgPnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <DeprecatedElements:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortsAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_DirectedRelationship="_c1j_APnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" quantityKind="_aD36gPnoEeauDtoDZwIqjw" unit="_dSlSMPnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_DirectedRelationship="_egM74PnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw">
+    <language>C++</language>
+    <language>C</language>
+    <language>OCL</language>
+  </ModelElements:Viewpoint>
+  <DeprecatedElements:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" direction="out"/>
+  <PortsAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_NSyr4PpwEeaCyZKNPXLxEw" base_DirectedRelationship="_NSvokPpwEeaCyZKNPXLxEw" base_Abstraction="_NSvokPpwEeaCyZKNPXLxEw"/>
+  <Allocations:Allocate xmi:id="_N1DEYPpwEeaCyZKNPXLxEw" base_DirectedRelationship="_N1B2QPpwEeaCyZKNPXLxEw" base_Abstraction="_N1B2QPpwEeaCyZKNPXLxEw"/>
+  <Allocations:Allocate xmi:id="_N7ttEPpwEeaCyZKNPXLxEw" base_DirectedRelationship="_N7tGAPpwEeaCyZKNPXLxEw" base_Abstraction="_N7tGAPpwEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.notation
new file mode 100644
index 0000000..38e152c
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.notation
@@ -0,0 +1,836 @@
+<?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:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_j-e1IPp6EeaCyZKNPXLxEw" type="PapyrusUMLClassDiagram" name="New Block Definition Diagram" measurementUnit="Pixel">
+  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_1.1_Of__j-e1IPp6EeaCyZKNPXLxEw" source="Imported_From_SysML_1.1">
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of_Imported_From_SysML_1.1_Of__j-e1IPp6EeaCyZKNPXLxEw" key="Papyrus_Source_Model_Name" value="BlockDefinitionDiagram_converted"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__j-e1IPp6EeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20170228165652"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__j-e1IPp6EeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+  </eAnnotations>
+  <children xmi:type="notation:Shape" xmi:id="_n4yukPp6EeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_n40jwPp6EeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__n40jwPp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__n40jwPp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_n50pUPp6EeaCyZKNPXLxEw" type="Class_AttributeCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__n50pUPp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__n50pUPp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_n51QYPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_n51QYfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_n51QYvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_n51QY_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_n513cPp6EeaCyZKNPXLxEw" type="Class_OperationCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__n513cPp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__n513cPp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_n513cfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_n513cvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_n513c_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_n513dPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__n4yukPp6EeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__n4yukPp6EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of__n4yukPp6EeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of__n4yukPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of__n4yukPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of__n4yukPp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of__n4yukPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Flow Ports_Of__n4yukPp6EeaCyZKNPXLxEw" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="constraints_Of__n4yukPp6EeaCyZKNPXLxEw" type="constraints"/>
+    <children xmi:type="notation:Compartment" xmi:id="Parts_Of__n4yukPp6EeaCyZKNPXLxEw" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="Proxy Ports_Of__n4yukPp6EeaCyZKNPXLxEw" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="Full Ports_Of__n4yukPp6EeaCyZKNPXLxEw" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="References_Of__n4yukPp6EeaCyZKNPXLxEw" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="Flow Properties_Of__n4yukPp6EeaCyZKNPXLxEw" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="Parameters_Of__n4yukPp6EeaCyZKNPXLxEw" type="Parameters"/>
+    <element xmi:type="uml:Actor" href="BlockDefinitionDiagram_converted.uml#_njz9EPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n4yukfp6EeaCyZKNPXLxEw" x="76" y="43"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_oc3sAPp6EeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_oc3sAvp6EeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__oc3sAvp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__oc3sAvp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TEPp6EeaCyZKNPXLxEw" type="Class_AttributeCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__oc4TEPp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__oc4TEPp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__oc4TEPp6EeaCyZKNPXLxEw" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_DmHxQfp7EeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Port" href="BlockDefinitionDiagram_converted.uml#_EAr6sPnpEeauDtoDZwIqjw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DmHxQvp7EeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__oc4TEPp6EeaCyZKNPXLxEw_2" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_rOSSofqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_q6hCEPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rOSSovqZEeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__oc4TEPp6EeaCyZKNPXLxEw_3" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_ujGSUfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_uiRy8PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ujGSUvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TEfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4TEvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4TE_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4TFPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Parts_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Parts" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ha0x8Pp7EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ha0x8fp7EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of_Parts_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_F2Rd4fqaEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_Fp8SEPqaEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_F2Rd4vqaEeaCyZKNPXLxEw"/>
+      </children>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="References_Of__oc3sAPp6EeaCyZKNPXLxEw" type="References" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pIQ2wPqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pIQ2wfqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of_References_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_-neU4fqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_-Z8PMPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-neU4vqZEeaCyZKNPXLxEw"/>
+      </children>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Full Ports_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Full Ports" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pIRd0PqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pIRd0fqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Flow Ports_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Flow Ports" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ha0x8vp7EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ha0x8_p7EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TKfp6EeaCyZKNPXLxEw" type="Class_OperationCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__oc4TKfp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__oc4TKfp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__oc4TKfp6EeaCyZKNPXLxEw" type="Operation_ClassOperationLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_BQgpIfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Operation" href="BlockDefinitionDiagram_converted.uml#_APeC4PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BQgpIvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__oc4TKfp6EeaCyZKNPXLxEw_2" type="Reception_ReceptionLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_1gjMofqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Reception" href="BlockDefinitionDiagram_converted.uml#_1f_L8PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1gjMovqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TKvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4TK_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4TLPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4TLfp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="constraints_Of__oc3sAPp6EeaCyZKNPXLxEw" type="constraints" showTitle="true"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_od94Ofp6EeaCyZKNPXLxEw" type="compartment_shape_display">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_od94Ovp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od94O_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__oc3sAPp6EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of__oc3sAPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of__oc3sAPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of__oc3sAPp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of__oc3sAPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Proxy Ports_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="Flow Properties_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Flow Properties"/>
+    <children xmi:type="notation:Compartment" xmi:id="Parameters_Of__oc3sAPp6EeaCyZKNPXLxEw" type="Parameters"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_od94MPp6EeaCyZKNPXLxEw" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_od94Mfp6EeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od94Mvp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_od94M_p6EeaCyZKNPXLxEw" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_od94NPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_od94Nfp6EeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od94Nvp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_od-fUPp6EeaCyZKNPXLxEw" type="StereotypeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pIRd1PqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pIRd1fqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_od-fUfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_od-fUvp6EeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od-fU_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CSrMYPp7EeaCyZKNPXLxEw" type="Class_Port">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CSrzcPp7EeaCyZKNPXLxEw" type="Operation_BorderItem_Label">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__CSrzcPp7EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__CSrzcPp7EeaCyZKNPXLxEw" key="visible" value="true"/>
+        </eAnnotations>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CSrzcfp7EeaCyZKNPXLxEw" x="30"/>
+      </children>
+      <element xmi:type="uml:Port" href="BlockDefinitionDiagram_converted.uml#_CSOgcPp7EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CSrMYfp7EeaCyZKNPXLxEw" x="214" y="55" width="20" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D-9W8PqaEeaCyZKNPXLxEw" type="Class_Port">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D-9W8vqaEeaCyZKNPXLxEw" type="Operation_BorderItem_Label">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__D-9W8vqaEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__D-9W8vqaEeaCyZKNPXLxEw" key="visible" value="true"/>
+        </eAnnotations>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D-9-APqaEeaCyZKNPXLxEw" x="30"/>
+      </children>
+      <element xmi:type="uml:Port" href="BlockDefinitionDiagram_converted.uml#_D-XhEPqaEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D-9W8fqaEeaCyZKNPXLxEw" x="214" y="163" width="20" height="20"/>
+    </children>
+    <element xmi:type="uml:Class" href="BlockDefinitionDiagram_converted.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oc3sAfp6EeaCyZKNPXLxEw" x="273" y="45" width="224" height="328"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_pR5PgPp6EeaCyZKNPXLxEw" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_pR52kPp6EeaCyZKNPXLxEw" type="Comment_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__pR52kPp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__pR52kPp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:Comment" href="BlockDefinitionDiagram_converted.uml#_V8AtQPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pR5Pgfp6EeaCyZKNPXLxEw" x="544" y="29"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tAjSkPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tAjSkvp6EeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tAjSkvp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tAjSkvp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tAjSk_p6EeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tAjSk_p6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tAjSk_p6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:Constraint" href="BlockDefinitionDiagram_converted.uml#_p8AjgPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tAjSkfp6EeaCyZKNPXLxEw" x="723" y="48"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tC7RIPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tC7RIvp6EeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tC7RIvp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tC7RIvp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tC7RI_p6EeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tC7RI_p6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tC7RI_p6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:DurationConstraint" href="BlockDefinitionDiagram_converted.uml#_qojgcPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tC7RIfp6EeaCyZKNPXLxEw" x="755" y="172"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tDobwPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tDpC0Pp6EeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tDpC0Pp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tDpC0Pp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tDpC0fp6EeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tDpC0fp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tDpC0fp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:InteractionConstraint" href="BlockDefinitionDiagram_converted.uml#_rL5eEPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tDobwfp6EeaCyZKNPXLxEw" x="1045" y="60"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tEglgPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tEglgvp6EeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tEglgvp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tEglgvp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tEglg_p6EeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tEglg_p6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tEglg_p6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:IntervalConstraint" href="BlockDefinitionDiagram_converted.uml#_rnvskPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tEglgfp6EeaCyZKNPXLxEw" x="967" y="174"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tFSBkPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tFSBkvp6EeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tFSBkvp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tFSBkvp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tFSBk_p6EeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__tFSBk_p6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__tFSBk_p6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:TimeConstraint" href="BlockDefinitionDiagram_converted.uml#_sRGyoPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tFSBkfp6EeaCyZKNPXLxEw" x="1226" y="170"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_zHOV4Pp6EeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_zHO88Pp6EeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__zHO88Pp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__zHO88Pp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Parameters_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Parameters" showTitle="true"/>
+    <children xmi:type="notation:Compartment" xmi:id="constraints_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="constraints" showTitle="true">
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of_constraints_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Property_ClassAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_0Lvt8fp6EeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_0KV_wPp6EeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0Lvt8vp6EeaCyZKNPXLxEw"/>
+      </children>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__zHOV4Pp6EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_AttributeCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_AttributeCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_AttributeCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_AttributeCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_AttributeCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_OperationCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_OperationCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_OperationCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_OperationCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_OperationCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Flow Ports_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Flow Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="Parts_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Parts"/>
+    <children xmi:type="notation:Compartment" xmi:id="Proxy Ports_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Proxy Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="Full Ports_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Full Ports"/>
+    <children xmi:type="notation:Compartment" xmi:id="References_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="References"/>
+    <children xmi:type="notation:Compartment" xmi:id="Flow Properties_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="Flow Properties"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="StereotypeLabel_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="StringValueStyle_Of_StereotypeLabel_Of__zHOV4Pp6EeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::ConstraintBlocks::ConstraintBlock"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_StereotypeLabel_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="StereotypeBrace_Of__zHOV4Pp6EeaCyZKNPXLxEw" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_StereotypeBrace_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="StringValueStyle_Of_StereotypeBrace_Of__zHOV4Pp6EeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::ConstraintBlocks::ConstraintBlock"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_StereotypeBrace_Of__zHOV4Pp6EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="BlockDefinitionDiagram_converted.uml#_zHLSkPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zHOV4fp6EeaCyZKNPXLxEw" x="53" y="205"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_3fSiUPp6EeaCyZKNPXLxEw" type="DataType_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_3fTJYPp6EeaCyZKNPXLxEw" type="DataType_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__3fTJYPp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__3fTJYPp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_3fTJYfp6EeaCyZKNPXLxEw" type="DataType_AttributeCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__3fTJYfp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__3fTJYfp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_3fTJYvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3fTJY_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3fTJZPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3fTJZfp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_3fTwcPp6EeaCyZKNPXLxEw" type="DataType_OperationCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__3fTwcPp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__3fTwcPp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_3fTwcfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3fTwcvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3fTwc_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3fTwdPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="DataType_FloatingNameLabel_Of__3fSiUPp6EeaCyZKNPXLxEw" type="DataType_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_DataType_FloatingNameLabel_Of__3fSiUPp6EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <element xmi:type="uml:DataType" href="BlockDefinitionDiagram_converted.uml#_3NRlQPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fSiUfp6EeaCyZKNPXLxEw" x="566" y="204"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_5UVYYPp6EeaCyZKNPXLxEw" type="InstanceSpecification_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="InstanceSpecification_NameLabel_Of__5UVYYPp6EeaCyZKNPXLxEw" type="InstanceSpecification_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="InstanceSpecification_FloatingNameLabel_Of__5UVYYPp6EeaCyZKNPXLxEw" type="InstanceSpecification_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_InstanceSpecification_FloatingNameLabel_Of__5UVYYPp6EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="InstanceSpecification_SlotCompartment_Of__5UVYYPp6EeaCyZKNPXLxEw" type="InstanceSpecification_SlotCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_InstanceSpecification_SlotCompartment_Of__5UVYYPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_InstanceSpecification_SlotCompartment_Of__5UVYYPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_InstanceSpecification_SlotCompartment_Of__5UVYYPp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_InstanceSpecification_SlotCompartment_Of__5UVYYPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram_converted.uml#_4zA0APp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UVYYfp6EeaCyZKNPXLxEw" x="765" y="276"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="__Z4aUPp6EeaCyZKNPXLxEw" type="Enumeration_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="__Z4aUvp6EeaCyZKNPXLxEw" type="Enumeration_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of___Z4aUvp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of___Z4aUvp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="__Z4aU_p6EeaCyZKNPXLxEw" type="Enumeration_LiteralCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of___Z4aU_p6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of___Z4aU_p6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of___Z4aU_p6EeaCyZKNPXLxEw" type="EnumerationLiteral_LiteralLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="__tJUkfp6EeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:EnumerationLiteral" href="BlockDefinitionDiagram_converted.uml#__EOTYPp6EeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__tJUkvp6EeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="__Z4aVPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="__Z4aVfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="__Z4aVvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="__Z4aV_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Enumeration_FloatingNameLabel_Of___Z4aUPp6EeaCyZKNPXLxEw" type="Enumeration_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Enumeration_FloatingNameLabel_Of___Z4aUPp6EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <element xmi:type="uml:Enumeration" href="BlockDefinitionDiagram_converted.uml#_-XJK8Pp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="__Z4aUfp6EeaCyZKNPXLxEw" x="976" y="360"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_0xHJMPqYEeaCyZKNPXLxEw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_0xHwQPqYEeaCyZKNPXLxEw" type="Interface_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__0xHwQPqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__0xHwQPqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Flow Properties_Of__0xHJMPqYEeaCyZKNPXLxEw" type="Flow Properties" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Flow Properties_Of__0xHJMPqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Flow Properties_Of__0xHJMPqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of_Flow Properties_Of__0xHJMPqYEeaCyZKNPXLxEw" type="Property_InterfaceAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_2XEaYfqYEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_2Vno4PqYEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2XEaYvqYEeaCyZKNPXLxEw"/>
+      </children>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Interface_FloatingNameLabel_Of__0xHJMPqYEeaCyZKNPXLxEw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Interface_FloatingNameLabel_Of__0xHJMPqYEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Interface_AttributeCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Interface_AttributeCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Interface_AttributeCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Interface_AttributeCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Interface_AttributeCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Interface_OperationCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw" type="Interface_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Interface_OperationCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Interface_OperationCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Interface_OperationCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Interface_OperationCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Interface_NestedClassifierCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Interface_NestedClassifierCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Interface_NestedClassifierCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Interface_NestedClassifierCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Interface_NestedClassifierCompartment_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="StereotypeLabel_Of__0xHJMPqYEeaCyZKNPXLxEw" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="StringValueStyle_Of_StereotypeLabel_Of__0xHJMPqYEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::DeprecatedElements::FlowSpecification"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_StereotypeLabel_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="StereotypeBrace_Of__0xHJMPqYEeaCyZKNPXLxEw" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_StereotypeBrace_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="StringValueStyle_Of_StereotypeBrace_Of__0xHJMPqYEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::DeprecatedElements::FlowSpecification"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_StereotypeBrace_Of__0xHJMPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="BlockDefinitionDiagram_converted.uml#_bIbu0PnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0xHJMfqYEeaCyZKNPXLxEw" x="58" y="403"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_4TiHEPqYEeaCyZKNPXLxEw" type="InstanceSpecification_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="InstanceSpecification_NameLabel_Of__4TiHEPqYEeaCyZKNPXLxEw" type="InstanceSpecification_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="InstanceSpecification_FloatingNameLabel_Of__4TiHEPqYEeaCyZKNPXLxEw" type="InstanceSpecification_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_InstanceSpecification_FloatingNameLabel_Of__4TiHEPqYEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="InstanceSpecification_SlotCompartment_Of__4TiHEPqYEeaCyZKNPXLxEw" type="InstanceSpecification_SlotCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_InstanceSpecification_SlotCompartment_Of__4TiHEPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_InstanceSpecification_SlotCompartment_Of__4TiHEPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_InstanceSpecification_SlotCompartment_Of__4TiHEPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_InstanceSpecification_SlotCompartment_Of__4TiHEPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram_converted.uml#_dSlSMPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4TiHEfqYEeaCyZKNPXLxEw" x="330" y="423"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_675QcPqYEeaCyZKNPXLxEw" type="InstanceSpecification_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_675QcvqYEeaCyZKNPXLxEw" type="InstanceSpecification_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__675QcvqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__675QcvqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_675Qc_qYEeaCyZKNPXLxEw" type="InstanceSpecification_FloatingNameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__675Qc_qYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__675Qc_qYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_6753gPqYEeaCyZKNPXLxEw" y="15"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6753gfqYEeaCyZKNPXLxEw" type="InstanceSpecification_SlotCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__6753gfqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__6753gfqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_cnRl8PqZEeaCyZKNPXLxEw" type="Slot_SlotLabel">
+        <element xmi:type="uml:Slot" href="BlockDefinitionDiagram_converted.uml#_cmkbUPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cnRl8fqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6753gvqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6753g_qYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6753hPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6753hfqYEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram_converted.uml#_6o1KgPqYEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_675QcfqYEeaCyZKNPXLxEw" x="71" y="583"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_90kGsPqYEeaCyZKNPXLxEw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_90kGsvqYEeaCyZKNPXLxEw" type="Interface_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__90kGsvqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__90kGsvqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_90ktwPqYEeaCyZKNPXLxEw" type="Interface_AttributeCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__90ktwPqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__90ktwPqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__90ktwPqYEeaCyZKNPXLxEw" type="Property_InterfaceAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_uI4bgfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_uILQ4PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uI4bgvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_90ktwfqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_90ktwvqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_90ktw_qYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_90ktxPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_90ktxfqYEeaCyZKNPXLxEw" type="Interface_OperationCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__90ktxfqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__90ktxfqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__90ktxfqYEeaCyZKNPXLxEw" type="Operation_InterfaceOperationLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_DxW1QfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Operation" href="BlockDefinitionDiagram_converted.uml#_DwB_kPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DxW1QvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__90ktxfqYEeaCyZKNPXLxEw_2" type="Reception_InterfaceReceptionLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_2LjRcfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Reception" href="BlockDefinitionDiagram_converted.uml#_2LAe4PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2LjRcvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_90ktxvqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_90ktx_qYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_90ktyPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_90ktyfqYEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Interface_FloatingNameLabel_Of__90kGsPqYEeaCyZKNPXLxEw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Interface_FloatingNameLabel_Of__90kGsPqYEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Interface_NestedClassifierCompartment_Of__90kGsPqYEeaCyZKNPXLxEw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Interface_NestedClassifierCompartment_Of__90kGsPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Interface_NestedClassifierCompartment_Of__90kGsPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Interface_NestedClassifierCompartment_Of__90kGsPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Interface_NestedClassifierCompartment_Of__90kGsPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:Compartment" xmi:id="Flow Properties_Of__90kGsPqYEeaCyZKNPXLxEw" type="Flow Properties"/>
+    <element xmi:type="uml:Interface" href="BlockDefinitionDiagram_converted.uml#_9ijJoPqYEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_90kGsfqYEeaCyZKNPXLxEw" x="344" y="600"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-0SeUPqYEeaCyZKNPXLxEw" type="Model_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-0SeUvqYEeaCyZKNPXLxEw" type="Model_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__-0SeUvqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__-0SeUvqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-0SeU_qYEeaCyZKNPXLxEw" type="Model_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__-0SeU_qYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__-0SeU_qYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-0SeVPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-0SeVfqYEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Model" href="BlockDefinitionDiagram_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-0SeUfqYEeaCyZKNPXLxEw" x="680" y="555"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_F3UcMPqZEeaCyZKNPXLxEw" type="DataType_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_F3VDQPqZEeaCyZKNPXLxEw" type="DataType_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__F3VDQPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__F3VDQPqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_F3VDQfqZEeaCyZKNPXLxEw" type="DataType_AttributeCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__F3VDQfqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__F3VDQfqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__F3VDQfqZEeaCyZKNPXLxEw" type="Property_DataTypeAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_vu1FofqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_vuOBoPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vu1FovqZEeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__F3VDQfqZEeaCyZKNPXLxEw_2" type="Property_DataTypeAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_MjfHUfqbEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:ExtensionEnd" href="BlockDefinitionDiagram_converted.uml#_MHcrkPqbEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MjfHUvqbEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_F3VDQvqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_F3VDQ_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_F3VDRPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_F3VDRfqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_F3VDRvqZEeaCyZKNPXLxEw" type="DataType_OperationCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G9TM0PqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G9TM0fqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_F3VDR_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_F3VDSPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_F3VDSfqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_F3VDSvqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="DataType_FloatingNameLabel_Of__F3UcMPqZEeaCyZKNPXLxEw" type="DataType_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_DataType_FloatingNameLabel_Of__F3UcMPqZEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <element xmi:type="uml:DataType" href="BlockDefinitionDiagram_converted.uml#_EqGbIPqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F3UcMfqZEeaCyZKNPXLxEw" x="1302" y="341"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Tzv60PqZEeaCyZKNPXLxEw" type="PrimitiveType_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Tzv60vqZEeaCyZKNPXLxEw" type="PrimitiveType_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__Tzv60vqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__Tzv60vqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="PrimitiveType_FloatingNameLabel_Of__Tzv60PqZEeaCyZKNPXLxEw" type="PrimitiveType_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_PrimitiveType_FloatingNameLabel_Of__Tzv60PqZEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="PrimitiveType_AttributeCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw" type="PrimitiveType_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_PrimitiveType_AttributeCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_PrimitiveType_AttributeCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_PrimitiveType_AttributeCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_PrimitiveType_AttributeCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="PrimitiveType_OperationCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw" type="PrimitiveType_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_PrimitiveType_OperationCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_PrimitiveType_OperationCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_PrimitiveType_OperationCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_PrimitiveType_OperationCompartment_Of__Tzv60PqZEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:PrimitiveType" href="BlockDefinitionDiagram_converted.uml#_ThJu8PqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tzv60fqZEeaCyZKNPXLxEw" x="1065" y="557"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_W05-sPqZEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_W06lwPqZEeaCyZKNPXLxEw" type="Package_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__W06lwPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__W06lwPqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_W06lwfqZEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__W06lwfqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__W06lwfqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_W06lwvqZEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W06lw_qZEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Profile" href="BlockDefinitionDiagram_converted.uml#_WXGBUPqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W05-sfqZEeaCyZKNPXLxEw" x="1274" y="559"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_YirvIPqZEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_YisWMPqZEeaCyZKNPXLxEw" type="Package_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__YisWMPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__YisWMPqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_YisWMfqZEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__YisWMfqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__YisWMfqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YisWMvqZEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YisWM_qZEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Package" href="BlockDefinitionDiagram_converted.uml#_YHiEMPqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YirvIfqZEeaCyZKNPXLxEw" x="819" y="719"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_avXCEPqZEeaCyZKNPXLxEw" type="Signal_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_avXpIPqZEeaCyZKNPXLxEw" type="Signal_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__avXpIPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__avXpIPqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_avXpIfqZEeaCyZKNPXLxEw" type="Signal_AttributeCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x8WtIPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_x8WtIfqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="Shape_Of__avXpIfqZEeaCyZKNPXLxEw" type="Property_SignalAttributeLabel">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_yV4AYfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram_converted.uml#_yVN5EPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yV4AYvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_avXpIvqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_avXpI_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_avXpJPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_avXpJfqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Signal_FloatingNameLabel_Of__avXCEPqZEeaCyZKNPXLxEw" type="Signal_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Signal_FloatingNameLabel_Of__avXCEPqZEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <element xmi:type="uml:Signal" href="BlockDefinitionDiagram_converted.uml#_augGcPqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_avXCEfqZEeaCyZKNPXLxEw" x="1439" y="106"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_l1GAYPqZEeaCyZKNPXLxEw" type="DataType_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_l1HOgPqZEeaCyZKNPXLxEw" type="DataType_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__l1HOgPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__l1HOgPqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_l1HOgfqZEeaCyZKNPXLxEw" type="DataType_AttributeCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__l1HOgfqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__l1HOgfqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_l1HOgvqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_l1HOg_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_l1HOhPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_l1HOhfqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_l1H1kPqZEeaCyZKNPXLxEw" type="DataType_OperationCompartment" showTitle="true">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__l1H1kPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__l1H1kPqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_l1H1kfqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_l1H1kvqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_l1H1k_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_l1H1lPqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="DataType_FloatingNameLabel_Of__l1GAYPqZEeaCyZKNPXLxEw" type="DataType_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_DataType_FloatingNameLabel_Of__l1GAYPqZEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <element xmi:type="uml:DataType" href="BlockDefinitionDiagram_converted.uml#_lbPV8PqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l1GAYfqZEeaCyZKNPXLxEw" x="1120" y="711"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="__RNY8PqaEeaCyZKNPXLxEw" type="InstanceSpecification_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="__RNY8vqaEeaCyZKNPXLxEw" type="InstanceSpecification_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of___RNY8vqaEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of___RNY8vqaEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="__RNY8_qaEeaCyZKNPXLxEw" type="InstanceSpecification_FloatingNameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of___RNY8_qaEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of___RNY8_qaEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__ROAAPqaEeaCyZKNPXLxEw" y="15"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="__ROAAfqaEeaCyZKNPXLxEw" type="InstanceSpecification_SlotCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of___ROAAfqaEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of___ROAAfqaEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="__ROAAvqaEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="__ROAA_qaEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="__ROABPqaEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__ROABfqaEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram_converted.uml#__QiDgPqaEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="__RNY8fqaEeaCyZKNPXLxEw" x="100" y="765"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_j-e1Ifp6EeaCyZKNPXLxEw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_j-e1Ivp6EeaCyZKNPXLxEw">
+    <owner xmi:type="uml:Model" href="BlockDefinitionDiagram_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+    <configuration xmi:type="configuration:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml14.diagram.blockdefinition/resources/configuration/blockDefinitionDiagram.configuration#_ZrBf4JaBEeS8eNvSwD0lgA"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_j--kYPp6EeaCyZKNPXLxEw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <element xmi:type="uml:Model" href="BlockDefinitionDiagram_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_4qQIgPqZEeaCyZKNPXLxEw" type="Dependency_Edge" source="_oc3sAPp6EeaCyZKNPXLxEw" target="_3fSiUPp6EeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_4qQIg_qZEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__4qQIg_qZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__4qQIg_qZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_4qQIhPqZEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_4qQIhfqZEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__4qQIhfqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__4qQIhfqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_4qQIhvqZEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_4qQIgfqZEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Dependency" href="BlockDefinitionDiagram_converted.uml#_4pX-wPqZEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4qQIgvqZEeaCyZKNPXLxEw" points="[497, 281, -643984, -643984]$[566, 287, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4rqdwPqZEeaCyZKNPXLxEw" id="(1.0,0.7195121951219512)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4rqdwfqZEeaCyZKNPXLxEw" id="(0.0,0.6693548387096774)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_5kPEgPqZEeaCyZKNPXLxEw" type="Generalization_Edge" source="_0xHJMPqYEeaCyZKNPXLxEw" target="_oc3sAPp6EeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5kPEg_qZEeaCyZKNPXLxEw" type="Generalization_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__5kPEg_qZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__5kPEg_qZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5kPEhPqZEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_5kPEgfqZEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Generalization" href="BlockDefinitionDiagram_converted.uml#_5jWTsPqZEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5kPEgvqZEeaCyZKNPXLxEw" points="[262, 403, -643984, -643984]$[306, 373, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5lsdEPqZEeaCyZKNPXLxEw" id="(0.9622641509433962,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5lsdEfqZEeaCyZKNPXLxEw" id="(0.14732142857142858,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_8Cw8cPqZEeaCyZKNPXLxEw" type="InterfaceRealization_Edge" source="_zHOV4Pp6EeaCyZKNPXLxEw" target="_90kGsPqYEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_8CxjgPqZEeaCyZKNPXLxEw" type="InterfaceRealization_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__8CxjgPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__8CxjgPqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8CxjgfqZEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8CxjgvqZEeaCyZKNPXLxEw" type="InterfaceRealization_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__8CxjgvqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__8CxjgvqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8Cxjg_qZEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_8Cw8cfqZEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:InterfaceRealization" href="BlockDefinitionDiagram_converted.uml#_8B-SQPqZEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8Cw8cvqZEeaCyZKNPXLxEw" points="[264, 358, -643984, -643984]$[368, 600, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8EDV4PqZEeaCyZKNPXLxEw" id="(1.0,0.9216867469879518)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8EDV4fqZEeaCyZKNPXLxEw" id="(0.11320754716981132,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_BT6tAPqaEeaCyZKNPXLxEw" type="Usage_Edge" source="_-0SeUPqYEeaCyZKNPXLxEw" target="__Z4aUPp6EeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_BT6tA_qaEeaCyZKNPXLxEw" type="Usage_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__BT6tA_qaEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__BT6tA_qaEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BT6tBPqaEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_BT6tBfqaEeaCyZKNPXLxEw" type="Usage_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__BT6tBfqaEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__BT6tBfqaEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BT6tBvqaEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_BT6tAfqaEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Usage" href="BlockDefinitionDiagram_converted.uml#_BS7OgPqaEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BT6tAvqaEeaCyZKNPXLxEw" points="[-202, -59, -138, 158]$[-39, -131, 25, 86]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BVTNEPqaEeaCyZKNPXLxEw" id="(1.0,0.02)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BVTNEfqaEeaCyZKNPXLxEw" id="(0.49264705882352944,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_H1lDMPqaEeaCyZKNPXLxEw" type="Comment_AnnotatedElementEdge" source="_pR5PgPp6EeaCyZKNPXLxEw" target="_3fSiUPp6EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_H1lDMfqaEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H1lDMvqaEeaCyZKNPXLxEw" points="[1, 17, -21, -186]$[53, 217, 31, 14]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H2ykIPqaEeaCyZKNPXLxEw" id="(0.69,0.7166666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H2ykIfqaEeaCyZKNPXLxEw" id="(0.69,0.5725806451612904)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_JSj-kPqaEeaCyZKNPXLxEw" type="Constraint_ConstrainedElementEdge" source="_tAjSkPp6EeaCyZKNPXLxEw" target="_oc3sAPp6EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JSj-kfqaEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JSj-kvqaEeaCyZKNPXLxEw" points="[-65, -5, 258, 15]$[-310, -44, 13, -24]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JT1J4PqaEeaCyZKNPXLxEw" id="(0.6372549019607843,0.6833333333333333)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JT1J4fqaEeaCyZKNPXLxEw" id="(0.8571428571428571,0.07317073170731707)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_AHMlwPqbEeaCyZKNPXLxEw" type="InstanceSpecification_Edge" source="_675QcPqYEeaCyZKNPXLxEw" target="__RNY8PqaEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_AHNM0PqbEeaCyZKNPXLxEw" type="InstanceSpecification_SourceRoleLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AHNM0fqbEeaCyZKNPXLxEw" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AHNM0vqbEeaCyZKNPXLxEw" type="InstanceSpecification_TargetRoleLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AHNM0_qbEeaCyZKNPXLxEw" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AHMlwfqbEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram_converted.uml#__rWXQPqaEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AHMlwvqbEeaCyZKNPXLxEw" points="[3, 32, -11, -114]$[-29, 114, -43, -32]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AJfr0PqbEeaCyZKNPXLxEw" id="(0.45714285714285713,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AJfr0fqbEeaCyZKNPXLxEw" id="(0.3,0.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.uml
new file mode 100644
index 0000000..25a60af
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.uml
@@ -0,0 +1,279 @@
+<?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:Activities="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks" xmlns:ConstraintBlocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks" xmlns:DeprecatedElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements" xmlns:ModelElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements" xmlns:PortsAndFlows="http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" 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.4/SysML/Activities http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="BlockDefinitionDiagram"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170228165651"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+    </eAnnotations>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw" annotatedElement="_3NRlQPp6EeaCyZKNPXLxEw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <ownedRule xmi:type="uml:DurationConstraint" xmi:id="_qojgcPp6EeaCyZKNPXLxEw" name="DurationConstraint1">
+      <specification xmi:type="uml:DurationInterval" xmi:id="_qokukPp6EeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedRule xmi:type="uml:InteractionConstraint" xmi:id="_rL5eEPp6EeaCyZKNPXLxEw" name="InteractionConstraint1"/>
+    <ownedRule xmi:type="uml:IntervalConstraint" xmi:id="_rnvskPp6EeaCyZKNPXLxEw" name="IntervalConstraint1">
+      <specification xmi:type="uml:Interval" xmi:id="_rnw6sPp6EeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedRule xmi:type="uml:TimeConstraint" xmi:id="_sRGyoPp6EeaCyZKNPXLxEw" name="TimeConstraint1">
+      <specification xmi:type="uml:TimeInterval" xmi:id="_sRIAwPp6EeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of__0">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of_SysML.package_packagedElement_Libraries">
+      <importedPackage xmi:type="uml:Package" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <generalization xmi:type="uml:Generalization" xmi:id="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw" general="_VJttoPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_CSOgcPp7EeaCyZKNPXLxEw" name="flowport2" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_q6hCEPqZEeaCyZKNPXLxEw" name="value1" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uiRy8PqZEeaCyZKNPXLxEw" name="Attribute2"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-Z8PMPqZEeaCyZKNPXLxEw" name="reference1" type="_-my_cPqZEeaCyZKNPXLxEw" association="_-mzmgPqZEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_DS2e4PqaEeaCyZKNPXLxEw" name="Port1" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_D-XhEPqaEeaCyZKNPXLxEw" name="Port2" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Fp8SEPqaEeaCyZKNPXLxEw" name="part1" type="_F1VpwPqaEeaCyZKNPXLxEw" aggregation="composite" association="_F1WQ0PqaEeaCyZKNPXLxEw"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_APeC4PqZEeaCyZKNPXLxEw" name="Operation2"/>
+      <ownedReception xmi:type="uml:Reception" xmi:id="_1f_L8PqZEeaCyZKNPXLxEw" name="Reception1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1">
+      <generalization xmi:type="uml:Generalization" xmi:id="_5jWTsPqZEeaCyZKNPXLxEw" general="_TIQzQPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2Vno4PqYEeaCyZKNPXLxEw" name="flowproperty1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1">
+      <classifier xmi:type="uml:Class" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>firstConcerns</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_2_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>secondConcerns</body>
+      </ownedComment>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="createOperation_Of__fih7kPnoEeauDtoDZwIqjw" name="View">
+        <ownedComment xmi:type="uml:Comment" xmi:id="comment_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw">
+          <body>firstMethod()
+secondMethod()</body>
+        </ownedComment>
+      </ownedOperation>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" name="mySecondStakeholder"/>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" name="myFirstStakeholder"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Actor" xmi:id="_njz9EPp6EeaCyZKNPXLxEw" name="Actor1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_zHLSkPp6EeaCyZKNPXLxEw" name="ConstraintBlock2">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_0KV_wPp6EeaCyZKNPXLxEw" name="constraintproperty1" aggregation="composite" association="_0KWm0Pp6EeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_LQ0zIPp7EeaCyZKNPXLxEw" name="flowproperty1" aggregation="composite"/>
+      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8B-SQPqZEeaCyZKNPXLxEw" client="_zHLSkPp6EeaCyZKNPXLxEw" supplier="_9ijJoPqYEeaCyZKNPXLxEw" contract="_9ijJoPqYEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_0KWm0Pp6EeaCyZKNPXLxEw" name="Association2" memberEnd="_0KV_wPp6EeaCyZKNPXLxEw _0KWm0_p6EeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0KWm0fp6EeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0KWm0vp6EeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_0KWm0_p6EeaCyZKNPXLxEw" name="constraintblock2" type="_zHLSkPp6EeaCyZKNPXLxEw" association="_0KWm0Pp6EeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_3NRlQPp6EeaCyZKNPXLxEw" name="DataType1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_4zA0APp6EeaCyZKNPXLxEw" name="Dimension2"/>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_-XJK8Pp6EeaCyZKNPXLxEw" name="Enumeration1">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="__EOTYPp6EeaCyZKNPXLxEw" name="EnumerationLiteral1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_6o1KgPqYEeaCyZKNPXLxEw" name="InstanceSpecification1">
+      <slot xmi:type="uml:Slot" xmi:id="_cmkbUPqZEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_9ijJoPqYEeaCyZKNPXLxEw" name="Interface1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uILQ4PqZEeaCyZKNPXLxEw" name="Attribute1"/>
+      <ownedReception xmi:type="uml:Reception" xmi:id="_2LAe4PqZEeaCyZKNPXLxEw" name="Reception1"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_DwB_kPqZEeaCyZKNPXLxEw" name="Operation1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_EqGbIPqZEeaCyZKNPXLxEw" name="DataType2">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vuOBoPqZEeaCyZKNPXLxEw" name="Attribute1"/>
+      <ownedAttribute xmi:type="uml:ExtensionEnd" xmi:id="_MHcrkPqbEeaCyZKNPXLxEw" name="ExtensionEnd1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_ThJu8PqZEeaCyZKNPXLxEw" name="PrimitiveType1"/>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_WXGBUPqZEeaCyZKNPXLxEw" name="Profile1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_YHiEMPqZEeaCyZKNPXLxEw" name="Package1"/>
+    <packagedElement xmi:type="uml:Signal" xmi:id="_augGcPqZEeaCyZKNPXLxEw" name="Signal1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_yVN5EPqZEeaCyZKNPXLxEw" name="Attribute1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_lbPV8PqZEeaCyZKNPXLxEw" name="ValueType2"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_4pX-wPqZEeaCyZKNPXLxEw" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_3NRlQPp6EeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_-my_cPqZEeaCyZKNPXLxEw" name="Block2"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-mzmgPqZEeaCyZKNPXLxEw" name="Association3" memberEnd="_-Z8PMPqZEeaCyZKNPXLxEw _-mzmg_qZEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-mzmgfqZEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-mzmgvqZEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-mzmg_qZEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-mzmgPqZEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Usage" xmi:id="_BS7OgPqaEeaCyZKNPXLxEw" client="_m5FkYPkiEeavtrWHCQ8Tnw" supplier="_-XJK8Pp6EeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_F1VpwPqaEeaCyZKNPXLxEw" name="Block3"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_F1WQ0PqaEeaCyZKNPXLxEw" name="Association4" memberEnd="_Fp8SEPqaEeaCyZKNPXLxEw _F1WQ0_qaEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F1WQ0fqaEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F1WQ0vqaEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_F1WQ0_qaEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_F1WQ0PqaEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Constraint" xmi:id="_p8AjgPp6EeaCyZKNPXLxEw" name="Constraint1" constrainedElement="_TIQzQPnoEeauDtoDZwIqjw">
+      <specification xmi:type="uml:OpaqueExpression" xmi:id="_qNfVEPp6EeaCyZKNPXLxEw">
+        <language>OCL</language>
+        <body></body>
+      </specification>
+    </packagedElement>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="__QiDgPqaEeaCyZKNPXLxEw" name="InstanceSpecification2"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="__rWXQPqaEeaCyZKNPXLxEw" name="InstanceSpecification3">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AGmv4PqbEeaCyZKNPXLxEw" source="InstanceEnd" references="_6o1KgPqYEeaCyZKNPXLxEw __QiDgPqaEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw" name="View1" visibility="public"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of_SysML">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML" 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="profileApplication_Of_SysML.package_packagedElement_Activities">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Activities" 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="profileApplication_Of_SysML.package_packagedElement_Allocations">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Allocations" 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="profileApplication_Of_SysML.package_packagedElement_Blocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Blocks" 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="profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks" 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="profileApplication_Of_SysML.package_packagedElement_DeprecatedElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_DeprecatedElements" 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="profileApplication_Of_SysML.package_packagedElement_ModelElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ModelElements" 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="profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows" 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="profileApplication_Of_SysML.package_packagedElement_Requirements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Requirements" 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>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of__0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of__0" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Class="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" base_Class="_TIQzQPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" base_Class="_VJttoPnoEeauDtoDZwIqjw" id="MyIdentifier" text="MyText"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_W4lqQPnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Generalization="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" base_Class="_X_-JEPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZBoaYPnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZhPHgPnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <DeprecatedElements:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortsAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_DirectedRelationship="_c1j_APnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" quantityKind="_aD36gPnoEeauDtoDZwIqjw" unit="_dSlSMPnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_DirectedRelationship="_egM74PnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw">
+    <language>C++</language>
+    <language>C</language>
+    <language>OCL</language>
+  </ModelElements:Viewpoint>
+  <DeprecatedElements:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" direction="out"/>
+  <PortsAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_zHMgsPp6EeaCyZKNPXLxEw" base_Class="_zHLSkPp6EeaCyZKNPXLxEw"/>
+  <DeprecatedElements:FlowPort xmi:id="_CSPukPp7EeaCyZKNPXLxEw" base_Port="_CSOgcPp7EeaCyZKNPXLxEw"/>
+  <PortsAndFlows:FlowProperty xmi:id="_LRVwgPp7EeaCyZKNPXLxEw" base_Property="_LQ0zIPp7EeaCyZKNPXLxEw"/>
+  <PortsAndFlows:FlowProperty xmi:id="_2Wd9cPqYEeaCyZKNPXLxEw" base_Property="_2Vno4PqYEeaCyZKNPXLxEw"/>
+  <Blocks:ValueType xmi:id="_lb2Z8PqZEeaCyZKNPXLxEw" base_DataType="_lbPV8PqZEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_-my_cfqZEeaCyZKNPXLxEw" base_Class="_-my_cPqZEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_F1VpwfqaEeaCyZKNPXLxEw" base_Class="_F1VpwPqaEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.notation
new file mode 100644
index 0000000..a716713
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.notation
@@ -0,0 +1,423 @@
+<?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:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GKEAkPpuEeaCyZKNPXLxEw" type="CompositeStructure" name="New Internal Block Diagram" measurementUnit="Pixel">
+  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_1.1_Of__GKEAkPpuEeaCyZKNPXLxEw" source="Imported_From_SysML_1.1">
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of_Imported_From_SysML_1.1_Of__GKEAkPpuEeaCyZKNPXLxEw" key="Papyrus_Source_Model_Name" value="InternalBlockDiagram_converted"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__GKEAkPpuEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20170228165657"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__GKEAkPpuEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+  </eAnnotations>
+  <children xmi:type="notation:Shape" xmi:id="_GKEnoPpuEeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_GKFOsPpuEeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__GKFOsPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__GKFOsPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_GKFOsfpuEeaCyZKNPXLxEw" type="Class_StructureCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__GKFOsfpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__GKFOsfpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_M7htUPpuEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M7i7cPpuEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M7i7cPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M7i7cPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_M7i7cfpuEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M7i7cfpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M7i7cfpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_M7i7cvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__M7htUPpuEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__M7htUPpuEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram_converted.uml#_M66CQPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M7htUfpuEeaCyZKNPXLxEw" x="34" y="21" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_N-bUwPpuEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_N-b70PpuEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__N-b70PpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__N-b70PpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_N-ci4PpuEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__N-ci4PpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__N-ci4PpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_N-ci4fpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_N-niAPpuEeaCyZKNPXLxEw" type="compartment_shape_display">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_N-niAfpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N-niAvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__N-bUwPpuEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__N-bUwPpuEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_RyHo0PpuEeaCyZKNPXLxEw" type="Port_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_RyIP4PpuEeaCyZKNPXLxEw" type="Port_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__RyIP4PpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__RyIP4PpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+            </eAnnotations>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_RyIP4fpuEeaCyZKNPXLxEw" x="30"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_RyIP4vpuEeaCyZKNPXLxEw" type="Port_StereotypeLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__RyIP4vpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__RyIP4vpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+            </eAnnotations>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_RyIP4_puEeaCyZKNPXLxEw" x="30" y="-20"/>
+          </children>
+          <element xmi:type="uml:Port" href="InternalBlockDiagram_converted.uml#_RxmrcPpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RyHo0fpuEeaCyZKNPXLxEw" x="190" y="63" width="20" height="20"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_S4pzEPpuEeaCyZKNPXLxEw" type="Port_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_S4qaIPpuEeaCyZKNPXLxEw" type="Port_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__S4qaIPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__S4qaIPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+            </eAnnotations>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_S4qaIfpuEeaCyZKNPXLxEw" x="30"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_S4qaIvpuEeaCyZKNPXLxEw" type="Port_StereotypeLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__S4qaIvpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__S4qaIvpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+            </eAnnotations>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_S4qaI_puEeaCyZKNPXLxEw" x="30" y="-20"/>
+          </children>
+          <element xmi:type="uml:Port" href="InternalBlockDiagram_converted.uml#_S4Z7cPpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S4pzEfpuEeaCyZKNPXLxEw" x="23" y="90" width="20" height="20"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram_converted.uml#_Nr-S0PpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N-bUwfpuEeaCyZKNPXLxEw" x="309" y="296" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_O2iBcPpuEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_O2iogPpuEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__O2iogPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__O2iogPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_O2jPkPpuEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__O2jPkPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__O2jPkPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_O2jPkfpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_O2zHMPpuEeaCyZKNPXLxEw" type="compartment_shape_display">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_O2zHMfpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O2zHMvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__O2iBcPpuEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__O2iBcPpuEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZPq_gPpuEeaCyZKNPXLxEw" type="Port_Shape">
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZPrmkPpuEeaCyZKNPXLxEw" type="Port_NameLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__ZPrmkPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__ZPrmkPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+            </eAnnotations>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPrmkfpuEeaCyZKNPXLxEw" x="30"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZPs0sPpuEeaCyZKNPXLxEw" type="Port_StereotypeLabel">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__ZPs0sPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__ZPs0sPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+            </eAnnotations>
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPs0sfpuEeaCyZKNPXLxEw" x="30" y="-20"/>
+          </children>
+          <element xmi:type="uml:Port" href="InternalBlockDiagram_converted.uml#_ZPmuEPpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZPq_gfpuEeaCyZKNPXLxEw" x="190" y="89" width="20" height="20"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram_converted.uml#_OoRjAPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O2iBcfpuEeaCyZKNPXLxEw" x="785" y="60" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_UhXdUPpuEeaCyZKNPXLxEw" type="Comment_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_UhYEYPpuEeaCyZKNPXLxEw" type="Comment_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__UhYEYPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__UhYEYPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:Comment" href="InternalBlockDiagram_converted.uml#_Ug_C0PpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UhXdUfpuEeaCyZKNPXLxEw" x="802" y="254"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_U3rEgPpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_U3rrkPpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__U3rrkPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__U3rrkPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_U3rrkfpuEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__U3rrkfpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__U3rrkfpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:Constraint" href="InternalBlockDiagram_converted.uml#_U20v8PpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U3rEgfpuEeaCyZKNPXLxEw" x="623" y="406"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_X93ZYPpuEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_X94AcPpuEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__X94AcPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__X94AcPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_X94AcfpuEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__X94AcfpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__X94AcfpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_X94AcvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__X93ZYPpuEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__X93ZYPpuEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram_converted.uml#_XpwKkPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X93ZYfpuEeaCyZKNPXLxEw" x="886" y="369" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_aJ06oPpuEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_aJ1hsPpuEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__aJ1hsPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__aJ1hsPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_aJ1hsfpuEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__aJ1hsfpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__aJ1hsfpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_aJ1hsvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__aJ06oPpuEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__aJ06oPpuEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram_converted.uml#_Z9P3MPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aJ06ofpuEeaCyZKNPXLxEw" x="119" y="170" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_dWRogPpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_dWRogvpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__dWRogvpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__dWRogvpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_dWRog_puEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__dWRog_puEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__dWRog_puEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:DurationConstraint" href="InternalBlockDiagram_converted.uml#_c_drAPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dWRogfpuEeaCyZKNPXLxEw" x="119" y="454"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_fZnZQPpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_fZnZQvpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__fZnZQvpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__fZnZQvpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fZnZQ_puEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__fZnZQ_puEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__fZnZQ_puEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:InteractionConstraint" href="InternalBlockDiagram_converted.uml#_fCPbEPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fZnZQfpuEeaCyZKNPXLxEw" x="538" y="154"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hTd20PpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_hTed4PpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__hTed4PpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__hTed4PpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_hTed4fpuEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__hTed4fpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__hTed4fpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:IntervalConstraint" href="InternalBlockDiagram_converted.uml#_gvvesPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hTd20fpuEeaCyZKNPXLxEw" x="1006" y="244"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_q53wYPpuEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_q54XcPpuEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__q54XcPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__q54XcPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_q54XcfpuEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__q54XcfpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__q54XcfpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_q54XcvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__q53wYPpuEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__q53wYPpuEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram_converted.uml#_lLsRkPnqEeauDtoDZwIqjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q53wYfpuEeaCyZKNPXLxEw" x="45" y="309" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_2_feYPpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_2_feYvpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__2_feYvpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__2_feYvpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_2_feY_puEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__2_feY_puEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__2_feY_puEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:TimeConstraint" href="InternalBlockDiagram_converted.uml#_2jwkoPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2_feYfpuEeaCyZKNPXLxEw" x="488" y="27"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_GKFOsvpuEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__GKEnoPpuEeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__GKEnoPpuEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="StereotypeLabel_Of__GKEnoPpuEeaCyZKNPXLxEw" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="StringValueStyle_Of_StereotypeLabel_Of__GKEnoPpuEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_StereotypeLabel_Of__GKEnoPpuEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="StereotypeBrace_Of__GKEnoPpuEeaCyZKNPXLxEw" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_StereotypeBrace_Of__GKEnoPpuEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="StringValueStyle_Of_StereotypeBrace_Of__GKEnoPpuEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_StereotypeBrace_Of__GKEnoPpuEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="compartment_shape_display_Of__GKEnoPpuEeaCyZKNPXLxEw" type="compartment_shape_display">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_compartment_shape_display_Of__GKEnoPpuEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="InternalBlockDiagram_converted.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKEnofpuEeaCyZKNPXLxEw" x="40" y="40" width="1224" height="610"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_GKEAkfpuEeaCyZKNPXLxEw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_GKEAkvpuEeaCyZKNPXLxEw">
+    <owner xmi:type="uml:Class" href="InternalBlockDiagram_converted.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    <configuration xmi:type="configuration:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml14.diagram.internalblock/resources/configuration/internalBlockDiagram.configuration#_ZrBf4JaBEeS8eNvSwD0lgA"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_GLNQEPpuEeaCyZKNPXLxEw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <element xmi:type="uml:Class" href="InternalBlockDiagram_converted.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_Tjqe8PpuEeaCyZKNPXLxEw" type="Connector_Edge" source="_S4pzEPpuEeaCyZKNPXLxEw" target="_RyHo0PpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_TjrGAPpuEeaCyZKNPXLxEw" type="Connector_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__TjrGAPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__TjrGAPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TjrGAfpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_TjrGAvpuEeaCyZKNPXLxEw" type="Connector_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__TjrGAvpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__TjrGAvpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TjrGA_puEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_TjrtEPpuEeaCyZKNPXLxEw" type="Connector_SourceMultiplicityLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__TjrtEPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__TjrtEPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TjrtEfpuEeaCyZKNPXLxEw" y="10"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_TjrtEvpuEeaCyZKNPXLxEw" type="Connector_TargetMultiplicityLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__TjrtEvpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__TjrtEvpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TjrtE_puEeaCyZKNPXLxEw" y="10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Tjqe8fpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Connector" href="InternalBlockDiagram_converted.uml#_Tjgt8PpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Tjqe8vpuEeaCyZKNPXLxEw" points="[383, 468, -643984, -643984]$[545, 451, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TpEjYPpuEeaCyZKNPXLxEw" id="(0.25,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TpEjYfpuEeaCyZKNPXLxEw" id="(0.0,0.5489010989010978)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_UFkSIPpuEeaCyZKNPXLxEw" type="Dependency_Edge" source="_O2iBcPpuEeaCyZKNPXLxEw" target="_M7htUPpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_UFkSI_puEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__UFkSI_puEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__UFkSI_puEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_UFkSJPpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_UFkSJfpuEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__UFkSJfpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__UFkSJfpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_UFkSJvpuEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_UFkSIfpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Dependency" href="InternalBlockDiagram_converted.uml#_UFeLgPpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UFkSIvpuEeaCyZKNPXLxEw" points="[831, 216, -643984, -643984]$[280, 172, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UGSq4PpuEeaCyZKNPXLxEw" id="(0.0,0.74)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UGSq4fpuEeaCyZKNPXLxEw" id="(1.0,0.69)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_V0JT0PpuEeaCyZKNPXLxEw" type="Comment_AnnotatedElementEdge" source="_UhXdUPpuEeaCyZKNPXLxEw" target="_O2iBcPpuEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_V0JT0fpuEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V0JT0vpuEeaCyZKNPXLxEw" points="[4, -29, 26, 211]$[-46, -123, -24, 117]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V14ZMPpuEeaCyZKNPXLxEw" id="(0.29,0.48333333333333334)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V15AQPpuEeaCyZKNPXLxEw" id="(0.35,0.65)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_WQLvkPpuEeaCyZKNPXLxEw" type="Constraint_ConstrainedElementEdge" source="_U3rEgPpuEeaCyZKNPXLxEw" target="_RyHo0PpuEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_WQLvkfpuEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WQLvkvpuEeaCyZKNPXLxEw" points="[-68, -22, 261, 149]$[-283, -89, 46, 82]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WRfXIPpuEeaCyZKNPXLxEw" id="(0.6666666666666666,0.7833333333333333)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WRfXIfpuEeaCyZKNPXLxEw" id="(0.0,0.5)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_mYU30PpuEeaCyZKNPXLxEw" type="Manifestation_Edge" source="_M7htUPpuEeaCyZKNPXLxEw" target="_fZnZQPpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_mYVe4PpuEeaCyZKNPXLxEw" type="Manifestation_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__mYVe4PpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__mYVe4PpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yuPEkPpuEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mYVe4fpuEeaCyZKNPXLxEw" x="1" y="-28"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_mYVe4vpuEeaCyZKNPXLxEw" type="Manifestation_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__mYVe4vpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__mYVe4vpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yu0TYPpuEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mYVe4_puEeaCyZKNPXLxEw" x="1" y="-8"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_mYU30fpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Manifestation" href="InternalBlockDiagram_converted.uml#_l7PTMPpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mYU30vpuEeaCyZKNPXLxEw" points="[280, 182, -643984, -643984]$[564, 264, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yvpZ0PpuEeaCyZKNPXLxEw" id="(1.0,0.73)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yvqA4PpuEeaCyZKNPXLxEw" id="(0.0,0.18333333333333332)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_rx49gPpuEeaCyZKNPXLxEw" type="Realization_Edge" source="_N-bUwPpuEeaCyZKNPXLxEw" target="_q53wYPpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_rx49g_puEeaCyZKNPXLxEw" type="Realization_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__rx49g_puEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__rx49g_puEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rx49hPpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_rx49hfpuEeaCyZKNPXLxEw" type="Realization_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__rx49hfpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__rx49hfpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rx49hvpuEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_rx49gfpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Realization" href="InternalBlockDiagram_converted.uml#_qKp58PpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rx49gvpuEeaCyZKNPXLxEw" points="[355, 432, -643984, -643984]$[291, 436, -643984, -643984]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vCWosPpuEeaCyZKNPXLxEw" type="Usage_Edge" source="_O2iBcPpuEeaCyZKNPXLxEw" target="_hTd20PpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vCXPwPpuEeaCyZKNPXLxEw" type="Usage_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vCXPwfpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vCXPwvpuEeaCyZKNPXLxEw" type="Usage_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__vCXPwvpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__vCXPwvpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vCXPw_puEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vCWosfpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Usage" href="InternalBlockDiagram_converted.uml#_ut1KMPpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vCWosvpuEeaCyZKNPXLxEw" points="[989, 242, -643984, -643984]$[1087, 326, -643984, -643984]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_x_DqYPpuEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_X93ZYPpuEeaCyZKNPXLxEw" target="_M7htUPpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_x_ERcPpuEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__x_ERcPpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__x_ERcPpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_x_ERcfpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_x_ERcvpuEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__x_ERcvpuEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__x_ERcvpuEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_x_ERc_puEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_x_DqYfpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="InternalBlockDiagram_converted.uml#_xplJoPpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_x_DqYvpuEeaCyZKNPXLxEw" points="[932, 460, -643984, -643984]$[280, 193, -643984, -643984]"/>
+  </edges>
+</notation:Diagram>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.uml
new file mode 100644
index 0000000..c448cb6
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.uml
@@ -0,0 +1,241 @@
+<?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:Activities="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks" xmlns:ConstraintBlocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks" xmlns:DeprecatedElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements" xmlns:ModelElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements" xmlns:PortsAndFlows="http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" 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.4/SysML/Activities http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="InternalBlockDiagram"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170228165656"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+    </eAnnotations>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of__0">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of_SysML.package_packagedElement_Libraries">
+      <importedPackage xmi:type="uml:Package" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_Ug_C0PpuEeaCyZKNPXLxEw" annotatedElement="_OoRjAPpuEeaCyZKNPXLxEw"/>
+      <ownedRule xmi:type="uml:Constraint" xmi:id="_U20v8PpuEeaCyZKNPXLxEw" name="Constraint1" constrainedElement="_RxmrcPpuEeaCyZKNPXLxEw">
+        <specification xmi:type="uml:LiteralString" xmi:id="_U2-g8PpuEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:DurationConstraint" xmi:id="_c_drAPpuEeaCyZKNPXLxEw" name="DurationConstraint1">
+        <specification xmi:type="uml:DurationInterval" xmi:id="_c_eSEPpuEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:InteractionConstraint" xmi:id="_fCPbEPpuEeaCyZKNPXLxEw" name="InteractionConstraint1"/>
+      <ownedRule xmi:type="uml:IntervalConstraint" xmi:id="_gvvesPpuEeaCyZKNPXLxEw" name="IntervalConstraint1">
+        <specification xmi:type="uml:Interval" xmi:id="_gvws0PpuEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:TimeConstraint" xmi:id="_2jwkoPpuEeaCyZKNPXLxEw" name="TimeConstraint1">
+        <specification xmi:type="uml:TimeInterval" xmi:id="_2jxywPpuEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <generalization xmi:type="uml:Generalization" xmi:id="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw" general="_VJttoPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_M66CQPpuEeaCyZKNPXLxEw" name="Attribute2"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Nr-S0PpuEeaCyZKNPXLxEw" name="part1" type="_N-F9kPpuEeaCyZKNPXLxEw" aggregation="composite" association="_N-RjwPpuEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OoRjAPpuEeaCyZKNPXLxEw" name="reference1" type="_O2K1EPpuEeaCyZKNPXLxEw" association="_O2MDMPpuEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_XpwKkPpuEeaCyZKNPXLxEw" name="value1" type="_X9CS8PpuEeaCyZKNPXLxEw" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Z9P3MPpuEeaCyZKNPXLxEw" name="actorPart1" type="_aJKzUPpuEeaCyZKNPXLxEw" aggregation="composite"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1">
+      <classifier xmi:type="uml:Class" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>firstConcerns</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_2_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>secondConcerns</body>
+      </ownedComment>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="createOperation_Of__fih7kPnoEeauDtoDZwIqjw" name="View">
+        <ownedComment xmi:type="uml:Comment" xmi:id="comment_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw">
+          <body>firstMethod()
+secondMethod()</body>
+        </ownedComment>
+      </ownedOperation>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" name="mySecondStakeholder"/>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" name="myFirstStakeholder"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_N-F9kPpuEeaCyZKNPXLxEw" name="Block2">
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_RxmrcPpuEeaCyZKNPXLxEw" name="flowport1" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_S4Z7cPpuEeaCyZKNPXLxEw" name="flowport2" aggregation="composite"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Tjgt8PpuEeaCyZKNPXLxEw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_TjoCsPpuEeaCyZKNPXLxEw" role="_S4Z7cPpuEeaCyZKNPXLxEw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_TjoCsfpuEeaCyZKNPXLxEw" role="_RxmrcPpuEeaCyZKNPXLxEw"/>
+      </ownedConnector>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_N-RjwPpuEeaCyZKNPXLxEw" name="Association2" memberEnd="_Nr-S0PpuEeaCyZKNPXLxEw _N-Rjw_puEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N-RjwfpuEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N-RjwvpuEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_N-Rjw_puEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_N-RjwPpuEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_O2K1EPpuEeaCyZKNPXLxEw" name="Block3">
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_ZPmuEPpuEeaCyZKNPXLxEw" name="Port1" aggregation="composite"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_O2MDMPpuEeaCyZKNPXLxEw" name="Association3" memberEnd="_OoRjAPpuEeaCyZKNPXLxEw _O2MDM_puEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O2MDMfpuEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_O2MDMvpuEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_O2MDM_puEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_O2MDMPpuEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_UFeLgPpuEeaCyZKNPXLxEw" client="_OoRjAPpuEeaCyZKNPXLxEw" supplier="_M66CQPpuEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_X9CS8PpuEeaCyZKNPXLxEw" name="DataType1"/>
+    <packagedElement xmi:type="uml:Actor" xmi:id="_aJKzUPpuEeaCyZKNPXLxEw" name="Actor1"/>
+    <packagedElement xmi:type="uml:Manifestation" xmi:id="_l7PTMPpuEeaCyZKNPXLxEw" client="_M66CQPpuEeaCyZKNPXLxEw" supplier="_fCPbEPpuEeaCyZKNPXLxEw" utilizedElement="_fCPbEPpuEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Realization" xmi:id="_qKp58PpuEeaCyZKNPXLxEw" client="_Nr-S0PpuEeaCyZKNPXLxEw" supplier="_lLsRkPnqEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Usage" xmi:id="_ut1KMPpuEeaCyZKNPXLxEw" client="_OoRjAPpuEeaCyZKNPXLxEw" supplier="_gvvesPpuEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_xplJoPpuEeaCyZKNPXLxEw" client="_XpwKkPpuEeaCyZKNPXLxEw" supplier="_M66CQPpuEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw" name="View1" visibility="public"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of_SysML">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML" 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="profileApplication_Of_SysML.package_packagedElement_Activities">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Activities" 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="profileApplication_Of_SysML.package_packagedElement_Allocations">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Allocations" 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="profileApplication_Of_SysML.package_packagedElement_Blocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Blocks" 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="profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks" 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="profileApplication_Of_SysML.package_packagedElement_DeprecatedElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_DeprecatedElements" 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="profileApplication_Of_SysML.package_packagedElement_ModelElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ModelElements" 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="profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows" 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="profileApplication_Of_SysML.package_packagedElement_Requirements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Requirements" 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>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of__0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of__0" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Class="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" base_Class="_TIQzQPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" base_Class="_VJttoPnoEeauDtoDZwIqjw" id="MyIdentifier" text="MyText"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_W4lqQPnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Generalization="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" base_Class="_X_-JEPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZBoaYPnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZhPHgPnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <DeprecatedElements:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortsAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_DirectedRelationship="_c1j_APnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" quantityKind="_aD36gPnoEeauDtoDZwIqjw" unit="_dSlSMPnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_DirectedRelationship="_egM74PnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw">
+    <language>C++</language>
+    <language>C</language>
+    <language>OCL</language>
+  </ModelElements:Viewpoint>
+  <DeprecatedElements:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" direction="out"/>
+  <PortsAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_N-GkoPpuEeaCyZKNPXLxEw" base_Class="_N-F9kPpuEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_O2K1EfpuEeaCyZKNPXLxEw" base_Class="_O2K1EPpuEeaCyZKNPXLxEw"/>
+  <DeprecatedElements:FlowPort xmi:id="_RyD-cPpuEeaCyZKNPXLxEw" base_Port="_RxmrcPpuEeaCyZKNPXLxEw" direction="in"/>
+  <DeprecatedElements:FlowPort xmi:id="_S4n94PpuEeaCyZKNPXLxEw" base_Port="_S4Z7cPpuEeaCyZKNPXLxEw" direction="out"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.notation
new file mode 100644
index 0000000..2c0df48
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.notation
@@ -0,0 +1,385 @@
+<?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:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GQBpMPpvEeaCyZKNPXLxEw" type="CompositeStructure" name="New Parametric Diagram" measurementUnit="Pixel">
+  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_1.1_Of__GQBpMPpvEeaCyZKNPXLxEw" source="Imported_From_SysML_1.1">
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of_Imported_From_SysML_1.1_Of__GQBpMPpvEeaCyZKNPXLxEw" key="Papyrus_Source_Model_Name" value="ParametricDiagram_converted"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__GQBpMPpvEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20170228165700"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__GQBpMPpvEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+  </eAnnotations>
+  <children xmi:type="notation:Shape" xmi:id="_GQCQQPpvEeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_GQCQQvpvEeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__GQCQQvpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__GQCQQvpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_GQCQQ_pvEeaCyZKNPXLxEw" type="Class_StructureCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__GQCQQ_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__GQCQQ_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_IXXwMPpvEeaCyZKNPXLxEw" type="Comment_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_IXYXQPpvEeaCyZKNPXLxEw" type="Comment_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__IXYXQPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__IXYXQPpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:Comment" href="ParametricDiagram_converted.uml#_IXUF0PpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IXXwMfpvEeaCyZKNPXLxEw" x="1127" y="532"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_I2JW4PpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_I2J98PpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__I2J98PpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__I2J98PpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_I2J98fpvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__I2J98fpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__I2J98fpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:Constraint" href="ParametricDiagram_converted.uml#_I1yKgPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I2JW4fpvEeaCyZKNPXLxEw" x="853" y="497"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M0usUPpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M0usUvpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M0usUvpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M0usUvpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M0usU_pvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M0usU_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M0usU_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:DurationConstraint" href="ParametricDiagram_converted.uml#_KLtboPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0usUfpvEeaCyZKNPXLxEw" x="420" y="46"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M1bP4PpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M1bP4vpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M1bP4vpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M1bP4vpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M1bP4_pvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M1bP4_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M1bP4_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:InteractionConstraint" href="ParametricDiagram_converted.uml#_KvTQ4PpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1bP4fpvEeaCyZKNPXLxEw" x="453" y="351"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M2F-QPpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M2F-QvpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M2F-QvpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M2F-QvpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M2F-Q_pvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M2F-Q_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M2F-Q_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:IntervalConstraint" href="ParametricDiagram_converted.uml#_LOo4QPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M2F-QfpvEeaCyZKNPXLxEw" x="189" y="310"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M22zQPpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M22zQvpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M22zQvpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M22zQvpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M22zQ_pvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M22zQ_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M22zQ_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <element xmi:type="uml:TimeConstraint" href="ParametricDiagram_converted.uml#_L5MRIPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M22zQfpvEeaCyZKNPXLxEw" x="46" y="129"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_O9tyEPpvEeaCyZKNPXLxEw" type="ConstraintPropertyComposite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_O9uZIPpvEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__O9uZIPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__O9uZIPpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_O-OvcPpvEeaCyZKNPXLxEw" type="constraints">
+          <element xmi:type="uml:Constraint" href="ParametricDiagram_converted.uml#_O9UJcPpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_O-bjwPpvEeaCyZKNPXLxEw" type="compartment_shape_display">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_O-bjwfpvEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-bjwvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__O9tyEPpvEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__O9tyEPpvEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="Property_StructureCompartment_Of__O9tyEPpvEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Property_StructureCompartment_Of__O9tyEPpvEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Property_StructureCompartment_Of__O9tyEPpvEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Property_StructureCompartment_Of__O9tyEPpvEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Property_StructureCompartment_Of__O9tyEPpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_P0xV4PpvEeaCyZKNPXLxEw" type="Parameter_BorderItem">
+          <children xmi:type="notation:Shape" xmi:id="Shape_Of__P0xV4PpvEeaCyZKNPXLxEw" type="ParameterLabel" fontName="Segoe UI">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Shape_Of__P0xV4PpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="lineColor_Of_PapyrusCSSForceValue_Of_Shape_Of__P0xV4PpvEeaCyZKNPXLxEw" key="lineColor" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="fontHeight_Of_PapyrusCSSForceValue_Of_Shape_Of__P0xV4PpvEeaCyZKNPXLxEw" key="fontHeight" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="bold_Of_PapyrusCSSForceValue_Of_Shape_Of__P0xV4PpvEeaCyZKNPXLxEw" key="bold" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="italic_Of_PapyrusCSSForceValue_Of_Shape_Of__P0xV4PpvEeaCyZKNPXLxEw" key="italic" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="fontColor_Of_PapyrusCSSForceValue_Of_Shape_Of__P0xV4PpvEeaCyZKNPXLxEw" key="fontColor" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="fillColor_Of_PapyrusCSSForceValue_Of_Shape_Of__P0xV4PpvEeaCyZKNPXLxEw" key="fillColor" value="true"/>
+            </eAnnotations>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Shape_Of__P0xV4PpvEeaCyZKNPXLxEw"/>
+          </children>
+          <element xmi:type="uml:Property" href="ParametricDiagram_converted.uml#_P0uSkPpvEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P0xV4fpvEeaCyZKNPXLxEw" y="47" width="20" height="20"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_RLsFgPpvEeaCyZKNPXLxEw" type="Parameter_BorderItem">
+          <children xmi:type="notation:Shape" xmi:id="Shape_Of__RLsFgPpvEeaCyZKNPXLxEw" type="ParameterLabel" fontName="Segoe UI">
+            <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Shape_Of__RLsFgPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="lineColor_Of_PapyrusCSSForceValue_Of_Shape_Of__RLsFgPpvEeaCyZKNPXLxEw" key="lineColor" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="fontHeight_Of_PapyrusCSSForceValue_Of_Shape_Of__RLsFgPpvEeaCyZKNPXLxEw" key="fontHeight" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="bold_Of_PapyrusCSSForceValue_Of_Shape_Of__RLsFgPpvEeaCyZKNPXLxEw" key="bold" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="italic_Of_PapyrusCSSForceValue_Of_Shape_Of__RLsFgPpvEeaCyZKNPXLxEw" key="italic" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="fontColor_Of_PapyrusCSSForceValue_Of_Shape_Of__RLsFgPpvEeaCyZKNPXLxEw" key="fontColor" value="true"/>
+              <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="fillColor_Of_PapyrusCSSForceValue_Of_Shape_Of__RLsFgPpvEeaCyZKNPXLxEw" key="fillColor" value="true"/>
+            </eAnnotations>
+            <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Shape_Of__RLsFgPpvEeaCyZKNPXLxEw"/>
+          </children>
+          <element xmi:type="uml:Property" href="ParametricDiagram_converted.uml#_RLrecPpvEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RLsFgfpvEeaCyZKNPXLxEw" x="193" y="60" width="20" height="20"/>
+        </children>
+        <element xmi:type="uml:Property" href="ParametricDiagram_converted.uml#_OuqpcPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O9tyEfpvEeaCyZKNPXLxEw" x="749" y="120"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_SbaoAPpvEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_SbbPEPpvEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__SbbPEPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__SbbPEPpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_SbbPEfpvEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__SbbPEfpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__SbbPEfpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_SbbPEvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__SbaoAPpvEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__SbaoAPpvEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <element xmi:type="uml:Property" href="ParametricDiagram_converted.uml#_SPlygPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SbaoAfpvEeaCyZKNPXLxEw" x="1065" y="322" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_S_SxIPpvEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_S_TYMPpvEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__S_TYMPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__S_TYMPpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_S_TYMfpvEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__S_TYMfpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__S_TYMfpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_S_TYMvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__S_SxIPpvEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__S_SxIPpvEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <element xmi:type="uml:Property" href="ParametricDiagram_converted.uml#_S1vMgPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S_SxIfpvEeaCyZKNPXLxEw" x="1210" y="118" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Tw8QgPpvEeaCyZKNPXLxEw" type="Property_Shape">
+        <children xmi:type="notation:DecorationNode" xmi:id="_Tw83kPpvEeaCyZKNPXLxEw" type="Property_NameLabel">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__Tw83kPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__Tw83kPpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_Tw83kfpvEeaCyZKNPXLxEw" type="Property_StructureCompartment">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__Tw83kfpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__Tw83kfpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_Tw83kvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="Property_FloatingNameLabel_Of__Tw8QgPpvEeaCyZKNPXLxEw" type="Property_FloatingNameLabel">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Property_FloatingNameLabel_Of__Tw8QgPpvEeaCyZKNPXLxEw" y="5"/>
+        </children>
+        <element xmi:type="uml:Property" href="ParametricDiagram_converted.uml#_Tdz5IPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tw8QgfpvEeaCyZKNPXLxEw" x="1361" y="440" width="200" height="100"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_GQCQRPpvEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__GQCQQPpvEeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__GQCQQPpvEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="StereotypeLabel_Of__GQCQQPpvEeaCyZKNPXLxEw" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="StringValueStyle_Of_StereotypeLabel_Of__GQCQQPpvEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_StereotypeLabel_Of__GQCQQPpvEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="StereotypeBrace_Of__GQCQQPpvEeaCyZKNPXLxEw" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_StereotypeBrace_Of__GQCQQPpvEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="StringValueStyle_Of_StereotypeBrace_Of__GQCQQPpvEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_StereotypeBrace_Of__GQCQQPpvEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="compartment_shape_display_Of__GQCQQPpvEeaCyZKNPXLxEw" type="compartment_shape_display">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_compartment_shape_display_Of__GQCQQPpvEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="ParametricDiagram_converted.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GQCQQfpvEeaCyZKNPXLxEw" x="20" y="20" width="1640" height="665"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_GQBpMfpvEeaCyZKNPXLxEw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_GQBpMvpvEeaCyZKNPXLxEw">
+    <owner xmi:type="uml:Class" href="ParametricDiagram_converted.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    <configuration xmi:type="configuration:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml14.diagram.parametric/resources/configuration/parametricDiagram.configuration#_ZrBf4JaBEeS8eNvSwD0lgA"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_GQlC0PpvEeaCyZKNPXLxEw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <element xmi:type="uml:Class" href="ParametricDiagram_converted.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_UqYZ8PpvEeaCyZKNPXLxEw" type="Comment_AnnotatedElementEdge" source="_IXXwMPpvEeaCyZKNPXLxEw" target="_Tw8QgPpvEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_UqYZ8fpvEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UqYZ8vpvEeaCyZKNPXLxEw" points="[532, 579, -643984, -643984]$[745, 556, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UrRKwPpvEeaCyZKNPXLxEw" id="(1.0,0.7166666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UrRKwfpvEeaCyZKNPXLxEw" id="(0.0,0.72)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_VFiE4PpvEeaCyZKNPXLxEw" type="Constraint_ConstrainedElementEdge" source="_I2JW4PpvEeaCyZKNPXLxEw" target="_SbaoAPpvEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_VFiE4fpvEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VFiE4vpvEeaCyZKNPXLxEw" points="[18, 12, -95, -32]$[89, 65, -24, 21]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VG7MAPpvEeaCyZKNPXLxEw" id="(1.0,0.11666666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VG7MAfpvEeaCyZKNPXLxEw" id="(0.005,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_WN73YPpvEeaCyZKNPXLxEw" type="Dependency_Edge" source="_O9tyEPpvEeaCyZKNPXLxEw" target="_S_SxIPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_WN73Y_pvEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__WN73Y_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__WN73Y_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nsIzoPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_WN73ZPpvEeaCyZKNPXLxEw" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_WN8ecPpvEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__WN8ecPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__WN8ecPpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nstbYPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_WN8ecfpvEeaCyZKNPXLxEw" x="1" y="-7"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_WN73YfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Dependency" href="ParametricDiagram_converted.uml#_WN5bIPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WN73YvpvEeaCyZKNPXLxEw" points="[974, 298, -643984, -643984]$[1072, 415, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WPBcgPpvEeaCyZKNPXLxEw" id="(1.0,0.84)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WPCDkPpvEeaCyZKNPXLxEw" id="(0.0,0.06)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_XHt_EPpvEeaCyZKNPXLxEw" type="Connector_Edge" source="_RLsFgPpvEeaCyZKNPXLxEw" target="_SbaoAPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_XHt_E_pvEeaCyZKNPXLxEw" type="Connector_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__XHt_E_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__XHt_E_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nOLFQPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XHt_FPpvEeaCyZKNPXLxEw" x="1" y="-28"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XHumIPpvEeaCyZKNPXLxEw" type="Connector_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__XHumIPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__XHumIPpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nOpmYPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XHumIfpvEeaCyZKNPXLxEw" x="1" y="-8"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XHumIvpvEeaCyZKNPXLxEw" type="Connector_SourceMultiplicityLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__XHumIvpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__XHumIvpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nPR4gPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XHumI_pvEeaCyZKNPXLxEw" x="-40" y="10"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XHumJPpvEeaCyZKNPXLxEw" type="Connector_TargetMultiplicityLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__XHumJPpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__XHumJPpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nQjD0PpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XHumJfpvEeaCyZKNPXLxEw" x="40" y="8"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_XHt_EfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Connector" href="ParametricDiagram_converted.uml#_XHOP0PpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XHt_EvpvEeaCyZKNPXLxEw" points="[1028, 271, -643984, -643984]$[1293, 267, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XJdrgPpvEeaCyZKNPXLxEw" id="(1.0,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XJdrgfpvEeaCyZKNPXLxEw" id="(0.0,0.72)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_hV5DQPpvEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_SbaoAPpvEeaCyZKNPXLxEw" target="_S_SxIPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_hV5DQ_pvEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__hV5DQ_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__hV5DQ_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nLj2IPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_hV5DRPpvEeaCyZKNPXLxEw" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_hV5DRfpvEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__hV5DRfpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__hV5DRfpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nMK6IPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_hV5DRvpvEeaCyZKNPXLxEw" y="-9"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_hV5DQfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="ParametricDiagram_converted.uml#_hD8-sPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hV5DQvpvEeaCyZKNPXLxEw" points="[1337, 295, -643984, -643984]$[1205, 415, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nLAcgvpvEeaCyZKNPXLxEw" id="(0.92,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nLBDkPpvEeaCyZKNPXLxEw" id="(0.42,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jUk9gPpvEeaCyZKNPXLxEw" type="Usage_Edge" source="_Tw8QgPpvEeaCyZKNPXLxEw" target="_SbaoAPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jUk9g_pvEeaCyZKNPXLxEw" type="Usage_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__jUk9g_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__jUk9g_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_jt2ZIPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jUk9hPpvEeaCyZKNPXLxEw" x="1" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jUk9hfpvEeaCyZKNPXLxEw" type="Usage_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__jUk9hfpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__jUk9hfpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_jueEMPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jUk9hvpvEeaCyZKNPXLxEw" x="1" y="-8"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jUk9gfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Usage" href="ParametricDiagram_converted.uml#_jA5zkPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jUk9gvpvEeaCyZKNPXLxEw" points="[939, 484, -643984, -643984]$[1298, 295, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jtTmkPpvEeaCyZKNPXLxEw" id="(0.0,0.01)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jtTmkfpvEeaCyZKNPXLxEw" id="(1.0,0.98)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_mFhbIPpvEeaCyZKNPXLxEw" type="Manifestation_Edge" source="_SbaoAPpvEeaCyZKNPXLxEw" target="_M1bP4PpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_mFhbI_pvEeaCyZKNPXLxEw" type="Manifestation_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__mFhbI_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__mFhbI_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nMr3gPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mFhbJPpvEeaCyZKNPXLxEw" x="1" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_mFhbJfpvEeaCyZKNPXLxEw" type="Manifestation_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__mFhbJfpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__mFhbJfpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nNM04PpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mFhbJvpvEeaCyZKNPXLxEw" y="-9"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_mFhbIfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Manifestation" href="ParametricDiagram_converted.uml#_lxjWQPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mFhbIvpvEeaCyZKNPXLxEw" points="[1293, 267, -643984, -643984]$[647, 414, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nLAcgPpvEeaCyZKNPXLxEw" id="(0.0,0.47)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nLAcgfpvEeaCyZKNPXLxEw" id="(1.0,0.5333333333333333)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vI6uQPpvEeaCyZKNPXLxEw" type="Realization_Edge" source="_S_SxIPpvEeaCyZKNPXLxEw" target="_GQCQQPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vI6uQ_pvEeaCyZKNPXLxEw" type="Realization_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__vI6uQ_pvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__vI6uQ_pvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vI6uRPpvEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vI6uRfpvEeaCyZKNPXLxEw" type="Realization_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__vI6uRfpvEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__vI6uRfpvEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vI6uRvpvEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vI6uQfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Realization" href="ParametricDiagram_converted.uml#_u2uLAPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vI6uQvpvEeaCyZKNPXLxEw" points="[1245, 246, -643984, -643984]$[1660, 137, -643984, -643984]"/>
+  </edges>
+</notation:Diagram>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.uml
new file mode 100644
index 0000000..fbb743e
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.uml
@@ -0,0 +1,249 @@
+<?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:Activities="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks" xmlns:ConstraintBlocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks" xmlns:DeprecatedElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements" xmlns:ModelElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements" xmlns:PortsAndFlows="http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" 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.4/SysML/Activities http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="ParametricDiagram"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170228165659"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+    </eAnnotations>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of__0">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of_SysML.package_packagedElement_Libraries">
+      <importedPackage xmi:type="uml:Package" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_IXUF0PpvEeaCyZKNPXLxEw" annotatedElement="_Tdz5IPpvEeaCyZKNPXLxEw"/>
+      <ownedRule xmi:type="uml:DurationConstraint" xmi:id="_KLtboPpvEeaCyZKNPXLxEw" name="DurationConstraint1">
+        <specification xmi:type="uml:DurationInterval" xmi:id="_KLupwPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:InteractionConstraint" xmi:id="_KvTQ4PpvEeaCyZKNPXLxEw" name="InteractionConstraint1"/>
+      <ownedRule xmi:type="uml:IntervalConstraint" xmi:id="_LOo4QPpvEeaCyZKNPXLxEw" name="IntervalConstraint1">
+        <specification xmi:type="uml:Interval" xmi:id="_LOqGYPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:TimeConstraint" xmi:id="_L5MRIPpvEeaCyZKNPXLxEw" name="TimeConstraint1">
+        <specification xmi:type="uml:TimeInterval" xmi:id="_L5M4MPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <generalization xmi:type="uml:Generalization" xmi:id="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw" general="_VJttoPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OuqpcPpvEeaCyZKNPXLxEw" name="constraintproperty2" type="_O9SUQfpvEeaCyZKNPXLxEw" aggregation="composite" association="_O9VXkPpvEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_SPlygPpvEeaCyZKNPXLxEw" name="part1" type="_Sa3OYPpvEeaCyZKNPXLxEw" aggregation="composite" association="_Sa5qoPpvEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_S1vMgPpvEeaCyZKNPXLxEw" name="reference1" type="_S-1eIPpvEeaCyZKNPXLxEw" association="_S-2FMPpvEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Tdz5IPpvEeaCyZKNPXLxEw" name="value1" type="_TwgysPpvEeaCyZKNPXLxEw" aggregation="composite"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_XHOP0PpvEeaCyZKNPXLxEw" name="Connector2">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_XHPd8PpvEeaCyZKNPXLxEw" role="_RLrecPpvEeaCyZKNPXLxEw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_XHPd8fpvEeaCyZKNPXLxEw" role="_SPlygPpvEeaCyZKNPXLxEw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1">
+      <classifier xmi:type="uml:Class" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>firstConcerns</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_2_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>secondConcerns</body>
+      </ownedComment>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="createOperation_Of__fih7kPnoEeauDtoDZwIqjw" name="View">
+        <ownedComment xmi:type="uml:Comment" xmi:id="comment_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw">
+          <body>firstMethod()
+secondMethod()</body>
+        </ownedComment>
+      </ownedOperation>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" name="mySecondStakeholder"/>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" name="myFirstStakeholder"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_O9SUQfpvEeaCyZKNPXLxEw" name="ConstraintBlock2">
+      <ownedRule xmi:type="uml:Constraint" xmi:id="_O9UJcPpvEeaCyZKNPXLxEw" name="ConstraintBlock2Specification">
+        <specification xmi:type="uml:LiteralString" xmi:id="_O9UwgPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_P0uSkPpvEeaCyZKNPXLxEw" name="Attribute1" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_RLrecPpvEeaCyZKNPXLxEw" name="Attribute2" aggregation="composite"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_O9VXkPpvEeaCyZKNPXLxEw" name="Association2" memberEnd="_OuqpcPpvEeaCyZKNPXLxEw _O9VXk_pvEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O9VXkfpvEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_O9VXkvpvEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_O9VXk_pvEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_O9VXkPpvEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_Sa3OYPpvEeaCyZKNPXLxEw" name="Block2">
+      <ownedRule xmi:type="uml:Constraint" xmi:id="_I1yKgPpvEeaCyZKNPXLxEw" name="Constraint1">
+        <specification xmi:type="uml:LiteralString" xmi:id="_I1zYoPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_Sa5qoPpvEeaCyZKNPXLxEw" name="Association3" memberEnd="_SPlygPpvEeaCyZKNPXLxEw _Sa5qo_pvEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Sa5qofpvEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sa5qovpvEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_Sa5qo_pvEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_Sa5qoPpvEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_S-1eIPpvEeaCyZKNPXLxEw" name="Block3"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_S-2FMPpvEeaCyZKNPXLxEw" name="Association4" memberEnd="_S1vMgPpvEeaCyZKNPXLxEw _S-2FM_pvEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-2FMfpvEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-2FMvpvEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_S-2FM_pvEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_S-2FMPpvEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_TwgysPpvEeaCyZKNPXLxEw" name="DataType1"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_WN5bIPpvEeaCyZKNPXLxEw" client="_OuqpcPpvEeaCyZKNPXLxEw" supplier="_S1vMgPpvEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_hD8-sPpvEeaCyZKNPXLxEw" client="_SPlygPpvEeaCyZKNPXLxEw" supplier="_S1vMgPpvEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Usage" xmi:id="_jA5zkPpvEeaCyZKNPXLxEw" client="_Tdz5IPpvEeaCyZKNPXLxEw" supplier="_SPlygPpvEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Manifestation" xmi:id="_lxjWQPpvEeaCyZKNPXLxEw" client="_SPlygPpvEeaCyZKNPXLxEw" supplier="_KvTQ4PpvEeaCyZKNPXLxEw" utilizedElement="_KvTQ4PpvEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Realization" xmi:id="_u2uLAPpvEeaCyZKNPXLxEw" client="_S1vMgPpvEeaCyZKNPXLxEw" supplier="_TIQzQPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw" name="View1" visibility="public"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of_SysML">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML" 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="profileApplication_Of_SysML.package_packagedElement_Activities">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Activities" 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="profileApplication_Of_SysML.package_packagedElement_Allocations">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Allocations" 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="profileApplication_Of_SysML.package_packagedElement_Blocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Blocks" 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="profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks" 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="profileApplication_Of_SysML.package_packagedElement_DeprecatedElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_DeprecatedElements" 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="profileApplication_Of_SysML.package_packagedElement_ModelElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ModelElements" 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="profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows" 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="profileApplication_Of_SysML.package_packagedElement_Requirements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Requirements" 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>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of__0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of__0" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Class="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" base_Class="_TIQzQPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" base_Class="_VJttoPnoEeauDtoDZwIqjw" id="MyIdentifier" text="MyText"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_W4lqQPnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Generalization="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" base_Class="_X_-JEPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZBoaYPnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZhPHgPnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <DeprecatedElements:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortsAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_DirectedRelationship="_c1j_APnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" quantityKind="_aD36gPnoEeauDtoDZwIqjw" unit="_dSlSMPnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_DirectedRelationship="_egM74PnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw">
+    <language>C++</language>
+    <language>C</language>
+    <language>OCL</language>
+  </ModelElements:Viewpoint>
+  <DeprecatedElements:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" direction="out"/>
+  <PortsAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_O9TiYPpvEeaCyZKNPXLxEw" base_Class="_O9SUQfpvEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_Sa4cgPpvEeaCyZKNPXLxEw" base_Class="_Sa3OYPpvEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_S-1eIfpvEeaCyZKNPXLxEw" base_Class="_S-1eIPpvEeaCyZKNPXLxEw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_XHQFAPpvEeaCyZKNPXLxEw" propertyPath="_OuqpcPpvEeaCyZKNPXLxEw" base_ConnectorEnd="_XHPd8PpvEeaCyZKNPXLxEw"/>
+  <Blocks:BindingConnector xmi:id="_XHR6MPpvEeaCyZKNPXLxEw" base_Connector="_XHOP0PpvEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.notation
new file mode 100644
index 0000000..7626743
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.notation
@@ -0,0 +1,1179 @@
+<?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:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_icBIYPpwEeaCyZKNPXLxEw" type="PapyrusUMLClassDiagram" name="New Requirements Diagram" measurementUnit="Pixel">
+  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_1.1_Of__icBIYPpwEeaCyZKNPXLxEw" source="Imported_From_SysML_1.1">
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of_Imported_From_SysML_1.1_Of__icBIYPpwEeaCyZKNPXLxEw" key="Papyrus_Source_Model_Name" value="RequirementDiagram_converted"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__icBIYPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20170228165705"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__icBIYPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+  </eAnnotations>
+  <children xmi:type="notation:Shape" xmi:id="_kMluIPpwEeaCyZKNPXLxEw" type="Class_Shape">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kNE2UPpwEeaCyZKNPXLxEw" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdYPpwEeaCyZKNPXLxEw" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdYfpwEeaCyZKNPXLxEw" key="StereotypeList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdYvpwEeaCyZKNPXLxEw" key="Stereotype_Presentation_Kind" value="Compartment"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdY_pwEeaCyZKNPXLxEw" key="PropStereoDisplay" value="SysML::Requirements::Requirement.id,SysML::Requirements::Requirement.text"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdZPpwEeaCyZKNPXLxEw" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kMm8QPpwEeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__kMm8QPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__kMm8QPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMm8QfpwEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l81jwPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l81jwfpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMm8QvpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMm8Q_pwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMm8RPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMm8RfpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMm8RvpwEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l82K0PpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l82K0fpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMm8R_pwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMm8SPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMm8SfpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMm8SvpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMnjUPpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__kMnjUPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__kMnjUPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMnjUfpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMnjUvpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMnjU_pwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMnjVPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__kMluIPpwEeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__kMluIPpwEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_AttributeCompartment_Of__kMluIPpwEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_AttributeCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_AttributeCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_AttributeCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_AttributeCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_OperationCompartment_Of__kMluIPpwEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_OperationCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_OperationCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_OperationCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_OperationCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of__kMluIPpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of__kMluIPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMluIfpwEeaCyZKNPXLxEw" x="130" y="87" width="159"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_nFo-4PpwEeaCyZKNPXLxEw" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nFo-4vpwEeaCyZKNPXLxEw" type="Comment_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__nFo-4vpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__nFo-4vpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:Comment" href="RequirementDiagram_converted.uml#_nFktcPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nFo-4fpwEeaCyZKNPXLxEw" x="597" y="54"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_nWWUYPpwEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nWW7cPpwEeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__nWW7cPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__nWW7cPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_nWW7cfpwEeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__nWW7cfpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__nWW7cfpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:Constraint" href="RequirementDiagram_converted.uml#_nWKuMPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nWWUYfpwEeaCyZKNPXLxEw" x="581" y="155"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_qKUQ0PpwEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_qKU34PpwEeaCyZKNPXLxEw" type="Package_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__qKU34PpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__qKU34PpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qKU34fpwEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rJ6soPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rJ7TsPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_rkJKgPpwEeaCyZKNPXLxEw" type="Class_Shape_CN">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rmBZ0PpwEeaCyZKNPXLxEw" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmBZ1vpwEeaCyZKNPXLxEw" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmBZ1_pwEeaCyZKNPXLxEw" key="StereotypeList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmBZ2PpwEeaCyZKNPXLxEw" key="Stereotype_Presentation_Kind" value="Compartment"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmBZ2fpwEeaCyZKNPXLxEw" key="PropStereoDisplay" value="SysML::Requirements::Requirement.id,SysML::Requirements::Requirement.text"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmCA4PpwEeaCyZKNPXLxEw" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_rkJKgvpwEeaCyZKNPXLxEw" type="Class_NameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__rkJKgvpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__rkJKgvpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_rkJKg_pwEeaCyZKNPXLxEw" type="Class_FloatingNameLabel_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__rkJKg_pwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__rkJKg_pwEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rkJKhPpwEeaCyZKNPXLxEw" y="15"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_rkJKhfpwEeaCyZKNPXLxEw" type="Class_AttributeCompartment_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tCZ4QPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tCZ4QfpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_rkJKhvpwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_rkJKh_pwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_rkJKiPpwEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkJKifpwEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_rkJxkPpwEeaCyZKNPXLxEw" type="Class_OperationCompartment_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tCZ4QvpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tCZ4Q_pwEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_rkJxkfpwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_rkJxkvpwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_rkJxk_pwEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkJxlPpwEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_rkJxlfpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__rkJxlfpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__rkJxlfpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_rkJxlvpwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_rkJxl_pwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_rkJxmPpwEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkJxmfpwEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_rjzMQPpwEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkJKgfpwEeaCyZKNPXLxEw" x="34" y="31" width="204" height="360"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qKU34vpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKU34_pwEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Package" href="RequirementDiagram_converted.uml#_qKTpwPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKUQ0fpwEeaCyZKNPXLxEw" x="807" y="50" width="325" height="518"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_wSkBcPpwEeaCyZKNPXLxEw" type="Class_Shape">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wTa9EPpwEeaCyZKNPXLxEw" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9FvpwEeaCyZKNPXLxEw" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9F_pwEeaCyZKNPXLxEw" key="StereotypeList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9GPpwEeaCyZKNPXLxEw" key="Stereotype_Presentation_Kind" value="Compartment"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9GfpwEeaCyZKNPXLxEw" key="PropStereoDisplay" value="SysML::Requirements::Requirement.id,SysML::Requirements::Requirement.text"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9GvpwEeaCyZKNPXLxEw" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_wSkBcvpwEeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__wSkBcvpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__wSkBcvpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wSkBc_pwEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__wSkBc_pwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__wSkBc_pwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wSkBdPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wSkBdfpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wSkBdvpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBd_pwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wSkBePpwEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__wSkBePpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__wSkBePpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wSkBefpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wSkBevpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wSkBe_pwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBfPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wSkBffpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__wSkBffpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__wSkBffpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wSkBfvpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wSkBf_pwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wSkBgPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBgfpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__wSkBcPpwEeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__wSkBcPpwEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_AttributeCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_AttributeCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_AttributeCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_AttributeCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_AttributeCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_OperationCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_OperationCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_OperationCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_OperationCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_OperationCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of__wSkBcPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_wSizUPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBcfpwEeaCyZKNPXLxEw" x="446" y="480"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_8Y_AsPpwEeaCyZKNPXLxEw" type="Component_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="Component_NameLabel_Of__8Y_AsPpwEeaCyZKNPXLxEw" type="Component_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="Component_FloatingNameLabel_Of__8Y_AsPpwEeaCyZKNPXLxEw" type="Component_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Component_FloatingNameLabel_Of__8Y_AsPpwEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_AttributeCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw" type="Component_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_AttributeCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_AttributeCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_AttributeCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_AttributeCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_OperationCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw" type="Component_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_OperationCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_OperationCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_OperationCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_OperationCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_NestedClassifierCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw" type="Component_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_NestedClassifierCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_NestedClassifierCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_NestedClassifierCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_NestedClassifierCompartment_Of__8Y_AsPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Component" href="RequirementDiagram_converted.uml#_8DG3UPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8Y_AsfpwEeaCyZKNPXLxEw" x="104" y="531"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_EV_TgPpxEeaCyZKNPXLxEw" type="Component_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="Component_NameLabel_Of__EV_TgPpxEeaCyZKNPXLxEw" type="Component_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="Component_FloatingNameLabel_Of__EV_TgPpxEeaCyZKNPXLxEw" type="Component_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Component_FloatingNameLabel_Of__EV_TgPpxEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_AttributeCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw" type="Component_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_AttributeCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_AttributeCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_AttributeCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_AttributeCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_OperationCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw" type="Component_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_OperationCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_OperationCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_OperationCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_OperationCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_NestedClassifierCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw" type="Component_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_NestedClassifierCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_NestedClassifierCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_NestedClassifierCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_NestedClassifierCompartment_Of__EV_TgPpxEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Component" href="RequirementDiagram_converted.uml#_C-qUMPpxEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EV_TgfpxEeaCyZKNPXLxEw" x="42" y="612"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_n-F-8PpyEeaCyZKNPXLxEw" type="Model_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_n-F-8vpyEeaCyZKNPXLxEw" type="Model_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__n-F-8vpyEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__n-F-8vpyEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_n-F-8_pyEeaCyZKNPXLxEw" type="Model_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__n-F-8_pyEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__n-F-8_pyEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_n-F-9PpyEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n-F-9fpyEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Model" href="RequirementDiagram_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n-F-8fpyEeaCyZKNPXLxEw" x="351" y="24"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CNec8PpzEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CNec8vpzEeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__CNec8vpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__CNec8vpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CNec8_pzEeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__CNec8_pzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__CNec8_pzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:DurationConstraint" href="RequirementDiagram_converted.uml#_-Kw1cPpyEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CNec8fpzEeaCyZKNPXLxEw" x="1272" y="266"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_COzSoPpzEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_COz5sPpzEeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__COz5sPpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__COz5sPpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_COz5sfpzEeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__COz5sfpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__COz5sfpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:InteractionConstraint" href="RequirementDiagram_converted.uml#__QZn0PpyEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_COzSofpzEeaCyZKNPXLxEw" x="1219" y="132"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CP6s8PpzEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CP7UAPpzEeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__CP7UAPpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__CP7UAPpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CP7UAfpzEeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__CP7UAfpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__CP7UAfpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:IntervalConstraint" href="RequirementDiagram_converted.uml#_Ai05APpzEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CP6s8fpzEeaCyZKNPXLxEw" x="33" y="440"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CRG_wPpzEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CRG_wvpzEeaCyZKNPXLxEw" type="Constraint_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__CRG_wvpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__CRG_wvpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CRG_w_pzEeaCyZKNPXLxEw" type="Constraint_BodyLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__CRG_w_pzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__CRG_w_pzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:TimeConstraint" href="RequirementDiagram_converted.uml#_BW9rsPpzEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CRG_wfpzEeaCyZKNPXLxEw" x="1260" y="417"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_L0Z68PpzEeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_L0Z68vpzEeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__L0Z68vpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__L0Z68vpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_L0Z68_pzEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__L0Z68_pzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__L0Z68_pzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_L0Z69PpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_L0Z69fpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_L0Z69vpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z69_pzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_L0Z6-PpzEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__L0Z6-PpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__L0Z6-PpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_L0Z6-fpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_L0Z6-vpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_L0Z6-_pzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z6_PpzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_L0Z6_fpzEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__L0Z6_fpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__L0Z6_fpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_L0Z6_vpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_L0Z6__pzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_L0Z7APpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z7AfpzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__L0Z68PpzEeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__L0Z68PpzEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_AttributeCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_AttributeCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_AttributeCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_AttributeCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_AttributeCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_OperationCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_OperationCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_OperationCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_OperationCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_OperationCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of__L0Z68PpzEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_VJttoPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z68fpzEeaCyZKNPXLxEw" x="414" y="681"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_R7hqMPpzEeaCyZKNPXLxEw" type="Interface_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="Interface_NameLabel_Of__R7hqMPpzEeaCyZKNPXLxEw" type="Interface_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="Interface_FloatingNameLabel_Of__R7hqMPpzEeaCyZKNPXLxEw" type="Interface_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Interface_FloatingNameLabel_Of__R7hqMPpzEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Interface_AttributeCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw" type="Interface_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Interface_AttributeCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Interface_AttributeCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Interface_AttributeCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Interface_AttributeCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Interface_OperationCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw" type="Interface_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Interface_OperationCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Interface_OperationCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Interface_OperationCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Interface_OperationCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Interface_NestedClassifierCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw" type="Interface_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Interface_NestedClassifierCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Interface_NestedClassifierCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Interface_NestedClassifierCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Interface_NestedClassifierCompartment_Of__R7hqMPpzEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="RequirementDiagram_converted.uml#_O9-7APpzEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R7hqMfpzEeaCyZKNPXLxEw" x="646" y="743"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_qGPhwPpzEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_qGQI0PpzEeaCyZKNPXLxEw" type="Package_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__qGQI0PpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__qGQI0PpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qGQI0fpzEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__qGQI0fpzEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__qGQI0fpzEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qGQI0vpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qGQI0_pzEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Profile" href="RequirementDiagram_converted.uml#_pyam0PpzEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qGPhwfpzEeaCyZKNPXLxEw" x="1248" y="526"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_yURg4Pp4EeaCyZKNPXLxEw" type="Component_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="Component_NameLabel_Of__yURg4Pp4EeaCyZKNPXLxEw" type="Component_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="Component_FloatingNameLabel_Of__yURg4Pp4EeaCyZKNPXLxEw" type="Component_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Component_FloatingNameLabel_Of__yURg4Pp4EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_AttributeCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw" type="Component_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_AttributeCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_AttributeCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_AttributeCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_AttributeCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_OperationCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw" type="Component_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_OperationCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_OperationCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_OperationCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_OperationCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Component_NestedClassifierCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw" type="Component_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Component_NestedClassifierCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Component_NestedClassifierCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Component_NestedClassifierCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Component_NestedClassifierCompartment_Of__yURg4Pp4EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Component" href="RequirementDiagram_converted.uml#_u3G2cPp4EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yURg4fp4EeaCyZKNPXLxEw" x="91" y="19"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_M744sPp5EeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_NameLabel_Of__M744sPp5EeaCyZKNPXLxEw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__M744sPp5EeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__M744sPp5EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_AttributeCompartment_Of__M744sPp5EeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_AttributeCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_AttributeCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_AttributeCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_AttributeCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_OperationCompartment_Of__M744sPp5EeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_OperationCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_OperationCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_OperationCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_OperationCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of__M744sPp5EeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of__M744sPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Node" href="RequirementDiagram_converted.uml#_JNUVMPp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M744sfp5EeaCyZKNPXLxEw" x="37" y="719"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_M9iegPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_M9iegvp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__M9iegvp5EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__M9iegvp5EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:DeploymentSpecification" href="RequirementDiagram_converted.uml#_KYFfMPp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M9iegfp5EeaCyZKNPXLxEw" x="204" y="754"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_YzkRUPp5EeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_NameLabel_Of__YzkRUPp5EeaCyZKNPXLxEw" type="Class_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of__YzkRUPp5EeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of__YzkRUPp5EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_AttributeCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_AttributeCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_AttributeCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_AttributeCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_AttributeCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_OperationCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_OperationCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_OperationCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_OperationCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_OperationCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of__YzkRUPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Activity" href="RequirementDiagram_converted.uml#_XuXj0Pp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YzkRUfp5EeaCyZKNPXLxEw" x="1055" y="673"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_eTCKsPp5EeaCyZKNPXLxEw" type="AssociationClass_Shape">
+    <children xmi:type="notation:Compartment" xmi:id="AssociationClass_NameLabel_Of__eTCKsPp5EeaCyZKNPXLxEw" type="AssociationClass_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_AssociationClass_NameLabel_Of__eTCKsPp5EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_AssociationClass_NameLabel_Of__eTCKsPp5EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="AssociationClass_FloatingNameLabel_Of__eTCKsPp5EeaCyZKNPXLxEw" type="AssociationClass_FloatingNameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_AssociationClass_FloatingNameLabel_Of__eTCKsPp5EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_AssociationClass_FloatingNameLabel_Of__eTCKsPp5EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_AssociationClass_FloatingNameLabel_Of__eTCKsPp5EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="AssociationClass_AttributeCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" type="AssociationClass_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_AssociationClass_AttributeCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_AssociationClass_AttributeCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_AssociationClass_AttributeCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_AssociationClass_AttributeCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_AssociationClass_AttributeCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_AssociationClass_AttributeCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="AssociationClass_OperationCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" type="AssociationClass_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_AssociationClass_OperationCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_AssociationClass_OperationCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_AssociationClass_OperationCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_AssociationClass_OperationCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_AssociationClass_OperationCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_AssociationClass_OperationCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="AssociationClass_NestedClassifierCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" type="AssociationClass_NestedClassifierCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_AssociationClass_NestedClassifierCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_AssociationClass_NestedClassifierCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_AssociationClass_NestedClassifierCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_AssociationClass_NestedClassifierCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_AssociationClass_NestedClassifierCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_AssociationClass_NestedClassifierCompartment_Of__eTCKsPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:AssociationClass" href="RequirementDiagram_converted.uml#_cLkH4Pp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eTCKsfp5EeaCyZKNPXLxEw" x="767" y="612"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_t3q9QPp5EeaCyZKNPXLxEw" type="DataType_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="DataType_NameLabel_Of__t3q9QPp5EeaCyZKNPXLxEw" type="DataType_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="DataType_FloatingNameLabel_Of__t3q9QPp5EeaCyZKNPXLxEw" type="DataType_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_DataType_FloatingNameLabel_Of__t3q9QPp5EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="DataType_AttributeCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw" type="DataType_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_DataType_AttributeCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_DataType_AttributeCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_DataType_AttributeCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_DataType_AttributeCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="DataType_OperationCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw" type="DataType_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_DataType_OperationCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_DataType_OperationCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_DataType_OperationCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_DataType_OperationCompartment_Of__t3q9QPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:DataType" href="RequirementDiagram_converted.uml#_tkrv0Pp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t3q9Qfp5EeaCyZKNPXLxEw" x="834" y="717"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_vxHyMPp5EeaCyZKNPXLxEw" type="DurationObservation_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="DurationObservation_FloatingNameLabel_Of__vxHyMPp5EeaCyZKNPXLxEw" type="DurationObservation_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_DurationObservation_FloatingNameLabel_Of__vxHyMPp5EeaCyZKNPXLxEw" x="25" y="3"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="DurationObservation_StereotypeLabel_Of__vxHyMPp5EeaCyZKNPXLxEw" type="DurationObservation_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_DurationObservation_StereotypeLabel_Of__vxHyMPp5EeaCyZKNPXLxEw" x="25" y="-10"/>
+    </children>
+    <element xmi:type="uml:DurationObservation" href="RequirementDiagram_converted.uml#_vZCCUPp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vxHyMfp5EeaCyZKNPXLxEw" x="1234" y="681"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_xKYrMPp5EeaCyZKNPXLxEw" type="Enumeration_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="Enumeration_NameLabel_Of__xKYrMPp5EeaCyZKNPXLxEw" type="Enumeration_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="Enumeration_FloatingNameLabel_Of__xKYrMPp5EeaCyZKNPXLxEw" type="Enumeration_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Enumeration_FloatingNameLabel_Of__xKYrMPp5EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Enumeration_LiteralCompartment_Of__xKYrMPp5EeaCyZKNPXLxEw" type="Enumeration_LiteralCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Enumeration_LiteralCompartment_Of__xKYrMPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Enumeration_LiteralCompartment_Of__xKYrMPp5EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Enumeration_LiteralCompartment_Of__xKYrMPp5EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Enumeration_LiteralCompartment_Of__xKYrMPp5EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Enumeration" href="RequirementDiagram_converted.uml#_w3Gi0Pp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xKYrMfp5EeaCyZKNPXLxEw" x="1450" y="672"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_DS9aIPp6EeaCyZKNPXLxEw" type="PrimitiveType_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="PrimitiveType_NameLabel_Of__DS9aIPp6EeaCyZKNPXLxEw" type="PrimitiveType_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="PrimitiveType_FloatingNameLabel_Of__DS9aIPp6EeaCyZKNPXLxEw" type="PrimitiveType_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_PrimitiveType_FloatingNameLabel_Of__DS9aIPp6EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="PrimitiveType_AttributeCompartment_Of__DS9aIPp6EeaCyZKNPXLxEw" type="PrimitiveType_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_PrimitiveType_AttributeCompartment_Of__DS9aIPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_PrimitiveType_AttributeCompartment_Of__DS9aIPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_PrimitiveType_AttributeCompartment_Of__DS9aIPp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_PrimitiveType_AttributeCompartment_Of__DS9aIPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:PrimitiveType" href="RequirementDiagram_converted.uml#_C-KO0Pp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DS9aIfp6EeaCyZKNPXLxEw" x="1455" y="205"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_FHCm4Pp6EeaCyZKNPXLxEw" type="Signal_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="Signal_NameLabel_Of__FHCm4Pp6EeaCyZKNPXLxEw" type="Signal_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="Signal_FloatingNameLabel_Of__FHCm4Pp6EeaCyZKNPXLxEw" type="Signal_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Signal_FloatingNameLabel_Of__FHCm4Pp6EeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Signal_AttributeCompartment_Of__FHCm4Pp6EeaCyZKNPXLxEw" type="Signal_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Signal_AttributeCompartment_Of__FHCm4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Signal_AttributeCompartment_Of__FHCm4Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Signal_AttributeCompartment_Of__FHCm4Pp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Signal_AttributeCompartment_Of__FHCm4Pp6EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Signal" href="RequirementDiagram_converted.uml#_Ez8rwPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FHCm4fp6EeaCyZKNPXLxEw" x="1198" y="780"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_GtAfIPp6EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_GtBGMPp6EeaCyZKNPXLxEw" type="NamedElement_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of__GtBGMPp6EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of__GtBGMPp6EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <element xmi:type="uml:TimeObservation" href="RequirementDiagram_converted.uml#_GaLpwPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GtAfIfp6EeaCyZKNPXLxEw" x="1478" y="410"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="Shape_Of__icBIYPpwEeaCyZKNPXLxEw" type="Class_Shape">
+    <children xmi:type="notation:Compartment" xmi:id="Class_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" type="Class_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Class_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Class_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Class_FloatingNameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" type="Class_FloatingNameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Class_FloatingNameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Class_FloatingNameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Class_FloatingNameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" y="5"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_AttributeCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Class_AttributeCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Class_AttributeCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_AttributeCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_AttributeCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_AttributeCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_AttributeCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_OperationCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Class_OperationCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Class_OperationCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_OperationCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_OperationCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_OperationCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_OperationCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Class_NestedClassifierCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Class_NestedClassifierCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Class_NestedClassifierCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Class_NestedClassifierCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Class_NestedClassifierCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Class_NestedClassifierCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Class_NestedClassifierCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_rjzMQPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw" x="767" y="612"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" type="Model_Shape">
+    <children xmi:type="notation:Compartment" xmi:id="Model_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" type="Model_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Model_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Model_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" type="Model_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2_2"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2"/>
+    </children>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" x="1445" y="103"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Model_Shape">
+    <children xmi:type="notation:Compartment" xmi:id="Model_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Model_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Model_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Model_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3" key="visible" value="true"/>
+      </eAnnotations>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Model_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="SortingStyle_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="FilteringStyle_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="TitleStyle_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3_2"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Model_PackagedElementCompartment_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3"/>
+    </children>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3" x="1545" y="103"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="Shape_Of__icBIYPpwEeaCyZKNPXLxEw_4" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="NamedElement_NameLabel_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_4" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:InformationFlow" href="RequirementDiagram_converted.uml#_brVAgPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="bounds_Of_Shape_Of__icBIYPpwEeaCyZKNPXLxEw_4" x="1283" y="29"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_icBIYfpwEeaCyZKNPXLxEw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_icBIYvpwEeaCyZKNPXLxEw">
+    <owner xmi:type="uml:Model" href="RequirementDiagram_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+    <configuration xmi:type="configuration:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrus.sysml14.diagram.requirement/resources/configuration/requirementDiagram.configuration#_ZrBf4JaBEeS8eNvSwD0lgA"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_iciFwPpwEeaCyZKNPXLxEw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <element xmi:type="uml:Model" href="RequirementDiagram_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_jiUCF_pwEeaCyZKNPXLxEw" type="StereotypeCommentLink">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jiUCGPpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_jiUCHPpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_VJttoPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jiUCGfpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jiUCGvpwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jiUCG_pwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_kNY_ZPpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_kMluIPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_kNY_ZfpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kNY_afpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_kMeZYPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kNY_ZvpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kNY_Z_pwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kNY_aPpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_osqnEPpwEeaCyZKNPXLxEw" type="Dependency_Edge" source="_nWWUYPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_osqnE_pwEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_osqnFPpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_osqnFfpwEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_osqnFvpwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_osqnEfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Dependency" href="RequirementDiagram_converted.uml#_osox4PpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_osqnEvpwEeaCyZKNPXLxEw" points="[-36, 5, 336, -52]$[-328, 39, 44, -18]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouCgEPpwEeaCyZKNPXLxEw" id="(0.0,0.5666666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouCgEfpwEeaCyZKNPXLxEw" id="(1.0,0.4375)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_pKqKoPpwEeaCyZKNPXLxEw" type="Comment_AnnotatedElementEdge" source="_nFo-4PpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_pKqKofpwEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pKqKovpwEeaCyZKNPXLxEw" points="[-74, 10, 364, -52]$[-422, -8, 16, -70]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pLtTgPpwEeaCyZKNPXLxEw" id="(0.0,0.85)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pLtTgfpwEeaCyZKNPXLxEw" id="(1.0,0.18452380952380953)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_rnFJxvpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_rkJKgPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_rnFJx_pwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_rnFJy_pwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_rjzMQPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rnFJyPpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rnFJyfpwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rnFJyvpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vKF9gPpwEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vKGkkPpwEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vKGkkfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vKGkkvpwEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vKGkk_pwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vKF9gfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="RequirementDiagram_converted.uml#_vJqfsPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vKF9gvpwEeaCyZKNPXLxEw" points="[-52, -8, 574, 83]$[-610, -85, 16, 6]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vMBQIPpwEeaCyZKNPXLxEw" id="(0.0,0.6694444444444444)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vMBQIfpwEeaCyZKNPXLxEw" id="(1.0,0.5803571428571429)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vNCj0PpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_vKF9gPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_vNCj0fpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_vNCj1fpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram_converted.uml#_vJqfsPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vNCj0vpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vNCj0_pwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vNCj1PpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vmQ8IPpwEeaCyZKNPXLxEw" type="Dependency_Edge" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vmQ8I_pwEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vmQ8JPpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vmQ8JfpwEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vmQ8JvpwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vmQ8IfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Realization" href="RequirementDiagram_converted.uml#_vlwl0PpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vmQ8IvpwEeaCyZKNPXLxEw" points="[-51, -8, 604, 87]$[-624, -13, 31, 82]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vnrRYPpwEeaCyZKNPXLxEw" id="(0.0,0.85)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vnrRYfpwEeaCyZKNPXLxEw" id="(1.0,0.7738095238095238)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_wUXYQfpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_wSkBcPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_wUXYQvpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wUXYRvpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_wSizUPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wUXYQ_pwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wUXYRPpwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wUXYRfpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_wnaQEPpwEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_wSkBcPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_wnaQE_pwEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_wnaQFPpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_wnaQFfpwEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_wnaQFvpwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_wnaQEfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="RequirementDiagram_converted.uml#_wm_ZUPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wnaQEvpwEeaCyZKNPXLxEw" points="[-31, 9, 383, -119]$[-405, 166, 9, 38]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wo1zcPpwEeaCyZKNPXLxEw" id="(0.0,0.8944444444444445)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wo1zcfpwEeaCyZKNPXLxEw" id="(1.0,0.47)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_wp7YlPpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_wnaQEPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_wp7YlfpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wp7_oPpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram_converted.uml#_wm_ZUPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wp7YlvpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wp7Yl_pwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wp7YmPpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_xE6EYPpwEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_wSkBcPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_xE6rcPpwEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_xE6rcfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_xE6rcvpwEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_xE7SgPpwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_xE6EYfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="RequirementDiagram_converted.uml#_xE4PMPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xE6EYvpwEeaCyZKNPXLxEw" points="[-67, -44, 200, 131]$[-267, -126, 0, 49]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xGbuYPpwEeaCyZKNPXLxEw" id="(0.0,0.04)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xGbuYfpwEeaCyZKNPXLxEw" id="(0.9748427672955975,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_xHZ-xPpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_xE6EYPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_xHZ-xfpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_xHZ-yfpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram_converted.uml#_xE4PMPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xHZ-xvpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xHZ-x_pwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xHZ-yPpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ybQMQPpwEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_wSkBcPpwEeaCyZKNPXLxEw" target="_rkJKgPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ybQzUPpwEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ybQzUfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ybQzUvpwEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ybQzU_pwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ybQMQfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="RequirementDiagram_converted.uml#_ybNwAPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ybQMQvpwEeaCyZKNPXLxEw" points="[26, -8, -414, 126]$[435, -104, -5, 30]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yczrcPpwEeaCyZKNPXLxEw" id="(1.0,0.77)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yczrcfpwEeaCyZKNPXLxEw" id="(0.0,0.9805555555555555)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ydwGp_pwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_ybQMQPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_ydwGqPpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ydwtsvpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram_converted.uml#_ybNwAPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ydwGqfpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ydwtsPpwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ydwtsfpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_zX6BwPpwEeaCyZKNPXLxEw" type="Element_ContainmentEdge" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_zX6BwfpwEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zX6BwvpwEeaCyZKNPXLxEw" points="[-122, -6, 607, 29]$[-680, -48, 49, -13]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zZbrwPpwEeaCyZKNPXLxEw" id="(0.0,0.42777777777777776)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zZbrwfpwEeaCyZKNPXLxEw" id="(1.0,0.48214285714285715)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3oiwgPpwEeaCyZKNPXLxEw" type="PackageImport_Edge" source="_qKUQ0PpwEeaCyZKNPXLxEw" target="_qKUQ0PpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_3ojXkPpwEeaCyZKNPXLxEw" type="PackageImport_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_3ojXkfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_3oiwgfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:PackageImport" href="RequirementDiagram_converted.uml#_3oDBQPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3oiwgvpwEeaCyZKNPXLxEw" points="[221, 19, 143, 12]$[202, 111, 124, 104]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3qTEAPpwEeaCyZKNPXLxEw" id="(1.0,0.5)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3qTEAfpwEeaCyZKNPXLxEw" id="(0.5,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_5Gt-sPpwEeaCyZKNPXLxEw" type="Dependency_Edge" source="_wSkBcPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5GulwPpwEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5GulwfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5GulwvpwEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5Gulw_pwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_5Gt-sfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Realization" href="RequirementDiagram_converted.uml#_5GsJgPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5Gt-svpwEeaCyZKNPXLxEw" points="[-49, -33, 199, 130]$[-248, -140, 0, 23]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5IYyoPpwEeaCyZKNPXLxEw" id="(0.0,0.29)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5IYyofpwEeaCyZKNPXLxEw" id="(0.7295597484276729,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_EW9j4PpxEeaCyZKNPXLxEw" type="Dependency_Edge" source="_8Y_AsPpwEeaCyZKNPXLxEw" target="_EV_TgPpxEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_EW-K8PpxEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EW-K8fpxEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_EW-K8vpxEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EW-K8_pxEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EW9j4fpxEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:ComponentRealization" href="RequirementDiagram_converted.uml#_D_iiYPpxEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EW9j4vpxEeaCyZKNPXLxEw" points="[-7, -25, 147, 531]$[-154, -556, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wpDHcPpzEeaCyZKNPXLxEw" id="(0.3,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wpDugPpzEeaCyZKNPXLxEw" id="(0.68,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_uZ92MPpyEeaCyZKNPXLxEw" type="PackageMerge_Edge" source="_n-F-8PpyEeaCyZKNPXLxEw" target="_qKUQ0PpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_uZ92M_pyEeaCyZKNPXLxEw" type="PackageMerge_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_uZ92NPpyEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_uZ92MfpyEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:PackageMerge" href="RequirementDiagram_converted.uml#_s0oQEPpyEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uZ92MvpyEeaCyZKNPXLxEw" points="[100, 34, -584, -201]$[356, 122, -328, -113]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_L0mIN_pzEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_L0Z68PpzEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_L0mIOPpzEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_L0mIPPpzEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram_converted.uml#_VJttoPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L0mIOfpzEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L0mIOvpzEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L0mIO_pzEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_MNl3APpzEeaCyZKNPXLxEw" type="Generalization_Edge" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_wSkBcPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_MNl3A_pzEeaCyZKNPXLxEw" type="Generalization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_MNl3BPpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_MNl3AfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Generalization" href="RequirementDiagram_converted.uml#_JeLDYPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MNl3AvpzEeaCyZKNPXLxEw" points="[-50, -25, 179, 86]$[-179, -87, 50, 24]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MckHIPpzEeaCyZKNPXLxEw" id="(0.18,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MckHIfpzEeaCyZKNPXLxEw" id="(0.81,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_R8q5sPpzEeaCyZKNPXLxEw" type="InterfaceRealization_Edge" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_R7hqMPpzEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_R8rgwPpzEeaCyZKNPXLxEw" type="InterfaceRealization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_R8rgwfpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_R8rgwvpzEeaCyZKNPXLxEw" type="InterfaceRealization_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_R8rgw_pzEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_R8q5sfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:InterfaceRealization" href="RequirementDiagram_converted.uml#_RSmpAPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R8q5svpzEeaCyZKNPXLxEw" points="[-50, -50, 571, 582]$[-621, -632, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SRqSQPpzEeaCyZKNPXLxEw" id="(1.0,0.17)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SRq5UPpzEeaCyZKNPXLxEw" id="(0.0,0.68)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_aB8-wPpzEeaCyZKNPXLxEw" type="Usage_Edge" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_rkJKgPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_aB9l0PpzEeaCyZKNPXLxEw" type="Usage_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_aB9l0fpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_aB9l0vpzEeaCyZKNPXLxEw" type="Usage_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_aB9l0_pzEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_aB8-wfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Usage" href="RequirementDiagram_converted.uml#_ZvsKEPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aB8-wvpzEeaCyZKNPXLxEw" points="[50, -51, -278, 279]$[226, -228, -102, 102]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w0oFUvpzEeaCyZKNPXLxEw" id="(1.0,0.05)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w0oFU_pzEeaCyZKNPXLxEw" id="(0.0,0.75)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_npwRMPpzEeaCyZKNPXLxEw" type="Dependency_Edge" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_wSkBcPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_npwRM_pzEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_npwRNPpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_npwRNfpzEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_npwRNvpzEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_npwRMfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Manifestation" href="RequirementDiagram_converted.uml#_nVmmIPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_npwRMvpzEeaCyZKNPXLxEw" points="[-50, 8, 110, 89]$[-105, 18, 55, 99]$[-133, -31, 27, 50]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w0oFUPpzEeaCyZKNPXLxEw" id="(0.08,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w0oFUfpzEeaCyZKNPXLxEw" id="(0.5,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ygz6UPpzEeaCyZKNPXLxEw" type="Substitution_Edge" source="_kMluIPpwEeaCyZKNPXLxEw" target="_L0Z68PpzEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_yg0hYPpzEeaCyZKNPXLxEw" type="Substitution_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yg0hYfpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_yg0hYvpzEeaCyZKNPXLxEw" type="Substitution_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yg0hY_pzEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ygz6UfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Substitution" href="RequirementDiagram_converted.uml#_v9N8MPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ygz6UvpzEeaCyZKNPXLxEw" points="[80, 146, -175, -323]$[227, 419, -28, -50]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_0RCvkPp4EeaCyZKNPXLxEw" type="TemplateBinding_Edge" source="_yURg4Pp4EeaCyZKNPXLxEw" target="_n-F-8PpyEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_0RDWoPp4EeaCyZKNPXLxEw" type="TemplateBinding_SubstitutionLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_0RDWofp4EeaCyZKNPXLxEw" x="-75" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_0RDWovp4EeaCyZKNPXLxEw" type="TemplateBinding_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_0RDWo_p4EeaCyZKNPXLxEw" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_0RCvkfp4EeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:TemplateBinding" href="RequirementDiagram_converted.uml#_wFi_gPp4EeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0RCvkvp4EeaCyZKNPXLxEw" points="[50, 4, -260, -26]$[210, 20, -100, -10]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_M_at0Pp5EeaCyZKNPXLxEw" type="Dependency_Edge" source="_M744sPp5EeaCyZKNPXLxEw" target="_M9iegPp5EeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_M_at0_p5EeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_M_at1Pp5EeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_M_at1fp5EeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_M_at1vp5EeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_M_at0fp5EeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Deployment" href="RequirementDiagram_converted.uml#_LMleQPp5EeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M_at0vp5EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NOXv0Pp5EeaCyZKNPXLxEw" id="(1.0,0.54)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NOXv0fp5EeaCyZKNPXLxEw" id="(0.0,0.5)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_663t0fp5EeaCyZKNPXLxEw" type="StereotypeCommentLink">
+    <styles xmi:type="notation:FontStyle" xmi:id="_663t0vp5EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_663t1vp5EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:InformationFlow" href="RequirementDiagram_converted.uml#_brVAgPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_663t0_p5EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_663t1Pp5EeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_663t1fp5EeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="Connector_Of__icBIYPpwEeaCyZKNPXLxEw" type="AssociationClass_Edge" source="Shape_Of__icBIYPpwEeaCyZKNPXLxEw" target="_L0Z68PpzEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="AssociationClass_SourceRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" type="AssociationClass_SourceRoleLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_AssociationClass_SourceRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_AssociationClass_SourceRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_AssociationClass_SourceRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="AssociationClass_TargetRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" type="AssociationClass_TargetRoleLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_AssociationClass_TargetRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_AssociationClass_TargetRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_AssociationClass_TargetRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="FontStyle_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:AssociationClass" href="RequirementDiagram_converted.uml#_cLkH4Pp5EeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="bendpoints_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw" points="[766, 681, -643984, -643984]$[414, 612, -643984, -643984]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="Connector_Of__icBIYPpwEeaCyZKNPXLxEw_2" type="AssociationClass_TetherEdge" source="Connector_Of__icBIYPpwEeaCyZKNPXLxEw" target="_eTCKsPp5EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="FontStyle_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_2"/>
+    <element xmi:type="uml:AssociationClass" href="RequirementDiagram_converted.uml#_cLkH4Pp5EeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="bendpoints_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_2" points="[-50, -49, 0, 0]$[-50, -49, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="identityAnchor_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_2" id="(0.5,0.5)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Association_Edge" source="_8Y_AsPpwEeaCyZKNPXLxEw" target="_wSkBcPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="Association_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Association_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Association_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Association_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Association_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Association_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Association_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Association_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Association_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Association_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Association_SourceRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Association_SourceRoleLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Association_SourceRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Association_SourceRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Association_SourceRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Association_TargetRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Association_TargetRoleLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Association_TargetRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Association_TargetRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Association_TargetRoleLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" y="-20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Association_SourceMultiplicityLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Association_SourceMultiplicityLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Association_SourceMultiplicityLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Association_SourceMultiplicityLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Association_SourceMultiplicityLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="Association_TargetMultiplicityLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" type="Association_TargetMultiplicityLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_Association_TargetMultiplicityLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_Association_TargetMultiplicityLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_Association_TargetMultiplicityLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" y="-20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="FontStyle_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3"/>
+    <element xmi:type="uml:Association" href="RequirementDiagram_converted.uml#_mltykPp5EeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="bendpoints_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_3" points="[103, 480, -643984, -643984]$[446, 531, -643984, -643984]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" type="InformationFlow_Edge" source="Shape_Of__icBIYPpwEeaCyZKNPXLxEw_2" target="Shape_Of__icBIYPpwEeaCyZKNPXLxEw_3">
+    <children xmi:type="notation:DecorationNode" xmi:id="InformationFlow_ConveyedLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" type="InformationFlow_ConveyedLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_InformationFlow_ConveyedLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_InformationFlow_ConveyedLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_InformationFlow_ConveyedLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" y="30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="InformationFlow_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" type="InformationFlow_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_InformationFlow_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_InformationFlow_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_InformationFlow_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" y="15"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="InformationFlow_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" type="InformationFlow_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_InformationFlow_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_InformationFlow_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_InformationFlow_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="FontStyle_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4"/>
+    <element xmi:type="uml:InformationFlow" href="RequirementDiagram_converted.uml#_brVAgPnoEeauDtoDZwIqjw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="bendpoints_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_4" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" type="InformationFlow_Edge" source="Shape_Of__icBIYPpwEeaCyZKNPXLxEw_4" target="_n-F-8PpyEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="InformationFlow_ConveyedLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" type="InformationFlow_ConveyedLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_InformationFlow_ConveyedLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_InformationFlow_ConveyedLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_InformationFlow_ConveyedLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" y="30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="InformationFlow_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" type="InformationFlow_StereotypeLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_InformationFlow_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_InformationFlow_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_InformationFlow_StereotypeLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" y="15"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="InformationFlow_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" type="InformationFlow_NameLabel">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="PapyrusCSSForceValue_Of_InformationFlow_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="visible_Of_PapyrusCSSForceValue_Of_InformationFlow_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" key="visible" value="true"/>
+      </eAnnotations>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="location_Of_InformationFlow_NameLabel_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="FontStyle_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5"/>
+    <element xmi:type="uml:InformationFlow" href="RequirementDiagram_converted.uml#_9DZgkPp5EeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="bendpoints_Of_Connector_Of__icBIYPpwEeaCyZKNPXLxEw_5" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+  </edges>
+</notation:Diagram>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.uml
new file mode 100644
index 0000000..e86788c
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.uml
@@ -0,0 +1,275 @@
+<?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:Activities="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks" xmlns:ConstraintBlocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks" xmlns:DeprecatedElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements" xmlns:ModelElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements" xmlns:PortsAndFlows="http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" 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.4/SysML/Activities http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="RequirementDiagram"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170228165703"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+    </eAnnotations>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_nFktcPpwEeaCyZKNPXLxEw" annotatedElement="_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <ownedRule xmi:type="uml:DurationConstraint" xmi:id="_-Kw1cPpyEeaCyZKNPXLxEw" name="DurationConstraint1">
+      <specification xmi:type="uml:DurationInterval" xmi:id="_-KyDkPpyEeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedRule xmi:type="uml:InteractionConstraint" xmi:id="__QZn0PpyEeaCyZKNPXLxEw" name="InteractionConstraint1"/>
+    <ownedRule xmi:type="uml:IntervalConstraint" xmi:id="_Ai05APpzEeaCyZKNPXLxEw" name="IntervalConstraint1">
+      <specification xmi:type="uml:Interval" xmi:id="_Ai1gEPpzEeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedRule xmi:type="uml:TimeConstraint" xmi:id="_BW9rsPpzEeaCyZKNPXLxEw" name="TimeConstraint1">
+      <specification xmi:type="uml:TimeInterval" xmi:id="_BW-50PpzEeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of__0">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of_SysML.package_packagedElement_Libraries">
+      <importedPackage xmi:type="uml:Package" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </packageImport>
+    <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_QI5ZgPp0EeaCyZKNPXLxEw" parameter="_Q5BO4Pp0EeaCyZKNPXLxEw _VJMqoPp0EeaCyZKNPXLxEw">
+      <ownedParameter xmi:type="uml:TemplateParameter" xmi:id="_Q5BO4Pp0EeaCyZKNPXLxEw"/>
+      <ownedParameter xmi:type="uml:ConnectableElementTemplateParameter" xmi:id="_VJMqoPp0EeaCyZKNPXLxEw"/>
+    </ownedTemplateSignature>
+    <packageMerge xmi:type="uml:PackageMerge" xmi:id="_s0oQEPpyEeaCyZKNPXLxEw" mergedPackage="_qKTpwPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <generalization xmi:type="uml:Generalization" xmi:id="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw" general="_VJttoPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1">
+      <generalization xmi:type="uml:Generalization" xmi:id="_JeLDYPpzEeaCyZKNPXLxEw" general="_wSizUPpwEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_cMLy8Pp5EeaCyZKNPXLxEw" name="requirement1" type="_rjzMQPpwEeaCyZKNPXLxEw" association="_cLkH4Pp5EeaCyZKNPXLxEw"/>
+      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_RSmpAPpzEeaCyZKNPXLxEw" client="_VJttoPnoEeauDtoDZwIqjw" supplier="_O9-7APpzEeaCyZKNPXLxEw" contract="_O9-7APpzEeaCyZKNPXLxEw"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_Ix9EUPp4EeaCyZKNPXLxEw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_Jmp3sPp4EeaCyZKNPXLxEw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_MJSMgPp4EeaCyZKNPXLxEw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1">
+      <classifier xmi:type="uml:Class" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>firstConcerns</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_2_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>secondConcerns</body>
+      </ownedComment>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="createOperation_Of__fih7kPnoEeauDtoDZwIqjw" name="View">
+        <ownedComment xmi:type="uml:Comment" xmi:id="comment_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw">
+          <body>firstMethod()
+secondMethod()</body>
+        </ownedComment>
+      </ownedOperation>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" name="mySecondStakeholder"/>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" name="myFirstStakeholder"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_osox4PpwEeaCyZKNPXLxEw" client="_nWKuMPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Constraint" xmi:id="_nWKuMPpwEeaCyZKNPXLxEw" name="Constraint1">
+      <specification xmi:type="uml:LiteralString" xmi:id="_nWLVQPpwEeaCyZKNPXLxEw" name="constraintSpec"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_qKTpwPpwEeaCyZKNPXLxEw" name="Package1">
+      <packageImport xmi:type="uml:PackageImport" xmi:id="_3oDBQPpwEeaCyZKNPXLxEw" importedPackage="_qKTpwPpwEeaCyZKNPXLxEw"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_rjzMQPpwEeaCyZKNPXLxEw" name="Requirement1">
+        <nestedClassifier xmi:type="uml:Class" xmi:id="_kMeZYPpwEeaCyZKNPXLxEw" name="Requirement2">
+          <substitution xmi:type="uml:Substitution" xmi:id="_v9N8MPpzEeaCyZKNPXLxEw" client="_kMeZYPpwEeaCyZKNPXLxEw" supplier="_VJttoPnoEeauDtoDZwIqjw" contract="_VJttoPnoEeauDtoDZwIqjw"/>
+        </nestedClassifier>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_vJqfsPpwEeaCyZKNPXLxEw" name="Copy1" client="_rjzMQPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+      <packagedElement xmi:type="uml:Realization" xmi:id="_vlwl0PpwEeaCyZKNPXLxEw" client="_rjzMQPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_wm_ZUPpwEeaCyZKNPXLxEw" name="Satisfy1" client="_rjzMQPpwEeaCyZKNPXLxEw" supplier="_wSizUPpwEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_wSizUPpwEeaCyZKNPXLxEw" name="Requirement3">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mluZovp5EeaCyZKNPXLxEw" name="component1" type="_8DG3UPpwEeaCyZKNPXLxEw" association="_mltykPp5EeaCyZKNPXLxEw"/>
+      <nestedClassifier xmi:type="uml:Association" xmi:id="_mltykPp5EeaCyZKNPXLxEw" memberEnd="_mluZovp5EeaCyZKNPXLxEw _mluZo_p5EeaCyZKNPXLxEw">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mluZoPp5EeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mluZofp5EeaCyZKNPXLxEw" key="nature" value="UML_Nature"/>
+        </eAnnotations>
+        <ownedEnd xmi:type="uml:Property" xmi:id="_mluZo_p5EeaCyZKNPXLxEw" name="requirement3" type="_wSizUPpwEeaCyZKNPXLxEw" association="_mltykPp5EeaCyZKNPXLxEw"/>
+      </nestedClassifier>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_xE4PMPpwEeaCyZKNPXLxEw" name="Verify2" client="_wSizUPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ybNwAPpwEeaCyZKNPXLxEw" name="DeriveReqt2" client="_wSizUPpwEeaCyZKNPXLxEw" supplier="_rjzMQPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Realization" xmi:id="_5GsJgPpwEeaCyZKNPXLxEw" client="_wSizUPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Component" xmi:id="_8DG3UPpwEeaCyZKNPXLxEw" name="Component1"/>
+    <packagedElement xmi:type="uml:Component" xmi:id="_C-qUMPpxEeaCyZKNPXLxEw" name="Component2">
+      <realization xmi:type="uml:ComponentRealization" xmi:id="_D_iiYPpxEeaCyZKNPXLxEw" client="_8DG3UPpwEeaCyZKNPXLxEw" supplier="_C-qUMPpxEeaCyZKNPXLxEw" realizingClassifier="_8DG3UPpwEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_O9-7APpzEeaCyZKNPXLxEw" name="Interface1"/>
+    <packagedElement xmi:type="uml:Usage" xmi:id="_ZvsKEPpzEeaCyZKNPXLxEw" client="_VJttoPnoEeauDtoDZwIqjw" supplier="_rjzMQPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Manifestation" xmi:id="_nVmmIPpzEeaCyZKNPXLxEw" client="_VJttoPnoEeauDtoDZwIqjw" supplier="_wSizUPpwEeaCyZKNPXLxEw" utilizedElement="_wSizUPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_pyam0PpzEeaCyZKNPXLxEw" name="Profile1"/>
+    <packagedElement xmi:type="uml:Component" xmi:id="_u3G2cPp4EeaCyZKNPXLxEw" name="Component3">
+      <templateBinding xmi:type="uml:TemplateBinding" xmi:id="_wFi_gPp4EeaCyZKNPXLxEw" signature="_QI5ZgPp0EeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Node" xmi:id="_JNUVMPp5EeaCyZKNPXLxEw" name="Node1">
+      <deployment xmi:type="uml:Deployment" xmi:id="_LMleQPp5EeaCyZKNPXLxEw" client="_JNUVMPp5EeaCyZKNPXLxEw" supplier="_KYFfMPp5EeaCyZKNPXLxEw" deployedArtifact="_KYFfMPp5EeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DeploymentSpecification" xmi:id="_KYFfMPp5EeaCyZKNPXLxEw" name="DeploymentSpecification1"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_XuXj0Pp5EeaCyZKNPXLxEw" name="Activity2"/>
+    <packagedElement xmi:type="uml:AssociationClass" xmi:id="_cLkH4Pp5EeaCyZKNPXLxEw" name="AssociationClass1" memberEnd="_cMLy8Pp5EeaCyZKNPXLxEw _cMMaAPp5EeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cMJ9wPp5EeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cMKk0Pp5EeaCyZKNPXLxEw" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_cMMaAPp5EeaCyZKNPXLxEw" name="requirement1" type="_VJttoPnoEeauDtoDZwIqjw" association="_cLkH4Pp5EeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_tkrv0Pp5EeaCyZKNPXLxEw" name="DataType1"/>
+    <packagedElement xmi:type="uml:DurationObservation" xmi:id="_vZCCUPp5EeaCyZKNPXLxEw" name="DurationObservation1"/>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_w3Gi0Pp5EeaCyZKNPXLxEw" name="Enumeration1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_9DZgkPp5EeaCyZKNPXLxEw" informationSource="_brVAgPnoEeauDtoDZwIqjw" informationTarget="_m5FkYPkiEeavtrWHCQ8Tnw"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_C-KO0Pp6EeaCyZKNPXLxEw" name="PrimitiveType1"/>
+    <packagedElement xmi:type="uml:Signal" xmi:id="_Ez8rwPp6EeaCyZKNPXLxEw" name="Signal1"/>
+    <packagedElement xmi:type="uml:TimeObservation" xmi:id="_GaLpwPp6EeaCyZKNPXLxEw" name="TimeObservation1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw" name="View1" visibility="public"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of_SysML">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML" 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="profileApplication_Of_SysML.package_packagedElement_Activities">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Activities" 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="profileApplication_Of_SysML.package_packagedElement_Allocations">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Allocations" 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="profileApplication_Of_SysML.package_packagedElement_Blocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Blocks" 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="profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks" 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="profileApplication_Of_SysML.package_packagedElement_DeprecatedElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_DeprecatedElements" 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="profileApplication_Of_SysML.package_packagedElement_ModelElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ModelElements" 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="profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows" 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="profileApplication_Of_SysML.package_packagedElement_Requirements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Requirements" 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>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of__0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of__0" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Class="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" base_Class="_TIQzQPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" base_Class="_VJttoPnoEeauDtoDZwIqjw" id="MyIdentifier" text="MyText"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_W4lqQPnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Generalization="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" base_Class="_X_-JEPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZBoaYPnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZhPHgPnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <DeprecatedElements:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortsAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_DirectedRelationship="_c1j_APnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" quantityKind="_aD36gPnoEeauDtoDZwIqjw" unit="_dSlSMPnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_DirectedRelationship="_egM74PnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw">
+    <language>C++</language>
+    <language>C</language>
+    <language>OCL</language>
+  </ModelElements:Viewpoint>
+  <DeprecatedElements:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" direction="out"/>
+  <PortsAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_kNP1cPpwEeaCyZKNPXLxEw" base_Class="_kMeZYPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_rmkMYPpwEeaCyZKNPXLxEw" base_Class="_rjzMQPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Copy xmi:id="_vMgYUPpwEeaCyZKNPXLxEw" base_DirectedRelationship="_vJqfsPpwEeaCyZKNPXLxEw" base_Abstraction="_vJqfsPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_wT6sUPpwEeaCyZKNPXLxEw" base_Class="_wSizUPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Satisfy xmi:id="_wpWw0PpwEeaCyZKNPXLxEw" base_DirectedRelationship="_wm_ZUPpwEeaCyZKNPXLxEw" base_Abstraction="_wm_ZUPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Verify xmi:id="_xG5BYPpwEeaCyZKNPXLxEw" base_DirectedRelationship="_xE4PMPpwEeaCyZKNPXLxEw" base_Abstraction="_xE4PMPpwEeaCyZKNPXLxEw"/>
+  <Requirements:DeriveReqt xmi:id="_ydQ-cPpwEeaCyZKNPXLxEw" base_DirectedRelationship="_ybNwAPpwEeaCyZKNPXLxEw" base_Abstraction="_ybNwAPpwEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.notation
new file mode 100644
index 0000000..9475716
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.notation
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_Q0lXoPpwEeaCyZKNPXLxEw" name="RequirementTable0" currentRowAxisProvider="_Q0lXpfpwEeaCyZKNPXLxEw" currentColumnAxisProvider="_Q0lXofpwEeaCyZKNPXLxEw">
+  <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" source="Imported_From_SysML_1.1">
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of_Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" key="Papyrus_Source_Model_Name" value="RequirementTable_converted"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of_Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Date" value="20170228165709"/>
+    <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of_Imported_From_SysML_1.1_Of__Q0lXoPpwEeaCyZKNPXLxEw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+  </eAnnotations>
+  <context xmi:type="uml:Model" href="RequirementTable_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <owner xmi:type="uml:Model" href="RequirementTable_converted.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/configuration/requirementTable.configuration#_j2LQIy7uEeWklMXvaoXzgQ"/>
+  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#/"/>
+  <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_Q0lXofpwEeaCyZKNPXLxEw" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_Q0lXovpwEeaCyZKNPXLxEw" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Q0lXo_pwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_Q0lXpPpwEeaCyZKNPXLxEw" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml14.nattable.requirement/resources/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+    </axis>
+  </columnAxisProvidersHistory>
+  <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_Q0lXpfpwEeaCyZKNPXLxEw" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.uml
new file mode 100644
index 0000000..2dcccce
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/RequirementTable/RequirementTable_converted.uml
@@ -0,0 +1,196 @@
+<?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:Activities="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks" xmlns:ConstraintBlocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks" xmlns:DeprecatedElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements" xmlns:ModelElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements" xmlns:PortsAndFlows="http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" 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.4/SysML/Activities http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="RequirementTable"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170228165708"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+    </eAnnotations>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of__0">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of_SysML.package_packagedElement_Libraries">
+      <importedPackage xmi:type="uml:Package" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <generalization xmi:type="uml:Generalization" xmi:id="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw" general="_VJttoPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1">
+      <classifier xmi:type="uml:Class" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>firstConcerns</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_2_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>secondConcerns</body>
+      </ownedComment>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="createOperation_Of__fih7kPnoEeauDtoDZwIqjw" name="View">
+        <ownedComment xmi:type="uml:Comment" xmi:id="comment_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw">
+          <body>firstMethod()
+secondMethod()</body>
+        </ownedComment>
+      </ownedOperation>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" name="mySecondStakeholder"/>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" name="myFirstStakeholder"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_RvReQPpwEeaCyZKNPXLxEw" name="Requirement2"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SOX1EPpwEeaCyZKNPXLxEw" name="CopyOf_Requirement2_1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SQLy8PpwEeaCyZKNPXLxEw" name="CopyOf_Requirement2_2"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SVPSEPpwEeaCyZKNPXLxEw" name="CopyOf_Requirement2_3"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw" name="View1" visibility="public"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of_SysML">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML" 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="profileApplication_Of_SysML.package_packagedElement_Activities">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Activities" 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="profileApplication_Of_SysML.package_packagedElement_Allocations">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Allocations" 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="profileApplication_Of_SysML.package_packagedElement_Blocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Blocks" 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="profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks" 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="profileApplication_Of_SysML.package_packagedElement_DeprecatedElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_DeprecatedElements" 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="profileApplication_Of_SysML.package_packagedElement_ModelElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ModelElements" 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="profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows" 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="profileApplication_Of_SysML.package_packagedElement_Requirements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Requirements" 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>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of__0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of__0" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Class="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" base_Class="_TIQzQPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" base_Class="_VJttoPnoEeauDtoDZwIqjw" id="MyIdentifier" text="MyText"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_W4lqQPnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Generalization="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" base_Class="_X_-JEPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZBoaYPnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZhPHgPnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <DeprecatedElements:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortsAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_DirectedRelationship="_c1j_APnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" quantityKind="_aD36gPnoEeauDtoDZwIqjw" unit="_dSlSMPnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_DirectedRelationship="_egM74PnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw">
+    <language>C++</language>
+    <language>C</language>
+    <language>OCL</language>
+  </ModelElements:Viewpoint>
+  <DeprecatedElements:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" direction="out"/>
+  <PortsAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_RvT6gPpwEeaCyZKNPXLxEw" base_Class="_RvReQPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_SOZDMPpwEeaCyZKNPXLxEw" base_Class="_SOX1EPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_SQMaAPpwEeaCyZKNPXLxEw" base_Class="_SQLy8PpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_SVP5IPpwEeaCyZKNPXLxEw" base_Class="_SVPSEPpwEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.notation
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.notation
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.uml
new file mode 100644
index 0000000..2347f45
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/ExpectedResult/Semantic/Semantic_converted.uml
@@ -0,0 +1,188 @@
+<?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:Activities="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks" xmlns:ConstraintBlocks="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks" xmlns:DeprecatedElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements" xmlns:ModelElements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements" xmlns:PortsAndFlows="http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" 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.4/SysML/Activities http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities http://www.eclipse.org/papyrus/sysml/1.4/SysML/Allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations http://www.eclipse.org/papyrus/sysml/1.4/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/ConstraintBlocks http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks http://www.eclipse.org/papyrus/sysml/1.4/SysML/DeprecatedElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/ModelElements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements http://www.eclipse.org/papyrus/sysml/1.4/SysML/PortsAndFlows http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="Imported_From_SysML_11_Of__m5FkYPkiEeavtrWHCQ8Tnw" source="Imported_From_SysML_1.1">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_Source_Model_Name_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_Source_Model_Name" value="Semantic"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Date_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Date" value="20170228165713"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="Papyrus_SysML_Migration_Bundle_Version_Of__m5FkYPkiEeavtrWHCQ8Tnw" key="Papyrus_SysML_Migration_Bundle_Version" value="0.10.1.qualifier"/>
+    </eAnnotations>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of__0">
+      <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
+    </packageImport>
+    <packageImport xmi:type="uml:PackageImport" xmi:id="packageImport_Of_SysML.package_packagedElement_Libraries">
+      <importedPackage xmi:type="uml:Package" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+    </packageImport>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <generalization xmi:type="uml:Generalization" xmi:id="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw" general="_VJttoPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1">
+      <classifier xmi:type="uml:Class" href="pathmap://SysML14_LIBRARIES/SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>firstConcerns</body>
+      </ownedComment>
+      <ownedComment xmi:type="uml:Comment" xmi:id="concernList_2_Of__fih7kPnoEeauDtoDZwIqjw">
+        <body>secondConcerns</body>
+      </ownedComment>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="createOperation_Of__fih7kPnoEeauDtoDZwIqjw" name="View">
+        <ownedComment xmi:type="uml:Comment" xmi:id="comment_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw">
+          <body>firstMethod()
+secondMethod()</body>
+        </ownedComment>
+      </ownedOperation>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" name="mySecondStakeholder"/>
+      <nestedClassifier xmi:type="uml:Class" xmi:id="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" name="myFirstStakeholder"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw" name="View1" visibility="public"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of_SysML">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML" 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="profileApplication_Of_SysML.package_packagedElement_Activities">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Activities" 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="profileApplication_Of_SysML.package_packagedElement_Allocations">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Allocations" 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="profileApplication_Of_SysML.package_packagedElement_Blocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Blocks" 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="profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ConstraintBlocks" 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="profileApplication_Of_SysML.package_packagedElement_DeprecatedElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_DeprecatedElements" 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="profileApplication_Of_SysML.package_packagedElement_ModelElements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_ModelElements" 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="profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Ports_u0026Flows" 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="profileApplication_Of_SysML.package_packagedElement_Requirements">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of_SysML.package_packagedElement_Requirements" 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>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="profileApplication_Of__0">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="eAnnotation_Of_profileApplication_Of__0" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+    </profileApplication>
+  </uml:Model>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Class="baseClass_Of__fIPMQPnoEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" base_Class="_TIQzQPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" base_Class="_VJttoPnoEeauDtoDZwIqjw" id="MyIdentifier" text="MyText"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_W4lqQPnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Generalization="baseGeneralization_Of__Xbm3wPnoEeauDtoDZwIqjw"/>
+  <ConstraintBlocks:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" base_Class="_X_-JEPnoEeauDtoDZwIqjw" isEncapsulated="true"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZBoaYPnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_DirectedRelationship="_ZhPHgPnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <DeprecatedElements:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortsAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_DirectedRelationship="_c1j_APnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" quantityKind="_aD36gPnoEeauDtoDZwIqjw" unit="_dSlSMPnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_DirectedRelationship="_egM74PnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <standard:Create xmi:id="createStereotype_Of_createOperation_Of__fih7kPnoEeauDtoDZwIqjw" base_BehavioralFeature="createOperation_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Stakeholder xmi:id="stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw" base_Classifier="baseClassifier_Of_stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Viewpoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" concernList="concernList_1_Of__fih7kPnoEeauDtoDZwIqjw concernList_2_Of__fih7kPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3" stakeholder="stakeholder2_Of__fih7kPnoEeauDtoDZwIqjw stakeholder1_Of__fih7kPnoEeauDtoDZwIqjw">
+    <language>C++</language>
+    <language>C</language>
+    <language>OCL</language>
+  </ModelElements:Viewpoint>
+  <DeprecatedElements:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" direction="out"/>
+  <PortsAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.notation
new file mode 100644
index 0000000..e3f0486
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.notation
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_MRY5QPpwEeaCyZKNPXLxEw" name="AllocationTable0" currentRowAxisProvider="_MRZgVfpwEeaCyZKNPXLxEw" currentColumnAxisProvider="_MRZgUPpwEeaCyZKNPXLxEw">
+  <context xmi:type="uml:Model" href="AllocationTable.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <owner xmi:type="uml:Model" href="AllocationTable.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocationTable.configuration#_r5y7wHDuEeWh-MssWmCB_A"/>
+  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration#/"/>
+  <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_MRZgUPpwEeaCyZKNPXLxEw" description="This provider provides the default columns for the SysML Allocation Table" name="SysMLAllocationFeatureProvider">
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgUfpwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgUvpwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/client"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgU_pwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Dependency/supplier"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_MRZgVPpwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.allocation.config/resources/allocation.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/owner"/>
+    </axis>
+  </columnAxisProvidersHistory>
+  <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_MRZgVfpwEeaCyZKNPXLxEw" description="This row providers allows to display all Allocation in a Table" name="SysMLAllocationProvider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.uml
new file mode 100644
index 0000000..26249e6
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/AllocationTable/AllocationTable.uml
@@ -0,0 +1,180 @@
+<?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:Activities="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:Constraints="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" xmlns:ModelElements="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" xmlns:PortAndFlows="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/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/0.7.0/SysML/Activities http://www.eclipse.org/papyrus/0.7.0/SysML#//activities http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_Xbh_QPnoEeauDtoDZwIqjw" name="Conform1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_fIIekPnoEeauDtoDZwIqjw" name="View1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_NSvokPpwEeaCyZKNPXLxEw" name="Allocate2"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_N1B2QPpwEeaCyZKNPXLxEw" name="CopyOf_Allocate2_1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_N7tGAPpwEeaCyZKNPXLxEw" name="CopyOf_Allocate2_2"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvMF8PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvuRcPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvwGoPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvwGofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv53oPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv53ofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv6esPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7FwPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7FwfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0PkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7s0fkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0vkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv8T4PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv8T4fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv868fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868vkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv9iAPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv9iAfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv-JEfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEvkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+  </uml:Model>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_TIQzQPnoEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" text="MyText" id="MyIdentifier" base_Class="_VJttoPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Dependency="_Xbh_QPnoEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_X_-JEPnoEeauDtoDZwIqjw"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <Blocks:Dimension xmi:id="_aD8L8PnoEeauDtoDZwIqjw" base_InstanceSpecification="_aD36gPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:Unit xmi:id="_dSoVgPnoEeauDtoDZwIqjw" base_InstanceSpecification="_dSlSMPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" unit="_dSoVgPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Package="_fIIekPnoEeauDtoDZwIqjw"/>
+  <ModelElements:ViewPoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3">
+    <stakeHolders>myFirstStakeholder</stakeHolders>
+    <stakeHolders>mySecondStakeholder</stakeHolders>
+    <concerns>firstConcerns</concerns>
+    <concerns>secondConcerns</concerns>
+    <languages>C</languages>
+    <languages>OCL</languages>
+    <languages>C++</languages>
+    <methods>firstMethod()</methods>
+    <methods>secondMethod()</methods>
+  </ModelElements:ViewPoint>
+  <Constraints:ConstraintProperty xmi:id="_-UU00PnoEeauDtoDZwIqjw" base_Property="_-T26wPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" isConjugated="true" direction="out"/>
+  <PortAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Requirements:RequirementRelated xmi:id="_ToNpMPnpEeauDtoDZwIqjw" base_NamedElement="_SkgwgPnpEeauDtoDZwIqjw"/>
+  <Allocations:Allocated xmi:id="_N9NYwPnqEeauDtoDZwIqjw" base_NamedElement="_NNLqAPnqEeauDtoDZwIqjw"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_NSyr4PpwEeaCyZKNPXLxEw" base_Abstraction="_NSvokPpwEeaCyZKNPXLxEw"/>
+  <Allocations:Allocate xmi:id="_N1DEYPpwEeaCyZKNPXLxEw" base_Abstraction="_N1B2QPpwEeaCyZKNPXLxEw"/>
+  <Allocations:Allocate xmi:id="_N7ttEPpwEeaCyZKNPXLxEw" base_Abstraction="_N7tGAPpwEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.notation
new file mode 100644
index 0000000..31d830e
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.notation
@@ -0,0 +1,685 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_j-e1IPp6EeaCyZKNPXLxEw" type="BlockDefinition" name="New Block Definition Diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_n4yukPp6EeaCyZKNPXLxEw" type="shape_uml_actor_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_n40jwPp6EeaCyZKNPXLxEw" type="label_uml_namedelement_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_n50pUPp6EeaCyZKNPXLxEw" type="compartment_uml_property_as_list">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_n51QYPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_n51QYfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_n51QYvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_n51QY_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_n513cPp6EeaCyZKNPXLxEw" type="compartment_uml_operation_as_list">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_n513cfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_n513cvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_n513c_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_n513dPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Actor" href="BlockDefinitionDiagram.uml#_njz9EPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n4yukfp6EeaCyZKNPXLxEw" x="76" y="43"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_oc3sAPp6EeaCyZKNPXLxEw" type="shape_sysml_block_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_oc3sAvp6EeaCyZKNPXLxEw" type="label_sysml_block_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TEPp6EeaCyZKNPXLxEw" type="compartment_sysml_property_as_list">
+      <children xmi:type="notation:Node" xmi:id="_DmHxQPp7EeaCyZKNPXLxEw" type="shape_sysml_flowport_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_DmHxQfp7EeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Port" href="BlockDefinitionDiagram.uml#_EAr6sPnpEeauDtoDZwIqjw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DmHxQvp7EeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_rOSSoPqZEeaCyZKNPXLxEw" type="shape_sysml_value_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_rOSSofqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_q6hCEPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_rOSSovqZEeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_ujGSUPqZEeaCyZKNPXLxEw" type="shape_uml_property_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_ujGSUfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_uiRy8PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_ujGSUvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TEfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4TEvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4TE_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4TFPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TFfp6EeaCyZKNPXLxEw" type="compartment_sysml_part_as_list">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ha0x8Pp7EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ha0x8fp7EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Node" xmi:id="_F2Rd4PqaEeaCyZKNPXLxEw" type="shape_sysml_part_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_F2Rd4fqaEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_Fp8SEPqaEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_F2Rd4vqaEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TFvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4TF_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4TGPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4TGfp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TGvp6EeaCyZKNPXLxEw" type="compartment_sysml_reference_as_list">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pIQ2wPqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pIQ2wfqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Node" xmi:id="_-neU4PqZEeaCyZKNPXLxEw" type="shape_sysml_reference_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_-neU4fqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_-Z8PMPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_-neU4vqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TG_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4THPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4THfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4THvp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TH_p6EeaCyZKNPXLxEw" type="compartment_uml_port_as_list">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pIRd0PqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pIRd0fqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Node" xmi:id="_DT95MPqaEeaCyZKNPXLxEw" type="shape_uml_port_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_DT95MfqaEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Port" href="BlockDefinitionDiagram.uml#_DS2e4PqaEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DT95MvqaEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TIPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4TIfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4TIvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4TI_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TJPp6EeaCyZKNPXLxEw" type="compartment_sysml_flowport_as_list">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Ha0x8vp7EeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Ha0x8_p7EeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TJfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4TJvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4TJ_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4TKPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TKfp6EeaCyZKNPXLxEw" type="compartment_uml_operation_as_list">
+      <children xmi:type="notation:Node" xmi:id="_BQgpIPqZEeaCyZKNPXLxEw" type="shape_uml_operation_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_BQgpIfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Operation" href="BlockDefinitionDiagram.uml#_APeC4PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_BQgpIvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_1gjMoPqZEeaCyZKNPXLxEw" type="shape_uml_reception_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_1gjMofqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Reception" href="BlockDefinitionDiagram.uml#_1f_L8PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_1gjMovqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TKvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4TK_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4TLPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4TLfp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc4TLvp6EeaCyZKNPXLxEw" type="compartment_sysml_constraint_as_list">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc4TL_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc4TMPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc4TMfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc4TMvp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_oc46IPp6EeaCyZKNPXLxEw" type="compartment_sysml_value_as_list">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pIRd0vqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pIRd0_qYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_oc46Ifp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_oc46Ivp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_oc46I_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_oc46JPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_od94MPp6EeaCyZKNPXLxEw" type="StereotypeLabel">
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_od94Mfp6EeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_8J2A8LVAEdu2ieF4ON8UjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od94Mvp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_od94M_p6EeaCyZKNPXLxEw" type="StereotypeBrace">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_od94NPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_od94Nfp6EeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_8J2A8LVAEdu2ieF4ON8UjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od94Nvp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_od94Ofp6EeaCyZKNPXLxEw" type="compartment_shape_display">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_od94Ovp6EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od94O_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_od-fUPp6EeaCyZKNPXLxEw" type="StereotypeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_pIRd1PqYEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_pIRd1fqYEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_od-fUfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:StringValueStyle" xmi:id="_od-fUvp6EeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Blocks::Block"/>
+      <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_8J2A8LVAEdu2ieF4ON8UjA"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od-fU_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_CSrMYPp7EeaCyZKNPXLxEw" type="shape_sysml_flowport_as_affixed">
+      <children xmi:type="notation:DecorationNode" xmi:id="_CSrzcPp7EeaCyZKNPXLxEw" type="affixedlabel_sysml_flowport_label">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CSrzcfp7EeaCyZKNPXLxEw" x="30"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_CSrzcvp7EeaCyZKNPXLxEw" type="affixedlabel_uml_appliedstereotype">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_CSrzc_p7EeaCyZKNPXLxEw" x="30" y="-20"/>
+      </children>
+      <element xmi:type="uml:Port" href="BlockDefinitionDiagram.uml#_CSOgcPp7EeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CSrMYfp7EeaCyZKNPXLxEw" x="214" y="55" width="20" height="20"/>
+    </children>
+    <children xmi:type="notation:Shape" xmi:id="_D-9W8PqaEeaCyZKNPXLxEw" type="shape_uml_port_as_affixed">
+      <children xmi:type="notation:DecorationNode" xmi:id="_D-9W8vqaEeaCyZKNPXLxEw" type="affixedlabel_uml_port_label">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D-9-APqaEeaCyZKNPXLxEw" x="30"/>
+      </children>
+      <children xmi:type="notation:DecorationNode" xmi:id="_D-9-AfqaEeaCyZKNPXLxEw" type="affixedlabel_uml_appliedstereotype">
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_D-9-AvqaEeaCyZKNPXLxEw" x="30" y="-20"/>
+      </children>
+      <element xmi:type="uml:Port" href="BlockDefinitionDiagram.uml#_D-XhEPqaEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_D-9W8fqaEeaCyZKNPXLxEw" x="214" y="163" width="20" height="20"/>
+    </children>
+    <element xmi:type="uml:Class" href="BlockDefinitionDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_oc3sAfp6EeaCyZKNPXLxEw" x="273" y="45" width="224" height="328"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_od-fQPp6EeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_od-fQfp6EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_od-fQ_p6EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="BlockDefinitionDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_od-fQvp6EeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_pR5PgPp6EeaCyZKNPXLxEw" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_pR52kPp6EeaCyZKNPXLxEw" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="BlockDefinitionDiagram.uml#_V8AtQPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pR5Pgfp6EeaCyZKNPXLxEw" x="544" y="29"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_pShhp_p6EeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_pShhqPp6EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pShhqvp6EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Comment" href="BlockDefinitionDiagram.uml#_V8AtQPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pShhqfp6EeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tAjSkPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tAjSkvp6EeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tAjSk_p6EeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:Constraint" href="BlockDefinitionDiagram.uml#_p8AjgPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tAjSkfp6EeaCyZKNPXLxEw" x="723" y="48"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tC7RIPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tC7RIvp6EeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tC7RI_p6EeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:DurationConstraint" href="BlockDefinitionDiagram.uml#_qojgcPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tC7RIfp6EeaCyZKNPXLxEw" x="755" y="172"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tDobwPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tDpC0Pp6EeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tDpC0fp6EeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:InteractionConstraint" href="BlockDefinitionDiagram.uml#_rL5eEPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tDobwfp6EeaCyZKNPXLxEw" x="1045" y="60"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tEglgPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tEglgvp6EeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tEglg_p6EeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:IntervalConstraint" href="BlockDefinitionDiagram.uml#_rnvskPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tEglgfp6EeaCyZKNPXLxEw" x="967" y="174"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_tFSBkPp6EeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_tFSBkvp6EeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_tFSBk_p6EeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:TimeConstraint" href="BlockDefinitionDiagram.uml#_sRGyoPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tFSBkfp6EeaCyZKNPXLxEw" x="1226" y="170"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_zHOV4Pp6EeaCyZKNPXLxEw" type="shape_sysml_constraintblock_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_zHO88Pp6EeaCyZKNPXLxEw" type="label_sysml_constraintblock_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_zHO88fp6EeaCyZKNPXLxEw" type="compartment_sysml_parameter_as_list">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_zHO88vp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_zHO88_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_zHO89Pp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_zHO89fp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_zHPkAPp6EeaCyZKNPXLxEw" type="compartment_sysml_constraint_as_list">
+      <children xmi:type="notation:Node" xmi:id="_0Lvt8Pp6EeaCyZKNPXLxEw" type="shape_sysml_constraintproperty_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_0Lvt8fp6EeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_0KV_wPp6EeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_0Lvt8vp6EeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_zHPkAfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_zHPkAvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_zHPkA_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_zHPkBPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="BlockDefinitionDiagram.uml#_zHLSkPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zHOV4fp6EeaCyZKNPXLxEw" x="53" y="205"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_zIQ3sPp6EeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_zIQ3sfp6EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_zIQ3s_p6EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="BlockDefinitionDiagram.uml#_zHLSkPp6EeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zIQ3svp6EeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_3fSiUPp6EeaCyZKNPXLxEw" type="shape_uml_datatype_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_3fTJYPp6EeaCyZKNPXLxEw" type="label_uml_namedelement_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_3fTJYfp6EeaCyZKNPXLxEw" type="compartment_uml_property_as_list">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_3fTJYvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3fTJY_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3fTJZPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3fTJZfp6EeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_3fTwcPp6EeaCyZKNPXLxEw" type="compartment_uml_operation_as_list">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_3fTwcfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_3fTwcvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_3fTwc_p6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_3fTwdPp6EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:DataType" href="BlockDefinitionDiagram.uml#_3NRlQPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fSiUfp6EeaCyZKNPXLxEw" x="566" y="204"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_5UVYYPp6EeaCyZKNPXLxEw" type="shape_sysml_dimension_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5UV_cPp6EeaCyZKNPXLxEw" type="label_sysml_dimension_name"/>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#_4zA0APp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5UVYYfp6EeaCyZKNPXLxEw" x="765" y="276"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_5VOwQPp6EeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_5VOwQfp6EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_5VOwQ_p6EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#_4zA0APp6EeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5VOwQvp6EeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="__Z4aUPp6EeaCyZKNPXLxEw" type="shape_uml_enumeration_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="__Z4aUvp6EeaCyZKNPXLxEw" type="label_uml_namedelement_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="__Z4aU_p6EeaCyZKNPXLxEw" type="compartment_uml_enumerationliteral_as_list">
+      <children xmi:type="notation:Node" xmi:id="__tJUkPp6EeaCyZKNPXLxEw" type="shape_uml_enumerationliteral_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="__tJUkfp6EeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:EnumerationLiteral" href="BlockDefinitionDiagram.uml#__EOTYPp6EeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="__tJUkvp6EeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="__Z4aVPp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="__Z4aVfp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="__Z4aVvp6EeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="__Z4aV_p6EeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Enumeration" href="BlockDefinitionDiagram.uml#_-XJK8Pp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="__Z4aUfp6EeaCyZKNPXLxEw" x="976" y="360"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CTxYkPp7EeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_CTxYkfp7EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_CTxYk_p7EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="BlockDefinitionDiagram.uml#_CSOgcPp7EeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CTxYkvp7EeaCyZKNPXLxEw" x="290" y="55"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_0xHJMPqYEeaCyZKNPXLxEw" type="shape_sysml_flowspecification_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_0xHwQPqYEeaCyZKNPXLxEw" type="label_sysml_flowspecification_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_0xHwQfqYEeaCyZKNPXLxEw" type="compartment_sysml_flowproperty_as_list">
+      <children xmi:type="notation:Node" xmi:id="_2XEaYPqYEeaCyZKNPXLxEw" type="shape_sysml_flowproperty_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_2XEaYfqYEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_2Vno4PqYEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2XEaYvqYEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_0xHwQvqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_0xHwQ_qYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_0xHwRPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_0xHwRfqYEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="BlockDefinitionDiagram.uml#_bIbu0PnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0xHJMfqYEeaCyZKNPXLxEw" x="58" y="403"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_0y88Q_qYEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_0y88RPqYEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_0y88RvqYEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Interface" href="BlockDefinitionDiagram.uml#_bIbu0PnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0y88RfqYEeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_4TiHEPqYEeaCyZKNPXLxEw" type="shape_sysml_unit_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_4TiuIPqYEeaCyZKNPXLxEw" type="label_sysml_unit_name"/>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#_dSlSMPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4TiHEfqYEeaCyZKNPXLxEw" x="330" y="423"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_4VICgPqYEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_4VICgfqYEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4VICg_qYEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#_dSlSMPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4VICgvqYEeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_675QcPqYEeaCyZKNPXLxEw" type="InstanceSpecification_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_675QcvqYEeaCyZKNPXLxEw" type="InstanceSpecification_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_675Qc_qYEeaCyZKNPXLxEw" type="InstanceSpecification_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_6753gPqYEeaCyZKNPXLxEw" y="15"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_6753gfqYEeaCyZKNPXLxEw" type="InstanceSpecification_SlotCompartment">
+      <children xmi:type="notation:Shape" xmi:id="_cnRl8PqZEeaCyZKNPXLxEw" type="Slot_SlotLabel">
+        <element xmi:type="uml:Slot" href="BlockDefinitionDiagram.uml#_cmkbUPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_cnRl8fqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_6753gvqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_6753g_qYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_6753hPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6753hfqYEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#_6o1KgPqYEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_675QcfqYEeaCyZKNPXLxEw" x="71" y="583"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_90kGsPqYEeaCyZKNPXLxEw" type="shape_uml_interface_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_90kGsvqYEeaCyZKNPXLxEw" type="label_uml_namedelement_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_90ktwPqYEeaCyZKNPXLxEw" type="compartment_uml_property_as_list">
+      <children xmi:type="notation:Node" xmi:id="_uI4bgPqZEeaCyZKNPXLxEw" type="shape_uml_property_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_uI4bgfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_uILQ4PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_uI4bgvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_90ktwfqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_90ktwvqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_90ktw_qYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_90ktxPqYEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_90ktxfqYEeaCyZKNPXLxEw" type="compartment_uml_operation_as_list">
+      <children xmi:type="notation:Node" xmi:id="_DxW1QPqZEeaCyZKNPXLxEw" type="shape_uml_operation_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_DxW1QfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Operation" href="BlockDefinitionDiagram.uml#_DwB_kPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_DxW1QvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_2LjRcPqZEeaCyZKNPXLxEw" type="shape_uml_reception_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_2LjRcfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Reception" href="BlockDefinitionDiagram.uml#_2LAe4PqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_2LjRcvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_90ktxvqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_90ktx_qYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_90ktyPqYEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_90ktyfqYEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Interface" href="BlockDefinitionDiagram.uml#_9ijJoPqYEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_90kGsfqYEeaCyZKNPXLxEw" x="344" y="600"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_-0SeUPqYEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_-0SeUvqYEeaCyZKNPXLxEw" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_-0SeU_qYEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_-0SeVPqYEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-0SeVfqYEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Model" href="BlockDefinitionDiagram.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-0SeUfqYEeaCyZKNPXLxEw" x="680" y="555"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_F3UcMPqZEeaCyZKNPXLxEw" type="shape_uml_datatype_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_F3VDQPqZEeaCyZKNPXLxEw" type="label_uml_namedelement_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_F3VDQfqZEeaCyZKNPXLxEw" type="compartment_uml_property_as_list">
+      <children xmi:type="notation:Node" xmi:id="_vu1FoPqZEeaCyZKNPXLxEw" type="shape_uml_property_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_vu1FofqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_vuOBoPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_vu1FovqZEeaCyZKNPXLxEw"/>
+      </children>
+      <children xmi:type="notation:Node" xmi:id="_MjfHUPqbEeaCyZKNPXLxEw" type="shape_uml_property_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_MjfHUfqbEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:ExtensionEnd" href="BlockDefinitionDiagram.uml#_MHcrkPqbEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_MjfHUvqbEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_F3VDQvqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_F3VDQ_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_F3VDRPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_F3VDRfqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_F3VDRvqZEeaCyZKNPXLxEw" type="compartment_uml_operation_as_list">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_G9TM0PqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_G9TM0fqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_F3VDR_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_F3VDSPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_F3VDSfqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_F3VDSvqZEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:DataType" href="BlockDefinitionDiagram.uml#_EqGbIPqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_F3UcMfqZEeaCyZKNPXLxEw" x="1302" y="341"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_Tzv60PqZEeaCyZKNPXLxEw" type="shape_uml_primitivetype_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Tzv60vqZEeaCyZKNPXLxEw" type="label_uml_namedelement_name"/>
+    <element xmi:type="uml:PrimitiveType" href="BlockDefinitionDiagram.uml#_ThJu8PqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tzv60fqZEeaCyZKNPXLxEw" x="1065" y="557"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_W05-sPqZEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_W06lwPqZEeaCyZKNPXLxEw" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_W06lwfqZEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_W06lwvqZEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W06lw_qZEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Profile" href="BlockDefinitionDiagram.uml#_WXGBUPqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W05-sfqZEeaCyZKNPXLxEw" x="1274" y="559"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_YirvIPqZEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_YisWMPqZEeaCyZKNPXLxEw" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_YisWMfqZEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_YisWMvqZEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YisWM_qZEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Package" href="BlockDefinitionDiagram.uml#_YHiEMPqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YirvIfqZEeaCyZKNPXLxEw" x="819" y="719"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_avXCEPqZEeaCyZKNPXLxEw" type="shape_uml_signal_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_avXpIPqZEeaCyZKNPXLxEw" type="label_uml_namedelement_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_avXpIfqZEeaCyZKNPXLxEw" type="compartment_uml_property_as_list">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x8WtIPqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_x8WtIfqZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Node" xmi:id="_yV4AYPqZEeaCyZKNPXLxEw" type="shape_uml_property_as_label">
+        <styles xmi:type="notation:ShapeStyle" xmi:id="_yV4AYfqZEeaCyZKNPXLxEw"/>
+        <element xmi:type="uml:Property" href="BlockDefinitionDiagram.uml#_yVN5EPqZEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Location" xmi:id="_yV4AYvqZEeaCyZKNPXLxEw"/>
+      </children>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_avXpIvqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_avXpI_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_avXpJPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_avXpJfqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_avXpJvqZEeaCyZKNPXLxEw" type="compartment_uml_operation_as_list">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_x8WtIvqZEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_x8WtI_qZEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_avXpJ_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_avXpKPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_avXpKfqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_avXpKvqZEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Signal" href="BlockDefinitionDiagram.uml#_augGcPqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_avXCEfqZEeaCyZKNPXLxEw" x="1439" y="106"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_l1GAYPqZEeaCyZKNPXLxEw" type="shape_sysml_valuetype_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_l1HOgPqZEeaCyZKNPXLxEw" type="label_sysml_valuetype_name"/>
+    <children xmi:type="notation:ListCompartment" xmi:id="_l1HOgfqZEeaCyZKNPXLxEw" type="compartment_uml_property_as_list">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_l1HOgvqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_l1HOg_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_l1HOhPqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_l1HOhfqZEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:ListCompartment" xmi:id="_l1H1kPqZEeaCyZKNPXLxEw" type="compartment_uml_operation_as_list">
+      <styles xmi:type="notation:DrawerStyle" xmi:id="_l1H1kfqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_l1H1kvqZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_l1H1k_qZEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_l1H1lPqZEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:DataType" href="BlockDefinitionDiagram.uml#_lbPV8PqZEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l1GAYfqZEeaCyZKNPXLxEw" x="1120" y="711"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_l2Zn8_qZEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_l2Zn9PqZEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_l2aPAPqZEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:DataType" href="BlockDefinitionDiagram.uml#_lbPV8PqZEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l2Zn9fqZEeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="__RNY8PqaEeaCyZKNPXLxEw" type="InstanceSpecification_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="__RNY8vqaEeaCyZKNPXLxEw" type="InstanceSpecification_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="__RNY8_qaEeaCyZKNPXLxEw" type="InstanceSpecification_FloatingNameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="__ROAAPqaEeaCyZKNPXLxEw" y="15"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="__ROAAfqaEeaCyZKNPXLxEw" type="InstanceSpecification_SlotCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="__ROAAvqaEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="__ROAA_qaEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="__ROABPqaEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="__ROABfqaEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#__QiDgPqaEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="__RNY8fqaEeaCyZKNPXLxEw" x="100" y="765"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_j-e1Ifp6EeaCyZKNPXLxEw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_j-e1Ivp6EeaCyZKNPXLxEw">
+    <owner xmi:type="uml:Model" href="BlockDefinitionDiagram.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_j--kYPp6EeaCyZKNPXLxEw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <element xmi:type="uml:Model" href="BlockDefinitionDiagram.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_od-fRPp6EeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_oc3sAPp6EeaCyZKNPXLxEw" target="_od-fQPp6EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_od-fRfp6EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_od-fSfp6EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="BlockDefinitionDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_od-fRvp6EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_od-fR_p6EeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_od-fSPp6EeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_pShhq_p6EeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_pR5PgPp6EeaCyZKNPXLxEw" target="_pShhp_p6EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_pShhrPp6EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pSiIsvp6EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Comment" href="BlockDefinitionDiagram.uml#_V8AtQPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pShhrfp6EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pSiIsPp6EeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pSiIsfp6EeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_zIQ3tPp6EeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_zHOV4Pp6EeaCyZKNPXLxEw" target="_zIQ3sPp6EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_zIQ3tfp6EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_zIQ3ufp6EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="BlockDefinitionDiagram.uml#_zHLSkPp6EeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zIQ3tvp6EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zIQ3t_p6EeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zIQ3uPp6EeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_5VOwRPp6EeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_5UVYYPp6EeaCyZKNPXLxEw" target="_5VOwQPp6EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_5VOwRfp6EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_5VPXUPp6EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#_4zA0APp6EeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5VOwRvp6EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5VOwR_p6EeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5VOwSPp6EeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_CTxYlPp7EeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_CSrMYPp7EeaCyZKNPXLxEw" target="_CTxYkPp7EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_CTxYlfp7EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_CTx_oPp7EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="BlockDefinitionDiagram.uml#_CSOgcPp7EeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_CTxYlvp7EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CTxYl_p7EeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_CTxYmPp7EeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_0y88R_qYEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_0xHJMPqYEeaCyZKNPXLxEw" target="_0y88Q_qYEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_0y88SPqYEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_0y9jUfqYEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Interface" href="BlockDefinitionDiagram.uml#_bIbu0PnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0y88SfqYEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0y88SvqYEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0y9jUPqYEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_4VIChPqYEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_4TiHEPqYEeaCyZKNPXLxEw" target="_4VICgPqYEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_4VIChfqYEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4VICifqYEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#_dSlSMPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4VIChvqYEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4VICh_qYEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4VICiPqYEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_l2aPAfqZEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_l1GAYPqZEeaCyZKNPXLxEw" target="_l2Zn8_qZEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_l2aPAvqZEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_l2aPBvqZEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:DataType" href="BlockDefinitionDiagram.uml#_lbPV8PqZEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_l2aPA_qZEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l2aPBPqZEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_l2aPBfqZEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_4qQIgPqZEeaCyZKNPXLxEw" type="link_uml_dependency" source="_oc3sAPp6EeaCyZKNPXLxEw" target="_3fSiUPp6EeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_4qQIg_qZEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_4qQIhPqZEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_4qQIhfqZEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_4qQIhvqZEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_4qQIgfqZEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Dependency" href="BlockDefinitionDiagram.uml#_4pX-wPqZEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4qQIgvqZEeaCyZKNPXLxEw" points="[497, 281, -643984, -643984]$[566, 287, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4rqdwPqZEeaCyZKNPXLxEw" id="(1.0,0.7195121951219512)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4rqdwfqZEeaCyZKNPXLxEw" id="(0.0,0.6693548387096774)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_5kPEgPqZEeaCyZKNPXLxEw" type="link_uml_generalization" source="_0xHJMPqYEeaCyZKNPXLxEw" target="_oc3sAPp6EeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5kPEg_qZEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5kPEhPqZEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_5kPEgfqZEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Generalization" href="BlockDefinitionDiagram.uml#_5jWTsPqZEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5kPEgvqZEeaCyZKNPXLxEw" points="[262, 403, -643984, -643984]$[306, 373, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5lsdEPqZEeaCyZKNPXLxEw" id="(0.9622641509433962,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5lsdEfqZEeaCyZKNPXLxEw" id="(0.14732142857142858,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_8Cw8cPqZEeaCyZKNPXLxEw" type="link_uml_interfacerealization" source="_zHOV4Pp6EeaCyZKNPXLxEw" target="_90kGsPqYEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_8CxjgPqZEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8CxjgfqZEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_8CxjgvqZEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_8Cxjg_qZEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_8Cw8cfqZEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:InterfaceRealization" href="BlockDefinitionDiagram.uml#_8B-SQPqZEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8Cw8cvqZEeaCyZKNPXLxEw" points="[264, 358, -643984, -643984]$[368, 600, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8EDV4PqZEeaCyZKNPXLxEw" id="(1.0,0.9216867469879518)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8EDV4fqZEeaCyZKNPXLxEw" id="(0.11320754716981132,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_BT6tAPqaEeaCyZKNPXLxEw" type="link_uml_usage" source="_-0SeUPqYEeaCyZKNPXLxEw" target="__Z4aUPp6EeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_BT6tA_qaEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BT6tBPqaEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_BT6tBfqaEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_BT6tBvqaEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_BT6tAfqaEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Usage" href="BlockDefinitionDiagram.uml#_BS7OgPqaEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_BT6tAvqaEeaCyZKNPXLxEw" points="[-202, -59, -138, 158]$[-39, -131, 25, 86]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BVTNEPqaEeaCyZKNPXLxEw" id="(1.0,0.02)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BVTNEfqaEeaCyZKNPXLxEw" id="(0.49264705882352944,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_H1lDMPqaEeaCyZKNPXLxEw" type="Comment_AnnotatedElementEdge" source="_pR5PgPp6EeaCyZKNPXLxEw" target="_3fSiUPp6EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_H1lDMfqaEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_H1lDMvqaEeaCyZKNPXLxEw" points="[1, 17, -21, -186]$[53, 217, 31, 14]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H2ykIPqaEeaCyZKNPXLxEw" id="(0.69,0.7166666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_H2ykIfqaEeaCyZKNPXLxEw" id="(0.69,0.5725806451612904)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_JSj-kPqaEeaCyZKNPXLxEw" type="Constraint_ConstrainedElementEdge" source="_tAjSkPp6EeaCyZKNPXLxEw" target="_oc3sAPp6EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_JSj-kfqaEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JSj-kvqaEeaCyZKNPXLxEw" points="[-65, -5, 258, 15]$[-310, -44, 13, -24]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JT1J4PqaEeaCyZKNPXLxEw" id="(0.6372549019607843,0.6833333333333333)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JT1J4fqaEeaCyZKNPXLxEw" id="(0.8571428571428571,0.07317073170731707)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_AHMlwPqbEeaCyZKNPXLxEw" type="InstanceSpecification_Edge" source="_675QcPqYEeaCyZKNPXLxEw" target="__RNY8PqaEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_AHNM0PqbEeaCyZKNPXLxEw" type="InstanceSpecification_SourceRoleLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AHNM0fqbEeaCyZKNPXLxEw" y="20"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_AHNM0vqbEeaCyZKNPXLxEw" type="InstanceSpecification_TargetRoleLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_AHNM0_qbEeaCyZKNPXLxEw" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_AHMlwfqbEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:InstanceSpecification" href="BlockDefinitionDiagram.uml#__rWXQPqaEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AHMlwvqbEeaCyZKNPXLxEw" points="[3, 32, -11, -114]$[-29, 114, -43, -32]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AJfr0PqbEeaCyZKNPXLxEw" id="(0.45714285714285713,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AJfr0fqbEeaCyZKNPXLxEw" id="(0.3,0.0)"/>
+  </edges>
+</notation:Diagram>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.uml
new file mode 100644
index 0000000..8b48922
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/BlockDefinitionDiagram/BlockDefinitionDiagram.uml
@@ -0,0 +1,267 @@
+<?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:Activities="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:Constraints="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" xmlns:ModelElements="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" xmlns:PortAndFlows="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/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/0.7.0/SysML/Activities http://www.eclipse.org/papyrus/0.7.0/SysML#//activities http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw" annotatedElement="_3NRlQPp6EeaCyZKNPXLxEw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <ownedRule xmi:type="uml:DurationConstraint" xmi:id="_qojgcPp6EeaCyZKNPXLxEw" name="DurationConstraint1">
+      <specification xmi:type="uml:DurationInterval" xmi:id="_qokukPp6EeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedRule xmi:type="uml:InteractionConstraint" xmi:id="_rL5eEPp6EeaCyZKNPXLxEw" name="InteractionConstraint1"/>
+    <ownedRule xmi:type="uml:IntervalConstraint" xmi:id="_rnvskPp6EeaCyZKNPXLxEw" name="IntervalConstraint1">
+      <specification xmi:type="uml:Interval" xmi:id="_rnw6sPp6EeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedRule xmi:type="uml:TimeConstraint" xmi:id="_sRGyoPp6EeaCyZKNPXLxEw" name="TimeConstraint1">
+      <specification xmi:type="uml:TimeInterval" xmi:id="_sRIAwPp6EeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_CSOgcPp7EeaCyZKNPXLxEw" name="flowport2" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_q6hCEPqZEeaCyZKNPXLxEw" name="value1" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uiRy8PqZEeaCyZKNPXLxEw" name="Attribute2"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-Z8PMPqZEeaCyZKNPXLxEw" name="reference1" type="_-my_cPqZEeaCyZKNPXLxEw" association="_-mzmgPqZEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_DS2e4PqaEeaCyZKNPXLxEw" name="Port1" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_D-XhEPqaEeaCyZKNPXLxEw" name="Port2" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Fp8SEPqaEeaCyZKNPXLxEw" name="part1" type="_F1VpwPqaEeaCyZKNPXLxEw" aggregation="composite" association="_F1WQ0PqaEeaCyZKNPXLxEw"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_APeC4PqZEeaCyZKNPXLxEw" name="Operation2"/>
+      <ownedReception xmi:type="uml:Reception" xmi:id="_1f_L8PqZEeaCyZKNPXLxEw" name="Reception1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_Xbh_QPnoEeauDtoDZwIqjw" name="Conform1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1">
+      <generalization xmi:type="uml:Generalization" xmi:id="_5jWTsPqZEeaCyZKNPXLxEw" general="_TIQzQPnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_2Vno4PqYEeaCyZKNPXLxEw" name="flowproperty1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_fIIekPnoEeauDtoDZwIqjw" name="View1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Actor" xmi:id="_njz9EPp6EeaCyZKNPXLxEw" name="Actor1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_zHLSkPp6EeaCyZKNPXLxEw" name="ConstraintBlock2">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_0KV_wPp6EeaCyZKNPXLxEw" name="constraintproperty1" aggregation="composite" association="_0KWm0Pp6EeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_LQ0zIPp7EeaCyZKNPXLxEw" name="flowproperty1" aggregation="composite"/>
+      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_8B-SQPqZEeaCyZKNPXLxEw" client="_zHLSkPp6EeaCyZKNPXLxEw" supplier="_9ijJoPqYEeaCyZKNPXLxEw" contract="_9ijJoPqYEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_0KWm0Pp6EeaCyZKNPXLxEw" name="Association2" memberEnd="_0KV_wPp6EeaCyZKNPXLxEw _0KWm0_p6EeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0KWm0fp6EeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0KWm0vp6EeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_0KWm0_p6EeaCyZKNPXLxEw" name="constraintblock2" type="_zHLSkPp6EeaCyZKNPXLxEw" association="_0KWm0Pp6EeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_3NRlQPp6EeaCyZKNPXLxEw" name="DataType1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_4zA0APp6EeaCyZKNPXLxEw" name="Dimension2"/>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_-XJK8Pp6EeaCyZKNPXLxEw" name="Enumeration1">
+      <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="__EOTYPp6EeaCyZKNPXLxEw" name="EnumerationLiteral1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_6o1KgPqYEeaCyZKNPXLxEw" name="InstanceSpecification1">
+      <slot xmi:type="uml:Slot" xmi:id="_cmkbUPqZEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_9ijJoPqYEeaCyZKNPXLxEw" name="Interface1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_uILQ4PqZEeaCyZKNPXLxEw" name="Attribute1"/>
+      <ownedReception xmi:type="uml:Reception" xmi:id="_2LAe4PqZEeaCyZKNPXLxEw" name="Reception1"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_DwB_kPqZEeaCyZKNPXLxEw" name="Operation1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_EqGbIPqZEeaCyZKNPXLxEw" name="DataType2">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_vuOBoPqZEeaCyZKNPXLxEw" name="Attribute1"/>
+      <ownedAttribute xmi:type="uml:ExtensionEnd" xmi:id="_MHcrkPqbEeaCyZKNPXLxEw" name="ExtensionEnd1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_ThJu8PqZEeaCyZKNPXLxEw" name="PrimitiveType1"/>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_WXGBUPqZEeaCyZKNPXLxEw" name="Profile1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_YHiEMPqZEeaCyZKNPXLxEw" name="Package1"/>
+    <packagedElement xmi:type="uml:Signal" xmi:id="_augGcPqZEeaCyZKNPXLxEw" name="Signal1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_yVN5EPqZEeaCyZKNPXLxEw" name="Attribute1"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_lbPV8PqZEeaCyZKNPXLxEw" name="ValueType2"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_4pX-wPqZEeaCyZKNPXLxEw" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_3NRlQPp6EeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_-my_cPqZEeaCyZKNPXLxEw" name="Block2"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-mzmgPqZEeaCyZKNPXLxEw" name="Association3" memberEnd="_-Z8PMPqZEeaCyZKNPXLxEw _-mzmg_qZEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-mzmgfqZEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-mzmgvqZEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-mzmg_qZEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-mzmgPqZEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Usage" xmi:id="_BS7OgPqaEeaCyZKNPXLxEw" client="_m5FkYPkiEeavtrWHCQ8Tnw" supplier="_-XJK8Pp6EeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_F1VpwPqaEeaCyZKNPXLxEw" name="Block3"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_F1WQ0PqaEeaCyZKNPXLxEw" name="Association4" memberEnd="_Fp8SEPqaEeaCyZKNPXLxEw _F1WQ0_qaEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F1WQ0fqaEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F1WQ0vqaEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_F1WQ0_qaEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_F1WQ0PqaEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Constraint" xmi:id="_p8AjgPp6EeaCyZKNPXLxEw" name="Constraint1" constrainedElement="_TIQzQPnoEeauDtoDZwIqjw">
+      <specification xmi:type="uml:OpaqueExpression" xmi:id="_qNfVEPp6EeaCyZKNPXLxEw">
+        <language>OCL</language>
+        <body></body>
+      </specification>
+    </packagedElement>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="__QiDgPqaEeaCyZKNPXLxEw" name="InstanceSpecification2"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="__rWXQPqaEeaCyZKNPXLxEw" name="InstanceSpecification3">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_AGmv4PqbEeaCyZKNPXLxEw" source="InstanceEnd" references="_6o1KgPqYEeaCyZKNPXLxEw __QiDgPqaEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvMF8PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvuRcPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvwGoPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvwGofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv53oPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv53ofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv6esPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7FwPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7FwfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0PkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7s0fkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0vkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv8T4PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv8T4fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv868fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868vkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv9iAPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv9iAfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv-JEfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEvkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+  </uml:Model>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_TIQzQPnoEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" text="MyText" id="MyIdentifier" base_Class="_VJttoPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Dependency="_Xbh_QPnoEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_X_-JEPnoEeauDtoDZwIqjw"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <Blocks:Dimension xmi:id="_aD8L8PnoEeauDtoDZwIqjw" base_InstanceSpecification="_aD36gPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:Unit xmi:id="_dSoVgPnoEeauDtoDZwIqjw" base_InstanceSpecification="_dSlSMPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" unit="_dSoVgPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Package="_fIIekPnoEeauDtoDZwIqjw"/>
+  <ModelElements:ViewPoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3">
+    <stakeHolders>myFirstStakeholder</stakeHolders>
+    <stakeHolders>mySecondStakeholder</stakeHolders>
+    <concerns>firstConcerns</concerns>
+    <concerns>secondConcerns</concerns>
+    <languages>C</languages>
+    <languages>OCL</languages>
+    <languages>C++</languages>
+    <methods>firstMethod()</methods>
+    <methods>secondMethod()</methods>
+  </ModelElements:ViewPoint>
+  <Constraints:ConstraintProperty xmi:id="_-UU00PnoEeauDtoDZwIqjw" base_Property="_-T26wPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" isConjugated="true" direction="out"/>
+  <PortAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Requirements:RequirementRelated xmi:id="_ToNpMPnpEeauDtoDZwIqjw" base_NamedElement="_SkgwgPnpEeauDtoDZwIqjw"/>
+  <Allocations:Allocated xmi:id="_N9NYwPnqEeauDtoDZwIqjw" base_NamedElement="_NNLqAPnqEeauDtoDZwIqjw"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintBlock xmi:id="_zHMgsPp6EeaCyZKNPXLxEw" base_Class="_zHLSkPp6EeaCyZKNPXLxEw"/>
+  <Constraints:ConstraintProperty xmi:id="_0KV_wfp6EeaCyZKNPXLxEw" base_Property="_0KV_wPp6EeaCyZKNPXLxEw"/>
+  <Blocks:Dimension xmi:id="_4zhxYPp6EeaCyZKNPXLxEw" base_InstanceSpecification="_4zA0APp6EeaCyZKNPXLxEw"/>
+  <PortAndFlows:FlowPort xmi:id="_CSPukPp7EeaCyZKNPXLxEw" base_Port="_CSOgcPp7EeaCyZKNPXLxEw"/>
+  <PortAndFlows:FlowProperty xmi:id="_LRVwgPp7EeaCyZKNPXLxEw" base_Property="_LQ0zIPp7EeaCyZKNPXLxEw"/>
+  <PortAndFlows:FlowProperty xmi:id="_2Wd9cPqYEeaCyZKNPXLxEw" base_Property="_2Vno4PqYEeaCyZKNPXLxEw"/>
+  <Blocks:ValueType xmi:id="_lb2Z8PqZEeaCyZKNPXLxEw" base_DataType="_lbPV8PqZEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_-my_cfqZEeaCyZKNPXLxEw" base_Class="_-my_cPqZEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_F1VpwfqaEeaCyZKNPXLxEw" base_Class="_F1VpwPqaEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.notation
new file mode 100644
index 0000000..9e4daad
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.notation
@@ -0,0 +1,304 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GKEAkPpuEeaCyZKNPXLxEw" type="InternalBlock" name="New Internal Block Diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_GKEnoPpuEeaCyZKNPXLxEw" type="shape_sysml_block_as_composite">
+    <children xmi:type="notation:DecorationNode" xmi:id="_GKFOsPpuEeaCyZKNPXLxEw" type="label_sysml_block_name"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_GKFOsfpuEeaCyZKNPXLxEw" type="compartment_sysml_structure">
+      <children xmi:type="notation:Shape" xmi:id="_M7htUPpuEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M7i7cPpuEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_M7i7cfpuEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_M7i7cvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram.uml#_M66CQPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M7htUfpuEeaCyZKNPXLxEw" x="34" y="21" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_N-bUwPpuEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_N-b70PpuEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_N-ci4PpuEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_N-ci4fpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_N-niAPpuEeaCyZKNPXLxEw" type="compartment_shape_display">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_N-niAfpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N-niAvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_RyHo0PpuEeaCyZKNPXLxEw" type="shape_sysml_flowport_as_affixed">
+          <children xmi:type="notation:DecorationNode" xmi:id="_RyIP4PpuEeaCyZKNPXLxEw" type="affixedlabel_sysml_flowport_label">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_RyIP4fpuEeaCyZKNPXLxEw" x="30"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_RyIP4vpuEeaCyZKNPXLxEw" type="affixedlabel_uml_appliedstereotype">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_RyIP4_puEeaCyZKNPXLxEw" x="30" y="-20"/>
+          </children>
+          <element xmi:type="uml:Port" href="InternalBlockDiagram.uml#_RxmrcPpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RyHo0fpuEeaCyZKNPXLxEw" x="190" y="63" width="20" height="20"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_S4pzEPpuEeaCyZKNPXLxEw" type="shape_sysml_flowport_as_affixed">
+          <children xmi:type="notation:DecorationNode" xmi:id="_S4qaIPpuEeaCyZKNPXLxEw" type="affixedlabel_sysml_flowport_label">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_S4qaIfpuEeaCyZKNPXLxEw" x="30"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_S4qaIvpuEeaCyZKNPXLxEw" type="affixedlabel_uml_appliedstereotype">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_S4qaI_puEeaCyZKNPXLxEw" x="30" y="-20"/>
+          </children>
+          <element xmi:type="uml:Port" href="InternalBlockDiagram.uml#_S4Z7cPpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S4pzEfpuEeaCyZKNPXLxEw" x="23" y="90" width="20" height="20"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram.uml#_Nr-S0PpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_N-bUwfpuEeaCyZKNPXLxEw" x="309" y="296" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_O2iBcPpuEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_O2iogPpuEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_O2jPkPpuEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_O2jPkfpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_O2zHMPpuEeaCyZKNPXLxEw" type="compartment_shape_display">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_O2zHMfpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O2zHMvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_ZPq_gPpuEeaCyZKNPXLxEw" type="shape_uml_port_as_affixed">
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZPrmkPpuEeaCyZKNPXLxEw" type="affixedlabel_uml_port_label">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPrmkfpuEeaCyZKNPXLxEw" x="30"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_ZPs0sPpuEeaCyZKNPXLxEw" type="affixedlabel_uml_appliedstereotype">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_ZPs0sfpuEeaCyZKNPXLxEw" x="30" y="-20"/>
+          </children>
+          <element xmi:type="uml:Port" href="InternalBlockDiagram.uml#_ZPmuEPpuEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZPq_gfpuEeaCyZKNPXLxEw" x="190" y="89" width="20" height="20"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram.uml#_OoRjAPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O2iBcfpuEeaCyZKNPXLxEw" x="785" y="60" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_R36Hw_puEeaCyZKNPXLxEw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_R36HxPpuEeaCyZKNPXLxEw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R36HxvpuEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="InternalBlockDiagram.uml#_RxmrcPpuEeaCyZKNPXLxEw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R36HxfpuEeaCyZKNPXLxEw" x="390" y="63"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_S5Ep1fpuEeaCyZKNPXLxEw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_S5Ep1vpuEeaCyZKNPXLxEw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_S5Ep2PpuEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Port" href="InternalBlockDiagram.uml#_S4Z7cPpuEeaCyZKNPXLxEw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S5Ep1_puEeaCyZKNPXLxEw" x="223" y="90"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_UhXdUPpuEeaCyZKNPXLxEw" type="Comment_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_UhYEYPpuEeaCyZKNPXLxEw" type="Comment_BodyLabel_CN"/>
+        <element xmi:type="uml:Comment" href="InternalBlockDiagram.uml#_Ug_C0PpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_UhXdUfpuEeaCyZKNPXLxEw" x="802" y="254"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_U3rEgPpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_U3rrkPpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_U3rrkfpuEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:Constraint" href="InternalBlockDiagram.uml#_U20v8PpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U3rEgfpuEeaCyZKNPXLxEw" x="623" y="406"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_X93ZYPpuEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_X94AcPpuEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_X94AcfpuEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_X94AcvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram.uml#_XpwKkPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X93ZYfpuEeaCyZKNPXLxEw" x="886" y="369" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_aJ06oPpuEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_aJ1hsPpuEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_aJ1hsfpuEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_aJ1hsvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram.uml#_Z9P3MPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_aJ06ofpuEeaCyZKNPXLxEw" x="119" y="170" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_dWRogPpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_dWRogvpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_dWRog_puEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:DurationConstraint" href="InternalBlockDiagram.uml#_c_drAPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dWRogfpuEeaCyZKNPXLxEw" x="119" y="454"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_fZnZQPpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_fZnZQvpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_fZnZQ_puEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:InteractionConstraint" href="InternalBlockDiagram.uml#_fCPbEPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fZnZQfpuEeaCyZKNPXLxEw" x="538" y="154"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_hTd20PpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_hTed4PpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_hTed4fpuEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:IntervalConstraint" href="InternalBlockDiagram.uml#_gvvesPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_hTd20fpuEeaCyZKNPXLxEw" x="1006" y="244"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_q53wYPpuEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_q54XcPpuEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_q54XcfpuEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_q54XcvpuEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Property" href="InternalBlockDiagram.uml#_lLsRkPnqEeauDtoDZwIqjw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q53wYfpuEeaCyZKNPXLxEw" x="45" y="309" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_q6A6UPpuEeaCyZKNPXLxEw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_q6A6UfpuEeaCyZKNPXLxEw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_q6A6U_puEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="InternalBlockDiagram.uml#_lLsRkPnqEeauDtoDZwIqjw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q6A6UvpuEeaCyZKNPXLxEw" x="200"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_2_feYPpuEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_2_feYvpuEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_2_feY_puEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:TimeConstraint" href="InternalBlockDiagram.uml#_2jwkoPpuEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2_feYfpuEeaCyZKNPXLxEw" x="488" y="27"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_GKFOsvpuEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="InternalBlockDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKEnofpuEeaCyZKNPXLxEw" x="40" y="40" width="1224" height="610"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_GMg3oPpuEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_GMg3ofpuEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_GMg3o_puEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="InternalBlockDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GMg3ovpuEeaCyZKNPXLxEw" x="240" y="40"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_GKEAkfpuEeaCyZKNPXLxEw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_GKEAkvpuEeaCyZKNPXLxEw">
+    <owner xmi:type="uml:Class" href="InternalBlockDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_GLNQEPpuEeaCyZKNPXLxEw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <element xmi:type="uml:Class" href="InternalBlockDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_GMg3pPpuEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_GKEnoPpuEeaCyZKNPXLxEw" target="_GMg3oPpuEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_GMg3pfpuEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_GMg3qfpuEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="InternalBlockDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GMg3pvpuEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GMg3p_puEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GMg3qPpuEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_R36Hx_puEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_RyHo0PpuEeaCyZKNPXLxEw" target="_R36Hw_puEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_R36HyPpuEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_R36u0PpuEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="InternalBlockDiagram.uml#_RxmrcPpuEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R36HyfpuEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R36HyvpuEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_R36Hy_puEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_S5Ep2fpuEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_S4pzEPpuEeaCyZKNPXLxEw" target="_S5Ep1fpuEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_S5Ep2vpuEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_S5FQ4vpuEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Port" href="InternalBlockDiagram.uml#_S4Z7cPpuEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_S5Ep2_puEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S5FQ4PpuEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_S5FQ4fpuEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_Tjqe8PpuEeaCyZKNPXLxEw" type="link_uml_connector" source="_S4pzEPpuEeaCyZKNPXLxEw" target="_RyHo0PpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_TjrGAPpuEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TjrGAfpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_TjrGAvpuEeaCyZKNPXLxEw" type="linklabel_uml_connector_label">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TjrGA_puEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_TjrtEPpuEeaCyZKNPXLxEw" type="linklabel_uml_connector_source_multiplicity">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TjrtEfpuEeaCyZKNPXLxEw" y="10"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_TjrtEvpuEeaCyZKNPXLxEw" type="linklabel_uml_connector_target_multiplicity">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_TjrtE_puEeaCyZKNPXLxEw" y="10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_Tjqe8fpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Connector" href="InternalBlockDiagram.uml#_Tjgt8PpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Tjqe8vpuEeaCyZKNPXLxEw" points="[383, 468, -643984, -643984]$[545, 451, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TpEjYPpuEeaCyZKNPXLxEw" id="(0.25,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TpEjYfpuEeaCyZKNPXLxEw" id="(0.0,0.5489010989010978)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_UFkSIPpuEeaCyZKNPXLxEw" type="link_uml_dependency" source="_O2iBcPpuEeaCyZKNPXLxEw" target="_M7htUPpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_UFkSI_puEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_UFkSJPpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_UFkSJfpuEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_UFkSJvpuEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_UFkSIfpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Dependency" href="InternalBlockDiagram.uml#_UFeLgPpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UFkSIvpuEeaCyZKNPXLxEw" points="[831, 216, -643984, -643984]$[280, 172, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UGSq4PpuEeaCyZKNPXLxEw" id="(0.0,0.74)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UGSq4fpuEeaCyZKNPXLxEw" id="(1.0,0.69)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_V0JT0PpuEeaCyZKNPXLxEw" type="Comment_AnnotatedElementEdge" source="_UhXdUPpuEeaCyZKNPXLxEw" target="_O2iBcPpuEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_V0JT0fpuEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_V0JT0vpuEeaCyZKNPXLxEw" points="[4, -29, 26, 211]$[-46, -123, -24, 117]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V14ZMPpuEeaCyZKNPXLxEw" id="(0.29,0.48333333333333334)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_V15AQPpuEeaCyZKNPXLxEw" id="(0.35,0.65)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_WQLvkPpuEeaCyZKNPXLxEw" type="Constraint_ConstrainedElementEdge" source="_U3rEgPpuEeaCyZKNPXLxEw" target="_RyHo0PpuEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_WQLvkfpuEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WQLvkvpuEeaCyZKNPXLxEw" points="[-68, -22, 261, 149]$[-283, -89, 46, 82]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WRfXIPpuEeaCyZKNPXLxEw" id="(0.6666666666666666,0.7833333333333333)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WRfXIfpuEeaCyZKNPXLxEw" id="(0.0,0.5)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_mYU30PpuEeaCyZKNPXLxEw" type="link_uml_dependency" source="_M7htUPpuEeaCyZKNPXLxEw" target="_fZnZQPpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_mYVe4PpuEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yuPEkPpuEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mYVe4fpuEeaCyZKNPXLxEw" x="1" y="-28"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_mYVe4vpuEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yu0TYPpuEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mYVe4_puEeaCyZKNPXLxEw" x="1" y="-8"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_mYU30fpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Manifestation" href="InternalBlockDiagram.uml#_l7PTMPpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mYU30vpuEeaCyZKNPXLxEw" points="[280, 182, -643984, -643984]$[564, 264, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yvpZ0PpuEeaCyZKNPXLxEw" id="(1.0,0.73)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yvqA4PpuEeaCyZKNPXLxEw" id="(0.0,0.18333333333333332)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_q6A6VPpuEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_q53wYPpuEeaCyZKNPXLxEw" target="_q6A6UPpuEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_q6A6VfpuEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_q6A6WfpuEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="InternalBlockDiagram.uml#_lLsRkPnqEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_q6A6VvpuEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q6A6V_puEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_q6A6WPpuEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_rx49gPpuEeaCyZKNPXLxEw" type="link_uml_dependency" source="_N-bUwPpuEeaCyZKNPXLxEw" target="_q53wYPpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_rx49g_puEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rx49hPpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_rx49hfpuEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_rx49hvpuEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_rx49gfpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Realization" href="InternalBlockDiagram.uml#_qKp58PpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rx49gvpuEeaCyZKNPXLxEw" points="[355, 432, -643984, -643984]$[291, 436, -643984, -643984]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vCWosPpuEeaCyZKNPXLxEw" type="link_uml_dependency" source="_O2iBcPpuEeaCyZKNPXLxEw" target="_hTd20PpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vCXPwPpuEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vCXPwfpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vCXPwvpuEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vCXPw_puEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vCWosfpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Usage" href="InternalBlockDiagram.uml#_ut1KMPpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vCWosvpuEeaCyZKNPXLxEw" points="[989, 242, -643984, -643984]$[1087, 326, -643984, -643984]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_x_DqYPpuEeaCyZKNPXLxEw" type="link_uml_dependency" source="_X93ZYPpuEeaCyZKNPXLxEw" target="_M7htUPpuEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_x_ERcPpuEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_x_ERcfpuEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_x_ERcvpuEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_x_ERc_puEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_x_DqYfpuEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="InternalBlockDiagram.uml#_xplJoPpuEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_x_DqYvpuEeaCyZKNPXLxEw" points="[932, 460, -643984, -643984]$[280, 193, -643984, -643984]"/>
+  </edges>
+</notation:Diagram>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.uml
new file mode 100644
index 0000000..255a9ed
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/InternalBlockDiagram/InternalBlockDiagram.uml
@@ -0,0 +1,227 @@
+<?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:Activities="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:Constraints="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" xmlns:ModelElements="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" xmlns:PortAndFlows="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/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/0.7.0/SysML/Activities http://www.eclipse.org/papyrus/0.7.0/SysML#//activities http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_Ug_C0PpuEeaCyZKNPXLxEw" annotatedElement="_OoRjAPpuEeaCyZKNPXLxEw"/>
+      <ownedRule xmi:type="uml:Constraint" xmi:id="_U20v8PpuEeaCyZKNPXLxEw" name="Constraint1" constrainedElement="_RxmrcPpuEeaCyZKNPXLxEw">
+        <specification xmi:type="uml:LiteralString" xmi:id="_U2-g8PpuEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:DurationConstraint" xmi:id="_c_drAPpuEeaCyZKNPXLxEw" name="DurationConstraint1">
+        <specification xmi:type="uml:DurationInterval" xmi:id="_c_eSEPpuEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:InteractionConstraint" xmi:id="_fCPbEPpuEeaCyZKNPXLxEw" name="InteractionConstraint1"/>
+      <ownedRule xmi:type="uml:IntervalConstraint" xmi:id="_gvvesPpuEeaCyZKNPXLxEw" name="IntervalConstraint1">
+        <specification xmi:type="uml:Interval" xmi:id="_gvws0PpuEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:TimeConstraint" xmi:id="_2jwkoPpuEeaCyZKNPXLxEw" name="TimeConstraint1">
+        <specification xmi:type="uml:TimeInterval" xmi:id="_2jxywPpuEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_M66CQPpuEeaCyZKNPXLxEw" name="Attribute2"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Nr-S0PpuEeaCyZKNPXLxEw" name="part1" type="_N-F9kPpuEeaCyZKNPXLxEw" aggregation="composite" association="_N-RjwPpuEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OoRjAPpuEeaCyZKNPXLxEw" name="reference1" type="_O2K1EPpuEeaCyZKNPXLxEw" association="_O2MDMPpuEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_XpwKkPpuEeaCyZKNPXLxEw" name="value1" type="_X9CS8PpuEeaCyZKNPXLxEw" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Z9P3MPpuEeaCyZKNPXLxEw" name="actorPart1" type="_aJKzUPpuEeaCyZKNPXLxEw" aggregation="composite"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_Xbh_QPnoEeauDtoDZwIqjw" name="Conform1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_fIIekPnoEeauDtoDZwIqjw" name="View1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_N-F9kPpuEeaCyZKNPXLxEw" name="Block2">
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_RxmrcPpuEeaCyZKNPXLxEw" name="flowport1" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_S4Z7cPpuEeaCyZKNPXLxEw" name="flowport2" aggregation="composite"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Tjgt8PpuEeaCyZKNPXLxEw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_TjoCsPpuEeaCyZKNPXLxEw" role="_S4Z7cPpuEeaCyZKNPXLxEw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_TjoCsfpuEeaCyZKNPXLxEw" role="_RxmrcPpuEeaCyZKNPXLxEw"/>
+      </ownedConnector>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_N-RjwPpuEeaCyZKNPXLxEw" name="Association2" memberEnd="_Nr-S0PpuEeaCyZKNPXLxEw _N-Rjw_puEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_N-RjwfpuEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_N-RjwvpuEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_N-Rjw_puEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_N-RjwPpuEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_O2K1EPpuEeaCyZKNPXLxEw" name="Block3">
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_ZPmuEPpuEeaCyZKNPXLxEw" name="Port1" aggregation="composite"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_O2MDMPpuEeaCyZKNPXLxEw" name="Association3" memberEnd="_OoRjAPpuEeaCyZKNPXLxEw _O2MDM_puEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O2MDMfpuEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_O2MDMvpuEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_O2MDM_puEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_O2MDMPpuEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_UFeLgPpuEeaCyZKNPXLxEw" client="_OoRjAPpuEeaCyZKNPXLxEw" supplier="_M66CQPpuEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_X9CS8PpuEeaCyZKNPXLxEw" name="DataType1"/>
+    <packagedElement xmi:type="uml:Actor" xmi:id="_aJKzUPpuEeaCyZKNPXLxEw" name="Actor1"/>
+    <packagedElement xmi:type="uml:Manifestation" xmi:id="_l7PTMPpuEeaCyZKNPXLxEw" client="_M66CQPpuEeaCyZKNPXLxEw" supplier="_fCPbEPpuEeaCyZKNPXLxEw" utilizedElement="_fCPbEPpuEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Realization" xmi:id="_qKp58PpuEeaCyZKNPXLxEw" client="_Nr-S0PpuEeaCyZKNPXLxEw" supplier="_lLsRkPnqEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Usage" xmi:id="_ut1KMPpuEeaCyZKNPXLxEw" client="_OoRjAPpuEeaCyZKNPXLxEw" supplier="_gvvesPpuEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_xplJoPpuEeaCyZKNPXLxEw" client="_XpwKkPpuEeaCyZKNPXLxEw" supplier="_M66CQPpuEeaCyZKNPXLxEw"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvMF8PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvuRcPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvwGoPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvwGofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv53oPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv53ofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv6esPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7FwPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7FwfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0PkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7s0fkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0vkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv8T4PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv8T4fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv868fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868vkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv9iAPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv9iAfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv-JEfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEvkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+  </uml:Model>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_TIQzQPnoEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" text="MyText" id="MyIdentifier" base_Class="_VJttoPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Dependency="_Xbh_QPnoEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_X_-JEPnoEeauDtoDZwIqjw"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <Blocks:Dimension xmi:id="_aD8L8PnoEeauDtoDZwIqjw" base_InstanceSpecification="_aD36gPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:Unit xmi:id="_dSoVgPnoEeauDtoDZwIqjw" base_InstanceSpecification="_dSlSMPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" unit="_dSoVgPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Package="_fIIekPnoEeauDtoDZwIqjw"/>
+  <ModelElements:ViewPoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3">
+    <stakeHolders>myFirstStakeholder</stakeHolders>
+    <stakeHolders>mySecondStakeholder</stakeHolders>
+    <concerns>firstConcerns</concerns>
+    <concerns>secondConcerns</concerns>
+    <languages>C</languages>
+    <languages>OCL</languages>
+    <languages>C++</languages>
+    <methods>firstMethod()</methods>
+    <methods>secondMethod()</methods>
+  </ModelElements:ViewPoint>
+  <Constraints:ConstraintProperty xmi:id="_-UU00PnoEeauDtoDZwIqjw" base_Property="_-T26wPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" isConjugated="true" direction="out"/>
+  <PortAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Requirements:RequirementRelated xmi:id="_ToNpMPnpEeauDtoDZwIqjw" base_NamedElement="_SkgwgPnpEeauDtoDZwIqjw"/>
+  <Allocations:Allocated xmi:id="_N9NYwPnqEeauDtoDZwIqjw" base_NamedElement="_NNLqAPnqEeauDtoDZwIqjw"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Blocks:Block xmi:id="_N-GkoPpuEeaCyZKNPXLxEw" base_Class="_N-F9kPpuEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_O2K1EfpuEeaCyZKNPXLxEw" base_Class="_O2K1EPpuEeaCyZKNPXLxEw"/>
+  <PortAndFlows:FlowPort xmi:id="_RyD-cPpuEeaCyZKNPXLxEw" base_Port="_RxmrcPpuEeaCyZKNPXLxEw" direction="in"/>
+  <PortAndFlows:FlowPort xmi:id="_S4n94PpuEeaCyZKNPXLxEw" base_Port="_S4Z7cPpuEeaCyZKNPXLxEw" direction="out"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.notation
new file mode 100644
index 0000000..ec5a5f1
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.notation
@@ -0,0 +1,291 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_GQBpMPpvEeaCyZKNPXLxEw" type="Parametric" name="New Parametric Diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_GQCQQPpvEeaCyZKNPXLxEw" type="shape_sysml_block_as_composite">
+    <children xmi:type="notation:DecorationNode" xmi:id="_GQCQQvpvEeaCyZKNPXLxEw" type="label_sysml_block_name"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_GQCQQ_pvEeaCyZKNPXLxEw" type="compartment_sysml_structure">
+      <children xmi:type="notation:Shape" xmi:id="_IXXwMPpvEeaCyZKNPXLxEw" type="Comment_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_IXYXQPpvEeaCyZKNPXLxEw" type="Comment_BodyLabel_CN"/>
+        <element xmi:type="uml:Comment" href="ParametricDiagram.uml#_IXUF0PpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_IXXwMfpvEeaCyZKNPXLxEw" x="1127" y="532"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_I2JW4PpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_I2J98PpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_I2J98fpvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:Constraint" href="ParametricDiagram.uml#_I1yKgPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I2JW4fpvEeaCyZKNPXLxEw" x="853" y="497"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M0usUPpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M0usUvpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M0usU_pvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:DurationConstraint" href="ParametricDiagram.uml#_KLtboPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M0usUfpvEeaCyZKNPXLxEw" x="420" y="46"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M1bP4PpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M1bP4vpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M1bP4_pvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:InteractionConstraint" href="ParametricDiagram.uml#_KvTQ4PpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M1bP4fpvEeaCyZKNPXLxEw" x="453" y="351"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M2F-QPpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M2F-QvpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M2F-Q_pvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:IntervalConstraint" href="ParametricDiagram.uml#_LOo4QPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M2F-QfpvEeaCyZKNPXLxEw" x="189" y="310"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_M22zQPpvEeaCyZKNPXLxEw" type="Constraint_Shape_CN">
+        <children xmi:type="notation:DecorationNode" xmi:id="_M22zQvpvEeaCyZKNPXLxEw" type="Constraint_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_M22zQ_pvEeaCyZKNPXLxEw" type="Constraint_BodyLabel_CN"/>
+        <element xmi:type="uml:TimeConstraint" href="ParametricDiagram.uml#_L5MRIPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M22zQfpvEeaCyZKNPXLxEw" x="46" y="129"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_O9tyEPpvEeaCyZKNPXLxEw" type="shape_sysml_constraintblockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_O9uZIPpvEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_O-OvcPpvEeaCyZKNPXLxEw" type="shape_uml_constraint_as_label">
+          <element xmi:type="uml:Constraint" href="ParametricDiagram.uml#_O9UJcPpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:DecorationNode" xmi:id="_O-a8sPpvEeaCyZKNPXLxEw" type="StereotypeLabel">
+          <styles xmi:type="notation:StringValueStyle" xmi:id="_O-a8sfpvEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Constraints::ConstraintProperty"/>
+          <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Y9X54LVFEdu2ieF4ON8UjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-a8svpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_O-a8s_pvEeaCyZKNPXLxEw" type="StereotypeBrace">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_O-a8tPpvEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:StringValueStyle" xmi:id="_O-a8tfpvEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Constraints::ConstraintProperty"/>
+          <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Y9X54LVFEdu2ieF4ON8UjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-a8tvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_O-bjwPpvEeaCyZKNPXLxEw" type="compartment_shape_display">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_O-bjwfpvEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-bjwvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_O-cK0PpvEeaCyZKNPXLxEw" type="StereotypeCompartment">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_O-cK0fpvEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:StringValueStyle" xmi:id="_O-cK0vpvEeaCyZKNPXLxEw" name="stereotype" stringValue="SysML::Constraints::ConstraintProperty"/>
+          <element xmi:type="uml:Stereotype" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Y9X54LVFEdu2ieF4ON8UjA"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-cK0_pvEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_P0xV4PpvEeaCyZKNPXLxEw" type="shape_uml_property_as_affixed">
+          <children xmi:type="notation:DecorationNode" xmi:id="_P0x88PpvEeaCyZKNPXLxEw" type="affixedlabel_uml_port_label">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_P0x88fpvEeaCyZKNPXLxEw" x="-40" y="-15"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_P0x88vpvEeaCyZKNPXLxEw" type="affixedlabel_uml_appliedstereotype">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_P0x88_pvEeaCyZKNPXLxEw" x="30" y="-20"/>
+          </children>
+          <element xmi:type="uml:Property" href="ParametricDiagram.uml#_P0uSkPpvEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_P0xV4fpvEeaCyZKNPXLxEw" y="47" width="20" height="20"/>
+        </children>
+        <children xmi:type="notation:Shape" xmi:id="_RLsFgPpvEeaCyZKNPXLxEw" type="shape_uml_property_as_affixed">
+          <children xmi:type="notation:DecorationNode" xmi:id="_RLsskPpvEeaCyZKNPXLxEw" type="affixedlabel_uml_port_label">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_RLsskfpvEeaCyZKNPXLxEw" x="-40" y="-15"/>
+          </children>
+          <children xmi:type="notation:DecorationNode" xmi:id="_RLsskvpvEeaCyZKNPXLxEw" type="affixedlabel_uml_appliedstereotype">
+            <layoutConstraint xmi:type="notation:Location" xmi:id="_RLssk_pvEeaCyZKNPXLxEw" x="30" y="-20"/>
+          </children>
+          <element xmi:type="uml:Property" href="ParametricDiagram.uml#_RLrecPpvEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RLsFgfpvEeaCyZKNPXLxEw" x="193" y="60" width="20" height="20"/>
+        </children>
+        <element xmi:type="uml:Property" href="ParametricDiagram.uml#_OuqpcPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O9tyEfpvEeaCyZKNPXLxEw" x="749" y="120"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_O-bjw_pvEeaCyZKNPXLxEw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_O-bjxPpvEeaCyZKNPXLxEw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O-bjxvpvEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Property" href="ParametricDiagram.uml#_OuqpcPpvEeaCyZKNPXLxEw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-bjxfpvEeaCyZKNPXLxEw" x="200"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_SbaoAPpvEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_SbbPEPpvEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_SbbPEfpvEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_SbbPEvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Property" href="ParametricDiagram.uml#_SPlygPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SbaoAfpvEeaCyZKNPXLxEw" x="1065" y="322" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_S_SxIPpvEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_S_TYMPpvEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_S_TYMfpvEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_S_TYMvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Property" href="ParametricDiagram.uml#_S1vMgPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_S_SxIfpvEeaCyZKNPXLxEw" x="1210" y="118" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_Tw8QgPpvEeaCyZKNPXLxEw" type="shape_sysml_blockproperty_as_composite">
+        <children xmi:type="notation:DecorationNode" xmi:id="_Tw83kPpvEeaCyZKNPXLxEw" type="label_uml_property_label"/>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_Tw83kfpvEeaCyZKNPXLxEw" type="compartment_sysml_blockproperty_structure">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_Tw83kvpvEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Property" href="ParametricDiagram.uml#_Tdz5IPpvEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tw8QgfpvEeaCyZKNPXLxEw" x="1361" y="440" width="200" height="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_XIhQU_pvEeaCyZKNPXLxEw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_XIhQVPpvEeaCyZKNPXLxEw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XIhQVvpvEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Connector" href="ParametricDiagram.uml#_XHOP0PpvEeaCyZKNPXLxEw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XIhQVfpvEeaCyZKNPXLxEw" x="100" y="100"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_GQCQRPpvEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="ParametricDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GQCQQfpvEeaCyZKNPXLxEw" x="20" y="20" width="1640" height="665"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_GRXF8PpvEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_GRXF8fpvEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_GRXF8_pvEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="ParametricDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GRXF8vpvEeaCyZKNPXLxEw" x="220" y="20"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_GQBpMfpvEeaCyZKNPXLxEw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_GQBpMvpvEeaCyZKNPXLxEw">
+    <owner xmi:type="uml:Class" href="ParametricDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_GQlC0PpvEeaCyZKNPXLxEw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <element xmi:type="uml:Class" href="ParametricDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_GRXF9PpvEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_GQCQQPpvEeaCyZKNPXLxEw" target="_GRXF8PpvEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_GRXF9fpvEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_GRXF-fpvEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="ParametricDiagram.uml#_TIQzQPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GRXF9vpvEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GRXF9_pvEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GRXF-PpvEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_O-bjx_pvEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_O9tyEPpvEeaCyZKNPXLxEw" target="_O-bjw_pvEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_O-bjyPpvEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O-bjzPpvEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Property" href="ParametricDiagram.uml#_OuqpcPpvEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O-bjyfpvEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O-bjyvpvEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O-bjy_pvEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_UqYZ8PpvEeaCyZKNPXLxEw" type="Comment_AnnotatedElementEdge" source="_IXXwMPpvEeaCyZKNPXLxEw" target="_Tw8QgPpvEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_UqYZ8fpvEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_UqYZ8vpvEeaCyZKNPXLxEw" points="[532, 579, -643984, -643984]$[745, 556, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UrRKwPpvEeaCyZKNPXLxEw" id="(1.0,0.7166666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_UrRKwfpvEeaCyZKNPXLxEw" id="(0.0,0.72)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_VFiE4PpvEeaCyZKNPXLxEw" type="Constraint_ContextEdge" source="_I2JW4PpvEeaCyZKNPXLxEw" target="_SbaoAPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_VFir8PpvEeaCyZKNPXLxEw" type="Constraint_KeywordLabel">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nNskIPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_VFir8fpvEeaCyZKNPXLxEw" y="14"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_VFiE4fpvEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VFiE4vpvEeaCyZKNPXLxEw" points="[18, 12, -95, -32]$[89, 65, -24, 21]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VG7MAPpvEeaCyZKNPXLxEw" id="(1.0,0.11666666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VG7MAfpvEeaCyZKNPXLxEw" id="(0.005,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_WN73YPpvEeaCyZKNPXLxEw" type="link_uml_dependency" source="_O9tyEPpvEeaCyZKNPXLxEw" target="_S_SxIPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_WN73Y_pvEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nsIzoPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_WN73ZPpvEeaCyZKNPXLxEw" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_WN8ecPpvEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nstbYPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_WN8ecfpvEeaCyZKNPXLxEw" x="1" y="-7"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_WN73YfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Dependency" href="ParametricDiagram.uml#_WN5bIPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_WN73YvpvEeaCyZKNPXLxEw" points="[974, 298, -643984, -643984]$[1072, 415, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WPBcgPpvEeaCyZKNPXLxEw" id="(1.0,0.84)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_WPCDkPpvEeaCyZKNPXLxEw" id="(0.0,0.06)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_XHt_EPpvEeaCyZKNPXLxEw" type="link_uml_connector" source="_RLsFgPpvEeaCyZKNPXLxEw" target="_SbaoAPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_XHt_E_pvEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nOLFQPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XHt_FPpvEeaCyZKNPXLxEw" x="1" y="-28"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XHumIPpvEeaCyZKNPXLxEw" type="linklabel_uml_connector_label">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nOpmYPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XHumIfpvEeaCyZKNPXLxEw" x="1" y="-8"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XHumIvpvEeaCyZKNPXLxEw" type="linklabel_uml_connector_source_multiplicity">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nPR4gPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XHumI_pvEeaCyZKNPXLxEw" x="-40" y="10"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_XHumJPpvEeaCyZKNPXLxEw" type="linklabel_uml_connector_target_multiplicity">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nQjD0PpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_XHumJfpvEeaCyZKNPXLxEw" x="40" y="8"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_XHt_EfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Connector" href="ParametricDiagram.uml#_XHOP0PpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XHt_EvpvEeaCyZKNPXLxEw" points="[1028, 271, -643984, -643984]$[1293, 267, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XJdrgPpvEeaCyZKNPXLxEw" id="(1.0,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XJdrgfpvEeaCyZKNPXLxEw" id="(0.0,0.72)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_XIhQV_pvEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_XHt_EPpvEeaCyZKNPXLxEw" target="_XIhQU_pvEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_XIhQWPpvEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XIh3YvpvEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Connector" href="ParametricDiagram.uml#_XHOP0PpvEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XIhQWfpvEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XIh3YPpvEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XIh3YfpvEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_hV5DQPpvEeaCyZKNPXLxEw" type="link_uml_dependency" source="_SbaoAPpvEeaCyZKNPXLxEw" target="_S_SxIPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_hV5DQ_pvEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nLj2IPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_hV5DRPpvEeaCyZKNPXLxEw" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_hV5DRfpvEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nMK6IPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_hV5DRvpvEeaCyZKNPXLxEw" y="-9"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_hV5DQfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="ParametricDiagram.uml#_hD8-sPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_hV5DQvpvEeaCyZKNPXLxEw" points="[1337, 295, -643984, -643984]$[1205, 415, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nLAcgvpvEeaCyZKNPXLxEw" id="(0.92,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nLBDkPpvEeaCyZKNPXLxEw" id="(0.42,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_jUk9gPpvEeaCyZKNPXLxEw" type="link_uml_dependency" source="_Tw8QgPpvEeaCyZKNPXLxEw" target="_SbaoAPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_jUk9g_pvEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_jt2ZIPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jUk9hPpvEeaCyZKNPXLxEw" x="1" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_jUk9hfpvEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_jueEMPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_jUk9hvpvEeaCyZKNPXLxEw" x="1" y="-8"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_jUk9gfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Usage" href="ParametricDiagram.uml#_jA5zkPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jUk9gvpvEeaCyZKNPXLxEw" points="[939, 484, -643984, -643984]$[1298, 295, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jtTmkPpvEeaCyZKNPXLxEw" id="(0.0,0.01)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jtTmkfpvEeaCyZKNPXLxEw" id="(1.0,0.98)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_mFhbIPpvEeaCyZKNPXLxEw" type="link_uml_dependency" source="_SbaoAPpvEeaCyZKNPXLxEw" target="_M1bP4PpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_mFhbI_pvEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nMr3gPpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mFhbJPpvEeaCyZKNPXLxEw" x="1" y="-29"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_mFhbJfpvEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nNM04PpvEeaCyZKNPXLxEw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_mFhbJvpvEeaCyZKNPXLxEw" y="-9"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_mFhbIfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Manifestation" href="ParametricDiagram.uml#_lxjWQPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mFhbIvpvEeaCyZKNPXLxEw" points="[1293, 267, -643984, -643984]$[647, 414, -643984, -643984]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nLAcgPpvEeaCyZKNPXLxEw" id="(0.0,0.47)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_nLAcgfpvEeaCyZKNPXLxEw" id="(1.0,0.5333333333333333)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vI6uQPpvEeaCyZKNPXLxEw" type="link_uml_dependency" source="_S_SxIPpvEeaCyZKNPXLxEw" target="_GQCQQPpvEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vI6uQ_pvEeaCyZKNPXLxEw" type="linklabel_uml_appliedstereotype">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vI6uRPpvEeaCyZKNPXLxEw" y="-30"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vI6uRfpvEeaCyZKNPXLxEw" type="linklabel_uml_namedelement_name">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vI6uRvpvEeaCyZKNPXLxEw" y="-10"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vI6uQfpvEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Realization" href="ParametricDiagram.uml#_u2uLAPpvEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vI6uQvpvEeaCyZKNPXLxEw" points="[1245, 246, -643984, -643984]$[1660, 137, -643984, -643984]"/>
+  </edges>
+</notation:Diagram>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.uml
new file mode 100644
index 0000000..20dba85
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/ParametricDiagram/ParametricDiagram.uml
@@ -0,0 +1,236 @@
+<?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:Activities="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:Constraints="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" xmlns:ModelElements="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" xmlns:PortAndFlows="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/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/0.7.0/SysML/Activities http://www.eclipse.org/papyrus/0.7.0/SysML#//activities http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedComment xmi:type="uml:Comment" xmi:id="_IXUF0PpvEeaCyZKNPXLxEw" annotatedElement="_Tdz5IPpvEeaCyZKNPXLxEw"/>
+      <ownedRule xmi:type="uml:DurationConstraint" xmi:id="_KLtboPpvEeaCyZKNPXLxEw" name="DurationConstraint1">
+        <specification xmi:type="uml:DurationInterval" xmi:id="_KLupwPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:InteractionConstraint" xmi:id="_KvTQ4PpvEeaCyZKNPXLxEw" name="InteractionConstraint1"/>
+      <ownedRule xmi:type="uml:IntervalConstraint" xmi:id="_LOo4QPpvEeaCyZKNPXLxEw" name="IntervalConstraint1">
+        <specification xmi:type="uml:Interval" xmi:id="_LOqGYPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedRule xmi:type="uml:TimeConstraint" xmi:id="_L5MRIPpvEeaCyZKNPXLxEw" name="TimeConstraint1">
+        <specification xmi:type="uml:TimeInterval" xmi:id="_L5M4MPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_OuqpcPpvEeaCyZKNPXLxEw" name="constraintproperty2" type="_O9SUQfpvEeaCyZKNPXLxEw" aggregation="composite" association="_O9VXkPpvEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_SPlygPpvEeaCyZKNPXLxEw" name="part1" type="_Sa3OYPpvEeaCyZKNPXLxEw" aggregation="composite" association="_Sa5qoPpvEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_S1vMgPpvEeaCyZKNPXLxEw" name="reference1" type="_S-1eIPpvEeaCyZKNPXLxEw" association="_S-2FMPpvEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Tdz5IPpvEeaCyZKNPXLxEw" name="value1" type="_TwgysPpvEeaCyZKNPXLxEw" aggregation="composite"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_XHOP0PpvEeaCyZKNPXLxEw" name="Connector2">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_XHPd8PpvEeaCyZKNPXLxEw" role="_RLrecPpvEeaCyZKNPXLxEw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_XHPd8fpvEeaCyZKNPXLxEw" role="_SPlygPpvEeaCyZKNPXLxEw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_Xbh_QPnoEeauDtoDZwIqjw" name="Conform1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_fIIekPnoEeauDtoDZwIqjw" name="View1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_O9SUQfpvEeaCyZKNPXLxEw" name="ConstraintBlock2">
+      <ownedRule xmi:type="uml:Constraint" xmi:id="_O9UJcPpvEeaCyZKNPXLxEw" name="ConstraintBlock2Specification">
+        <specification xmi:type="uml:LiteralString" xmi:id="_O9UwgPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_P0uSkPpvEeaCyZKNPXLxEw" name="Attribute1" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_RLrecPpvEeaCyZKNPXLxEw" name="Attribute2" aggregation="composite"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_O9VXkPpvEeaCyZKNPXLxEw" name="Association2" memberEnd="_OuqpcPpvEeaCyZKNPXLxEw _O9VXk_pvEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_O9VXkfpvEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_O9VXkvpvEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_O9VXk_pvEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_O9VXkPpvEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_Sa3OYPpvEeaCyZKNPXLxEw" name="Block2">
+      <ownedRule xmi:type="uml:Constraint" xmi:id="_I1yKgPpvEeaCyZKNPXLxEw" name="Constraint1">
+        <specification xmi:type="uml:LiteralString" xmi:id="_I1zYoPpvEeaCyZKNPXLxEw" name="constraintSpec"/>
+      </ownedRule>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Association" xmi:id="_Sa5qoPpvEeaCyZKNPXLxEw" name="Association3" memberEnd="_SPlygPpvEeaCyZKNPXLxEw _Sa5qo_pvEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Sa5qofpvEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sa5qovpvEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_Sa5qo_pvEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_Sa5qoPpvEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_S-1eIPpvEeaCyZKNPXLxEw" name="Block3"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_S-2FMPpvEeaCyZKNPXLxEw" name="Association4" memberEnd="_S1vMgPpvEeaCyZKNPXLxEw _S-2FM_pvEeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_S-2FMfpvEeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S-2FMvpvEeaCyZKNPXLxEw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_S-2FM_pvEeaCyZKNPXLxEw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_S-2FMPpvEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_TwgysPpvEeaCyZKNPXLxEw" name="DataType1"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_WN5bIPpvEeaCyZKNPXLxEw" client="_OuqpcPpvEeaCyZKNPXLxEw" supplier="_S1vMgPpvEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_hD8-sPpvEeaCyZKNPXLxEw" client="_SPlygPpvEeaCyZKNPXLxEw" supplier="_S1vMgPpvEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Usage" xmi:id="_jA5zkPpvEeaCyZKNPXLxEw" client="_Tdz5IPpvEeaCyZKNPXLxEw" supplier="_SPlygPpvEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Manifestation" xmi:id="_lxjWQPpvEeaCyZKNPXLxEw" client="_SPlygPpvEeaCyZKNPXLxEw" supplier="_KvTQ4PpvEeaCyZKNPXLxEw" utilizedElement="_KvTQ4PpvEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Realization" xmi:id="_u2uLAPpvEeaCyZKNPXLxEw" client="_S1vMgPpvEeaCyZKNPXLxEw" supplier="_TIQzQPnoEeauDtoDZwIqjw"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvMF8PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvuRcPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvwGoPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvwGofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv53oPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv53ofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv6esPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7FwPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7FwfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0PkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7s0fkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0vkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv8T4PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv8T4fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv868fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868vkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv9iAPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv9iAfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv-JEfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEvkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+  </uml:Model>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_TIQzQPnoEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" text="MyText" id="MyIdentifier" base_Class="_VJttoPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Dependency="_Xbh_QPnoEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_X_-JEPnoEeauDtoDZwIqjw"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <Blocks:Dimension xmi:id="_aD8L8PnoEeauDtoDZwIqjw" base_InstanceSpecification="_aD36gPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:Unit xmi:id="_dSoVgPnoEeauDtoDZwIqjw" base_InstanceSpecification="_dSlSMPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" unit="_dSoVgPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Package="_fIIekPnoEeauDtoDZwIqjw"/>
+  <ModelElements:ViewPoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3">
+    <stakeHolders>myFirstStakeholder</stakeHolders>
+    <stakeHolders>mySecondStakeholder</stakeHolders>
+    <concerns>firstConcerns</concerns>
+    <concerns>secondConcerns</concerns>
+    <languages>C</languages>
+    <languages>OCL</languages>
+    <languages>C++</languages>
+    <methods>firstMethod()</methods>
+    <methods>secondMethod()</methods>
+  </ModelElements:ViewPoint>
+  <Constraints:ConstraintProperty xmi:id="_-UU00PnoEeauDtoDZwIqjw" base_Property="_-T26wPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" isConjugated="true" direction="out"/>
+  <PortAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Requirements:RequirementRelated xmi:id="_ToNpMPnpEeauDtoDZwIqjw" base_NamedElement="_SkgwgPnpEeauDtoDZwIqjw"/>
+  <Allocations:Allocated xmi:id="_N9NYwPnqEeauDtoDZwIqjw" base_NamedElement="_NNLqAPnqEeauDtoDZwIqjw"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintProperty xmi:id="_O9SUQPpvEeaCyZKNPXLxEw" base_Property="_OuqpcPpvEeaCyZKNPXLxEw"/>
+  <Constraints:ConstraintBlock xmi:id="_O9TiYPpvEeaCyZKNPXLxEw" base_Class="_O9SUQfpvEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_Sa4cgPpvEeaCyZKNPXLxEw" base_Class="_Sa3OYPpvEeaCyZKNPXLxEw"/>
+  <Blocks:Block xmi:id="_S-1eIfpvEeaCyZKNPXLxEw" base_Class="_S-1eIPpvEeaCyZKNPXLxEw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_XHQFAPpvEeaCyZKNPXLxEw" propertyPath="_OuqpcPpvEeaCyZKNPXLxEw" base_ConnectorEnd="_XHPd8PpvEeaCyZKNPXLxEw"/>
+  <Blocks:BindingConnector xmi:id="_XHR6MPpvEeaCyZKNPXLxEw" base_Connector="_XHOP0PpvEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.notation
new file mode 100644
index 0000000..baee8a1
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.notation
@@ -0,0 +1,703 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_icBIYPpwEeaCyZKNPXLxEw" type="RequirementDiagram" name="New Requirements Diagram" measurementUnit="Pixel">
+  <children xmi:type="notation:Shape" xmi:id="_kMluIPpwEeaCyZKNPXLxEw" type="shape_sysml_requirement_as_classifier">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kNE2UPpwEeaCyZKNPXLxEw" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdYPpwEeaCyZKNPXLxEw" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdYfpwEeaCyZKNPXLxEw" key="StereotypeList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdYvpwEeaCyZKNPXLxEw" key="Stereotype_Presentation_Kind" value="Compartment"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdY_pwEeaCyZKNPXLxEw" key="PropStereoDisplay" value="SysML::Requirements::Requirement.id,SysML::Requirements::Requirement.text"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kNFdZPpwEeaCyZKNPXLxEw" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_kMm8QPpwEeaCyZKNPXLxEw" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMm8QfpwEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l81jwPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l81jwfpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMm8QvpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMm8Q_pwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMm8RPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMm8RfpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMm8RvpwEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l82K0PpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l82K0fpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMm8R_pwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMm8SPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMm8SfpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMm8SvpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMnjUPpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMnjUfpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMnjUvpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMnjU_pwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMnjVPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_kMnjVfpwEeaCyZKNPXLxEw" type="compartment_sysml_requirement_idinfo_as_list">
+      <children xmi:type="notation:DecorationNode" xmi:id="_kMnjWvpwEeaCyZKNPXLxEw" type="label_sysml_requirement_id"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_kMnjW_pwEeaCyZKNPXLxEw" type="label_sysml_requirement_text"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_kMnjVvpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_kMnjV_pwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_kMnjWPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMnjWfpwEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="RequirementDiagram.uml#_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kMluIfpwEeaCyZKNPXLxEw" x="130" y="87" width="159"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_kNY_YPpwEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_kNY_YfpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kNY_Y_pwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_kMeZYPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kNY_YvpwEeaCyZKNPXLxEw" x="330" y="87"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_nFo-4PpwEeaCyZKNPXLxEw" type="Comment_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nFo-4vpwEeaCyZKNPXLxEw" type="Comment_BodyLabel"/>
+    <element xmi:type="uml:Comment" href="RequirementDiagram.uml#_nFktcPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nFo-4fpwEeaCyZKNPXLxEw" x="597" y="54"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_nWWUYPpwEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_nWW7cPpwEeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_nWW7cfpwEeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:Constraint" href="RequirementDiagram.uml#_nWKuMPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_nWWUYfpwEeaCyZKNPXLxEw" x="581" y="155"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_qKUQ0PpwEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_qKU34PpwEeaCyZKNPXLxEw" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qKU34fpwEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rJ6soPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rJ7TsPpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+      </eAnnotations>
+      <children xmi:type="notation:Shape" xmi:id="_rkJKgPpwEeaCyZKNPXLxEw" type="Class_Shape_CN">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_rmBZ0PpwEeaCyZKNPXLxEw" source="Stereotype_Annotation">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmBZ1vpwEeaCyZKNPXLxEw" key="StereotypeWithQualifiedNameList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmBZ1_pwEeaCyZKNPXLxEw" key="StereotypeList" value=""/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmBZ2PpwEeaCyZKNPXLxEw" key="Stereotype_Presentation_Kind" value="Compartment"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmBZ2fpwEeaCyZKNPXLxEw" key="PropStereoDisplay" value="SysML::Requirements::Requirement.id,SysML::Requirements::Requirement.text"/>
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_rmCA4PpwEeaCyZKNPXLxEw" key="StereotypePropertyLocation" value="Compartment"/>
+        </eAnnotations>
+        <children xmi:type="notation:DecorationNode" xmi:id="_rkJKgvpwEeaCyZKNPXLxEw" type="Class_NameLabel_CN"/>
+        <children xmi:type="notation:DecorationNode" xmi:id="_rkJKg_pwEeaCyZKNPXLxEw" type="Class_FloatingNameLabel_CN">
+          <layoutConstraint xmi:type="notation:Location" xmi:id="_rkJKhPpwEeaCyZKNPXLxEw" y="15"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_rkJKhfpwEeaCyZKNPXLxEw" type="Class_AttributeCompartment_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tCZ4QPpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tCZ4QfpwEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_rkJKhvpwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_rkJKh_pwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_rkJKiPpwEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkJKifpwEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_rkJxkPpwEeaCyZKNPXLxEw" type="Class_OperationCompartment_CN">
+          <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_tCZ4QvpwEeaCyZKNPXLxEw" source="PapyrusCSSForceValue">
+            <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_tCZ4Q_pwEeaCyZKNPXLxEw" key="visible" value="true"/>
+          </eAnnotations>
+          <styles xmi:type="notation:TitleStyle" xmi:id="_rkJxkfpwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_rkJxkvpwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_rkJxk_pwEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkJxlPpwEeaCyZKNPXLxEw"/>
+        </children>
+        <children xmi:type="notation:BasicCompartment" xmi:id="_rkJxlfpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment_CN">
+          <styles xmi:type="notation:TitleStyle" xmi:id="_rkJxlvpwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:SortingStyle" xmi:id="_rkJxl_pwEeaCyZKNPXLxEw"/>
+          <styles xmi:type="notation:FilteringStyle" xmi:id="_rkJxmPpwEeaCyZKNPXLxEw"/>
+          <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkJxmfpwEeaCyZKNPXLxEw"/>
+        </children>
+        <element xmi:type="uml:Class" href="RequirementDiagram.uml#_rjzMQPpwEeaCyZKNPXLxEw"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rkJKgfpwEeaCyZKNPXLxEw" x="34" y="31" width="204" height="360"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_rnFJwvpwEeaCyZKNPXLxEw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_rnFJw_pwEeaCyZKNPXLxEw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_rnFJxfpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_rjzMQPpwEeaCyZKNPXLxEw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_rnFJxPpwEeaCyZKNPXLxEw" x="234" y="31"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_vNB8w_pwEeaCyZKNPXLxEw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_vNB8xPpwEeaCyZKNPXLxEw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_vNB8xvpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_vJqfsPpwEeaCyZKNPXLxEw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vNB8xfpwEeaCyZKNPXLxEw" x="100" y="100"/>
+      </children>
+      <children xmi:type="notation:Shape" xmi:id="_wp7YkPpwEeaCyZKNPXLxEw" type="StereotypeComment">
+        <styles xmi:type="notation:TitleStyle" xmi:id="_wp7YkfpwEeaCyZKNPXLxEw"/>
+        <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wp7Yk_pwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+          <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_wm_ZUPpwEeaCyZKNPXLxEw"/>
+        </styles>
+        <element xsi:nil="true"/>
+        <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wp7YkvpwEeaCyZKNPXLxEw" x="100" y="100"/>
+      </children>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qKU34vpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKU34_pwEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Package" href="RequirementDiagram.uml#_qKTpwPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qKUQ0fpwEeaCyZKNPXLxEw" x="807" y="50" width="325" height="518"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_wSkBcPpwEeaCyZKNPXLxEw" type="shape_sysml_requirement_as_classifier">
+    <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_wTa9EPpwEeaCyZKNPXLxEw" source="Stereotype_Annotation">
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9FvpwEeaCyZKNPXLxEw" key="StereotypeWithQualifiedNameList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9F_pwEeaCyZKNPXLxEw" key="StereotypeList" value=""/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9GPpwEeaCyZKNPXLxEw" key="Stereotype_Presentation_Kind" value="Compartment"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9GfpwEeaCyZKNPXLxEw" key="PropStereoDisplay" value="SysML::Requirements::Requirement.id,SysML::Requirements::Requirement.text"/>
+      <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_wTa9GvpwEeaCyZKNPXLxEw" key="StereotypePropertyLocation" value="Compartment"/>
+    </eAnnotations>
+    <children xmi:type="notation:DecorationNode" xmi:id="_wSkBcvpwEeaCyZKNPXLxEw" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wSkBc_pwEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wSkBdPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wSkBdfpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wSkBdvpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBd_pwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wSkBePpwEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wSkBefpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wSkBevpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wSkBe_pwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBfPpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wSkBffpwEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wSkBfvpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wSkBf_pwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wSkBgPpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBgfpwEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_wSkBgvpwEeaCyZKNPXLxEw" type="compartment_sysml_requirement_idinfo_as_list">
+      <children xmi:type="notation:DecorationNode" xmi:id="_wSkBh_pwEeaCyZKNPXLxEw" type="label_sysml_requirement_id"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_wSkBiPpwEeaCyZKNPXLxEw" type="label_sysml_requirement_text"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_wSkBg_pwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_wSkBhPpwEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_wSkBhfpwEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBhvpwEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="RequirementDiagram.uml#_wSizUPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wSkBcfpwEeaCyZKNPXLxEw" x="446" y="480"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_wUWxNvpwEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_wUWxN_pwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wUXYQPpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_wSizUPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wUWxOPpwEeaCyZKNPXLxEw" x="611" y="501"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_xHZ-wPpwEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_xHZ-wfpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_xHZ-w_pwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_xE4PMPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xHZ-wvpwEeaCyZKNPXLxEw" x="611" y="401"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_ydwGo_pwEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_ydwGpPpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ydwGpvpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_ybNwAPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ydwGpfpwEeaCyZKNPXLxEw" x="611" y="401"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_8Y_AsPpwEeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_8Y_AsvpwEeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Component" href="RequirementDiagram.uml#_8DG3UPpwEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8Y_AsfpwEeaCyZKNPXLxEw" x="104" y="531"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_EV_TgPpxEeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_EV_TgvpxEeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Component" href="RequirementDiagram.uml#_C-qUMPpxEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_EV_TgfpxEeaCyZKNPXLxEw" x="42" y="612"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_n-F-8PpyEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_n-F-8vpyEeaCyZKNPXLxEw" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_n-F-8_pyEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_n-F-9PpyEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n-F-9fpyEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Model" href="RequirementDiagram.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_n-F-8fpyEeaCyZKNPXLxEw" x="351" y="24"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CNec8PpzEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CNec8vpzEeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CNec8_pzEeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:DurationConstraint" href="RequirementDiagram.uml#_-Kw1cPpyEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CNec8fpzEeaCyZKNPXLxEw" x="1272" y="266"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_COzSoPpzEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_COz5sPpzEeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_COz5sfpzEeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:InteractionConstraint" href="RequirementDiagram.uml#__QZn0PpyEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_COzSofpzEeaCyZKNPXLxEw" x="1219" y="132"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CP6s8PpzEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CP7UAPpzEeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CP7UAfpzEeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:IntervalConstraint" href="RequirementDiagram.uml#_Ai05APpzEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CP6s8fpzEeaCyZKNPXLxEw" x="33" y="440"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_CRG_wPpzEeaCyZKNPXLxEw" type="Constraint_PackagedElementShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_CRG_wvpzEeaCyZKNPXLxEw" type="Constraint_NameLabel"/>
+    <children xmi:type="notation:DecorationNode" xmi:id="_CRG_w_pzEeaCyZKNPXLxEw" type="Constraint_BodyLabel"/>
+    <element xmi:type="uml:TimeConstraint" href="RequirementDiagram.uml#_BW9rsPpzEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CRG_wfpzEeaCyZKNPXLxEw" x="1260" y="417"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_L0Z68PpzEeaCyZKNPXLxEw" type="shape_sysml_requirement_as_classifier">
+    <children xmi:type="notation:DecorationNode" xmi:id="_L0Z68vpzEeaCyZKNPXLxEw" type="Class_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_L0Z68_pzEeaCyZKNPXLxEw" type="Class_AttributeCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_L0Z69PpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_L0Z69fpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_L0Z69vpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z69_pzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_L0Z6-PpzEeaCyZKNPXLxEw" type="Class_OperationCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_L0Z6-fpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_L0Z6-vpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_L0Z6-_pzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z6_PpzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_L0Z6_fpzEeaCyZKNPXLxEw" type="Class_NestedClassifierCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_L0Z6_vpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_L0Z6__pzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_L0Z7APpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z7AfpzEeaCyZKNPXLxEw"/>
+    </children>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_L0Z7AvpzEeaCyZKNPXLxEw" type="compartment_sysml_requirement_idinfo_as_list">
+      <children xmi:type="notation:DecorationNode" xmi:id="_L0Z7B_pzEeaCyZKNPXLxEw" type="label_sysml_requirement_id"/>
+      <children xmi:type="notation:DecorationNode" xmi:id="_L0aiAPpzEeaCyZKNPXLxEw" type="label_sysml_requirement_text"/>
+      <styles xmi:type="notation:TitleStyle" xmi:id="_L0Z7A_pzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:SortingStyle" xmi:id="_L0Z7BPpzEeaCyZKNPXLxEw"/>
+      <styles xmi:type="notation:FilteringStyle" xmi:id="_L0Z7BfpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z7BvpzEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Class" href="RequirementDiagram.uml#_VJttoPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0Z68fpzEeaCyZKNPXLxEw" x="414" y="681"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_L0mIM_pzEeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_L0mINPpzEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_L0mINvpzEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_VJttoPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_L0mINfpzEeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_R7hqMPpzEeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_R7iRQPpzEeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Interface" href="RequirementDiagram.uml#_O9-7APpzEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_R7hqMfpzEeaCyZKNPXLxEw" x="646" y="743"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_qGPhwPpzEeaCyZKNPXLxEw" type="Package_Shape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_qGQI0PpzEeaCyZKNPXLxEw" type="Package_NameLabel"/>
+    <children xmi:type="notation:BasicCompartment" xmi:id="_qGQI0fpzEeaCyZKNPXLxEw" type="Package_PackagedElementCompartment">
+      <styles xmi:type="notation:TitleStyle" xmi:id="_qGQI0vpzEeaCyZKNPXLxEw"/>
+      <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qGQI0_pzEeaCyZKNPXLxEw"/>
+    </children>
+    <element xmi:type="uml:Profile" href="RequirementDiagram.uml#_pyam0PpzEeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qGPhwfpzEeaCyZKNPXLxEw" x="1248" y="526"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_yURg4Pp4EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_yUSH8Pp4EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Component" href="RequirementDiagram.uml#_u3G2cPp4EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yURg4fp4EeaCyZKNPXLxEw" x="91" y="19"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_M744sPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_M75fwPp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Node" href="RequirementDiagram.uml#_JNUVMPp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M744sfp5EeaCyZKNPXLxEw" x="37" y="719"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_M9iegPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_M9iegvp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:DeploymentSpecification" href="RequirementDiagram.uml#_KYFfMPp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_M9iegfp5EeaCyZKNPXLxEw" x="204" y="754"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_YzkRUPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_Yzk4YPp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Activity" href="RequirementDiagram.uml#_XuXj0Pp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_YzkRUfp5EeaCyZKNPXLxEw" x="1055" y="673"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_eTCKsPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_eTCxwPp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:AssociationClass" href="RequirementDiagram.uml#_cLkH4Pp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eTCKsfp5EeaCyZKNPXLxEw" x="767" y="612"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_m7-WcPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_m7-Wcvp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Association" href="RequirementDiagram.uml#_mltykPp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_m7-Wcfp5EeaCyZKNPXLxEw" x="277" y="584"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_t3q9QPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_t3rkUPp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:DataType" href="RequirementDiagram.uml#_tkrv0Pp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_t3q9Qfp5EeaCyZKNPXLxEw" x="834" y="717"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_vxHyMPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vxIZQPp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:DurationObservation" href="RequirementDiagram.uml#_vZCCUPp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_vxHyMfp5EeaCyZKNPXLxEw" x="1234" y="681"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_xKYrMPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_xKYrMvp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Enumeration" href="RequirementDiagram.uml#_w3Gi0Pp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xKYrMfp5EeaCyZKNPXLxEw" x="1450" y="672"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_66qScPp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_66qScvp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:InformationFlow" href="RequirementDiagram.uml#_brVAgPnoEeauDtoDZwIqjw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_66qScfp5EeaCyZKNPXLxEw" x="1445" y="103"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_663Gw_p5EeaCyZKNPXLxEw" type="StereotypeComment">
+    <styles xmi:type="notation:TitleStyle" xmi:id="_663GxPp5EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_663t0Pp5EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:InformationFlow" href="RequirementDiagram.uml#_brVAgPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_663Gxfp5EeaCyZKNPXLxEw" x="200"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_9ZRC4Pp5EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_9ZRC4vp5EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:InformationFlow" href="RequirementDiagram.uml#_9DZgkPp5EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9ZRC4fp5EeaCyZKNPXLxEw" x="1283" y="29"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_DS9aIPp6EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_DS-BMPp6EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:PrimitiveType" href="RequirementDiagram.uml#_C-KO0Pp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DS9aIfp6EeaCyZKNPXLxEw" x="1455" y="205"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_FHCm4Pp6EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_FHCm4vp6EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:Signal" href="RequirementDiagram.uml#_Ez8rwPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FHCm4fp6EeaCyZKNPXLxEw" x="1198" y="780"/>
+  </children>
+  <children xmi:type="notation:Shape" xmi:id="_GtAfIPp6EeaCyZKNPXLxEw" type="NamedElement_DefaultShape">
+    <children xmi:type="notation:DecorationNode" xmi:id="_GtBGMPp6EeaCyZKNPXLxEw" type="NamedElement_NameLabel"/>
+    <element xmi:type="uml:TimeObservation" href="RequirementDiagram.uml#_GaLpwPp6EeaCyZKNPXLxEw"/>
+    <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GtAfIfp6EeaCyZKNPXLxEw" x="1478" y="410"/>
+  </children>
+  <styles xmi:type="notation:DiagramStyle" xmi:id="_icBIYfpwEeaCyZKNPXLxEw"/>
+  <styles xmi:type="style:PapyrusViewStyle" xmi:id="_icBIYvpwEeaCyZKNPXLxEw">
+    <owner xmi:type="uml:Model" href="RequirementDiagram.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  </styles>
+  <styles xmi:type="notation:StringValueStyle" xmi:id="_iciFwPpwEeaCyZKNPXLxEw" name="diagram_compatibility_version" stringValue="1.2.0"/>
+  <element xmi:type="uml:Model" href="RequirementDiagram.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <edges xmi:type="notation:Connector" xmi:id="_jiUCF_pwEeaCyZKNPXLxEw" type="StereotypeCommentLink">
+    <styles xmi:type="notation:FontStyle" xmi:id="_jiUCGPpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_jiUCHPpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_VJttoPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_jiUCGfpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jiUCGvpwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jiUCG_pwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_kNY_ZPpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_kMluIPpwEeaCyZKNPXLxEw" target="_kNY_YPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_kNY_ZfpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kNY_afpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_kMeZYPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kNY_ZvpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kNY_Z_pwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kNY_aPpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_osqnEPpwEeaCyZKNPXLxEw" type="Dependency_Edge" source="_nWWUYPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_osqnE_pwEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_osqnFPpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_osqnFfpwEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_osqnFvpwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_osqnEfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Dependency" href="RequirementDiagram.uml#_osox4PpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_osqnEvpwEeaCyZKNPXLxEw" points="[-36, 5, 336, -52]$[-328, 39, 44, -18]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouCgEPpwEeaCyZKNPXLxEw" id="(0.0,0.5666666666666667)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ouCgEfpwEeaCyZKNPXLxEw" id="(1.0,0.4375)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_pKqKoPpwEeaCyZKNPXLxEw" type="Comment_AnnotatedElementEdge" source="_nFo-4PpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_pKqKofpwEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pKqKovpwEeaCyZKNPXLxEw" points="[-74, 10, 364, -52]$[-422, -8, 16, -70]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pLtTgPpwEeaCyZKNPXLxEw" id="(0.0,0.85)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pLtTgfpwEeaCyZKNPXLxEw" id="(1.0,0.18452380952380953)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_rnFJxvpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_rnFJwvpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_rnFJx_pwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_rnFJy_pwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_rjzMQPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rnFJyPpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rnFJyfpwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rnFJyvpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vKF9gPpwEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vKGkkPpwEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vKGkkfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vKGkkvpwEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vKGkk_pwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vKF9gfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_vJqfsPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vKF9gvpwEeaCyZKNPXLxEw" points="[-52, -8, 574, 83]$[-610, -85, 16, 6]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vMBQIPpwEeaCyZKNPXLxEw" id="(0.0,0.6694444444444444)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vMBQIfpwEeaCyZKNPXLxEw" id="(1.0,0.5803571428571429)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vNCj0PpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_vKF9gPpwEeaCyZKNPXLxEw" target="_vNB8w_pwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_vNCj0fpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_vNCj1fpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_vJqfsPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vNCj0vpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vNCj0_pwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vNCj1PpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_vmQ8IPpwEeaCyZKNPXLxEw" type="Realization_Edge" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_vmQ8I_pwEeaCyZKNPXLxEw" type="Realization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vmQ8JPpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_vmQ8JfpwEeaCyZKNPXLxEw" type="Realization_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_vmQ8JvpwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_vmQ8IfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Realization" href="RequirementDiagram.uml#_vlwl0PpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vmQ8IvpwEeaCyZKNPXLxEw" points="[-51, -8, 604, 87]$[-624, -13, 31, 82]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vnrRYPpwEeaCyZKNPXLxEw" id="(0.0,0.85)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vnrRYfpwEeaCyZKNPXLxEw" id="(1.0,0.7738095238095238)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_wUXYQfpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_wSkBcPpwEeaCyZKNPXLxEw" target="_wUWxNvpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_wUXYQvpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wUXYRvpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_wSizUPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wUXYQ_pwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wUXYRPpwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wUXYRfpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_wnaQEPpwEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_wSkBcPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_wnaQE_pwEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_wnaQFPpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_wnaQFfpwEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_wnaQFvpwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_wnaQEfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_wm_ZUPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wnaQEvpwEeaCyZKNPXLxEw" points="[-31, 9, 383, -119]$[-405, 166, 9, 38]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wo1zcPpwEeaCyZKNPXLxEw" id="(0.0,0.8944444444444445)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wo1zcfpwEeaCyZKNPXLxEw" id="(1.0,0.47)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_wp7YlPpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_wnaQEPpwEeaCyZKNPXLxEw" target="_wp7YkPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_wp7YlfpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_wp7_oPpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_wm_ZUPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_wp7YlvpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wp7Yl_pwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wp7YmPpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_xE6EYPpwEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_wSkBcPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_xE6rcPpwEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_xE6rcfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_xE6rcvpwEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_xE7SgPpwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_xE6EYfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_xE4PMPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xE6EYvpwEeaCyZKNPXLxEw" points="[-67, -44, 200, 131]$[-267, -126, 0, 49]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xGbuYPpwEeaCyZKNPXLxEw" id="(0.0,0.04)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xGbuYfpwEeaCyZKNPXLxEw" id="(0.9748427672955975,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_xHZ-xPpwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_xE6EYPpwEeaCyZKNPXLxEw" target="_xHZ-wPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_xHZ-xfpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_xHZ-yfpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_xE4PMPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xHZ-xvpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xHZ-x_pwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xHZ-yPpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ybQMQPpwEeaCyZKNPXLxEw" type="Abstraction_Edge" source="_wSkBcPpwEeaCyZKNPXLxEw" target="_rkJKgPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_ybQzUPpwEeaCyZKNPXLxEw" type="Abstraction_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ybQzUfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_ybQzUvpwEeaCyZKNPXLxEw" type="Abstraction_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_ybQzU_pwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ybQMQfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_ybNwAPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ybQMQvpwEeaCyZKNPXLxEw" points="[26, -8, -414, 126]$[435, -104, -5, 30]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yczrcPpwEeaCyZKNPXLxEw" id="(1.0,0.77)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yczrcfpwEeaCyZKNPXLxEw" id="(0.0,0.9805555555555555)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ydwGp_pwEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_ybQMQPpwEeaCyZKNPXLxEw" target="_ydwGo_pwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_ydwGqPpwEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ydwtsvpwEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Abstraction" href="RequirementDiagram.uml#_ybNwAPpwEeaCyZKNPXLxEw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ydwGqfpwEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ydwtsPpwEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ydwtsfpwEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_zX6BwPpwEeaCyZKNPXLxEw" type="Element_ContainmentEdge" source="_rkJKgPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_zX6BwfpwEeaCyZKNPXLxEw"/>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_zX6BwvpwEeaCyZKNPXLxEw" points="[-122, -6, 607, 29]$[-680, -48, 49, -13]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zZbrwPpwEeaCyZKNPXLxEw" id="(0.0,0.42777777777777776)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zZbrwfpwEeaCyZKNPXLxEw" id="(1.0,0.48214285714285715)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_3oiwgPpwEeaCyZKNPXLxEw" type="PackageImport_Edge" source="_qKUQ0PpwEeaCyZKNPXLxEw" target="_qKUQ0PpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_3ojXkPpwEeaCyZKNPXLxEw" type="PackageImport_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_3ojXkfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_3oiwgfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:PackageImport" href="RequirementDiagram.uml#_3oDBQPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3oiwgvpwEeaCyZKNPXLxEw" points="[221, 19, 143, 12]$[202, 111, 124, 104]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3qTEAPpwEeaCyZKNPXLxEw" id="(1.0,0.5)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3qTEAfpwEeaCyZKNPXLxEw" id="(0.5,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_5Gt-sPpwEeaCyZKNPXLxEw" type="Realization_Edge" source="_wSkBcPpwEeaCyZKNPXLxEw" target="_kMluIPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_5GulwPpwEeaCyZKNPXLxEw" type="Realization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5GulwfpwEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_5GulwvpwEeaCyZKNPXLxEw" type="Realization_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_5Gulw_pwEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_5Gt-sfpwEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Realization" href="RequirementDiagram.uml#_5GsJgPpwEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5Gt-svpwEeaCyZKNPXLxEw" points="[-49, -33, 199, 130]$[-248, -140, 0, 23]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5IYyoPpwEeaCyZKNPXLxEw" id="(0.0,0.29)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5IYyofpwEeaCyZKNPXLxEw" id="(0.7295597484276729,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_EW9j4PpxEeaCyZKNPXLxEw" type="Realization_Edge" source="_8Y_AsPpwEeaCyZKNPXLxEw" target="_EV_TgPpxEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_EW-K8PpxEeaCyZKNPXLxEw" type="Realization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EW-K8fpxEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_EW-K8vpxEeaCyZKNPXLxEw" type="Realization_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_EW-K8_pxEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_EW9j4fpxEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:ComponentRealization" href="RequirementDiagram.uml#_D_iiYPpxEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_EW9j4vpxEeaCyZKNPXLxEw" points="[-7, -25, 147, 531]$[-154, -556, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wpDHcPpzEeaCyZKNPXLxEw" id="(0.3,1.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_wpDugPpzEeaCyZKNPXLxEw" id="(0.68,0.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_uZ92MPpyEeaCyZKNPXLxEw" type="PackageMerge_Edge" source="_n-F-8PpyEeaCyZKNPXLxEw" target="_qKUQ0PpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_uZ92M_pyEeaCyZKNPXLxEw" type="PackageMerge_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_uZ92NPpyEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_uZ92MfpyEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:PackageMerge" href="RequirementDiagram.uml#_s0oQEPpyEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_uZ92MvpyEeaCyZKNPXLxEw" points="[100, 34, -584, -201]$[356, 122, -328, -113]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_L0mIN_pzEeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_L0mIM_pzEeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_L0mIOPpzEeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_L0mIPPpzEeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:Class" href="RequirementDiagram.uml#_VJttoPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L0mIOfpzEeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L0mIOvpzEeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L0mIO_pzEeaCyZKNPXLxEw"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_MNl3APpzEeaCyZKNPXLxEw" type="Generalization_Edge" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_wSkBcPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_MNl3A_pzEeaCyZKNPXLxEw" type="Generalization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_MNl3BPpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_MNl3AfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Generalization" href="RequirementDiagram.uml#_JeLDYPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_MNl3AvpzEeaCyZKNPXLxEw" points="[-50, -25, 179, 86]$[-179, -87, 50, 24]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MckHIPpzEeaCyZKNPXLxEw" id="(0.18,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MckHIfpzEeaCyZKNPXLxEw" id="(0.81,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_R8q5sPpzEeaCyZKNPXLxEw" type="Realization_Edge" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_R7hqMPpzEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_R8rgwPpzEeaCyZKNPXLxEw" type="Realization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_R8rgwfpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_R8rgwvpzEeaCyZKNPXLxEw" type="Realization_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_R8rgw_pzEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_R8q5sfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:InterfaceRealization" href="RequirementDiagram.uml#_RSmpAPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_R8q5svpzEeaCyZKNPXLxEw" points="[-50, -50, 571, 582]$[-621, -632, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SRqSQPpzEeaCyZKNPXLxEw" id="(1.0,0.17)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SRq5UPpzEeaCyZKNPXLxEw" id="(0.0,0.68)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_aB8-wPpzEeaCyZKNPXLxEw" type="Dependency_Edge" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_rkJKgPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_aB9l0PpzEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_aB9l0fpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_aB9l0vpzEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_aB9l0_pzEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_aB8-wfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Usage" href="RequirementDiagram.uml#_ZvsKEPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_aB8-wvpzEeaCyZKNPXLxEw" points="[50, -51, -278, 279]$[226, -228, -102, 102]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w0oFUvpzEeaCyZKNPXLxEw" id="(1.0,0.05)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w0oFU_pzEeaCyZKNPXLxEw" id="(0.0,0.75)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_npwRMPpzEeaCyZKNPXLxEw" type="Dependency_Edge" source="_L0Z68PpzEeaCyZKNPXLxEw" target="_wSkBcPpwEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_npwRM_pzEeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_npwRNPpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_npwRNfpzEeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_npwRNvpzEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_npwRMfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Manifestation" href="RequirementDiagram.uml#_nVmmIPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_npwRMvpzEeaCyZKNPXLxEw" points="[-50, 8, 110, 89]$[-105, 18, 55, 99]$[-133, -31, 27, 50]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w0oFUPpzEeaCyZKNPXLxEw" id="(0.08,0.0)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_w0oFUfpzEeaCyZKNPXLxEw" id="(0.5,1.0)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_ygz6UPpzEeaCyZKNPXLxEw" type="Realization_Edge" source="_kMluIPpwEeaCyZKNPXLxEw" target="_L0Z68PpzEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_yg0hYPpzEeaCyZKNPXLxEw" type="Realization_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yg0hYfpzEeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_yg0hYvpzEeaCyZKNPXLxEw" type="Realization_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_yg0hY_pzEeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_ygz6UfpzEeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Substitution" href="RequirementDiagram.uml#_v9N8MPpzEeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ygz6UvpzEeaCyZKNPXLxEw" points="[80, 146, -175, -323]$[227, 419, -28, -50]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_0RCvkPp4EeaCyZKNPXLxEw" type="TemplateBinding_Edge" source="_yURg4Pp4EeaCyZKNPXLxEw" target="_n-F-8PpyEeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_0RDWoPp4EeaCyZKNPXLxEw" type="TemplateBinding_SubstitutionLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_0RDWofp4EeaCyZKNPXLxEw" x="-75" y="-16"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_0RDWovp4EeaCyZKNPXLxEw" type="TemplateBinding_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_0RDWo_p4EeaCyZKNPXLxEw" y="20"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_0RCvkfp4EeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:TemplateBinding" href="RequirementDiagram.uml#_wFi_gPp4EeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0RCvkvp4EeaCyZKNPXLxEw" points="[50, 4, -260, -26]$[210, 20, -100, -10]"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_M_at0Pp5EeaCyZKNPXLxEw" type="Dependency_Edge" source="_M744sPp5EeaCyZKNPXLxEw" target="_M9iegPp5EeaCyZKNPXLxEw">
+    <children xmi:type="notation:DecorationNode" xmi:id="_M_at0_p5EeaCyZKNPXLxEw" type="Dependency_NameLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_M_at1Pp5EeaCyZKNPXLxEw" y="40"/>
+    </children>
+    <children xmi:type="notation:DecorationNode" xmi:id="_M_at1fp5EeaCyZKNPXLxEw" type="Dependency_StereotypeLabel">
+      <layoutConstraint xmi:type="notation:Location" xmi:id="_M_at1vp5EeaCyZKNPXLxEw" y="60"/>
+    </children>
+    <styles xmi:type="notation:FontStyle" xmi:id="_M_at0fp5EeaCyZKNPXLxEw"/>
+    <element xmi:type="uml:Deployment" href="RequirementDiagram.uml#_LMleQPp5EeaCyZKNPXLxEw"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_M_at0vp5EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NOXv0Pp5EeaCyZKNPXLxEw" id="(1.0,0.54)"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_NOXv0fp5EeaCyZKNPXLxEw" id="(0.0,0.5)"/>
+  </edges>
+  <edges xmi:type="notation:Connector" xmi:id="_663t0fp5EeaCyZKNPXLxEw" type="StereotypeCommentLink" source="_66qScPp5EeaCyZKNPXLxEw" target="_663Gw_p5EeaCyZKNPXLxEw">
+    <styles xmi:type="notation:FontStyle" xmi:id="_663t0vp5EeaCyZKNPXLxEw"/>
+    <styles xmi:type="notation:EObjectValueStyle" xmi:id="_663t1vp5EeaCyZKNPXLxEw" name="BASE_ELEMENT">
+      <eObjectValue xmi:type="uml:InformationFlow" href="RequirementDiagram.uml#_brVAgPnoEeauDtoDZwIqjw"/>
+    </styles>
+    <element xsi:nil="true"/>
+    <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_663t0_p5EeaCyZKNPXLxEw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_663t1Pp5EeaCyZKNPXLxEw"/>
+    <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_663t1fp5EeaCyZKNPXLxEw"/>
+  </edges>
+</notation:Diagram>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.uml
new file mode 100644
index 0000000..b80b1d1
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementDiagram/RequirementDiagram.uml
@@ -0,0 +1,261 @@
+<?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:Activities="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:Constraints="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" xmlns:ModelElements="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" xmlns:PortAndFlows="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/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/0.7.0/SysML/Activities http://www.eclipse.org/papyrus/0.7.0/SysML#//activities http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_nFktcPpwEeaCyZKNPXLxEw" annotatedElement="_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <ownedRule xmi:type="uml:DurationConstraint" xmi:id="_-Kw1cPpyEeaCyZKNPXLxEw" name="DurationConstraint1">
+      <specification xmi:type="uml:DurationInterval" xmi:id="_-KyDkPpyEeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedRule xmi:type="uml:InteractionConstraint" xmi:id="__QZn0PpyEeaCyZKNPXLxEw" name="InteractionConstraint1"/>
+    <ownedRule xmi:type="uml:IntervalConstraint" xmi:id="_Ai05APpzEeaCyZKNPXLxEw" name="IntervalConstraint1">
+      <specification xmi:type="uml:Interval" xmi:id="_Ai1gEPpzEeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedRule xmi:type="uml:TimeConstraint" xmi:id="_BW9rsPpzEeaCyZKNPXLxEw" name="TimeConstraint1">
+      <specification xmi:type="uml:TimeInterval" xmi:id="_BW-50PpzEeaCyZKNPXLxEw" name="constraintSpec"/>
+    </ownedRule>
+    <ownedTemplateSignature xmi:type="uml:TemplateSignature" xmi:id="_QI5ZgPp0EeaCyZKNPXLxEw" parameter="_Q5BO4Pp0EeaCyZKNPXLxEw _VJMqoPp0EeaCyZKNPXLxEw">
+      <ownedParameter xmi:type="uml:TemplateParameter" xmi:id="_Q5BO4Pp0EeaCyZKNPXLxEw"/>
+      <ownedParameter xmi:type="uml:ConnectableElementTemplateParameter" xmi:id="_VJMqoPp0EeaCyZKNPXLxEw"/>
+    </ownedTemplateSignature>
+    <packageMerge xmi:type="uml:PackageMerge" xmi:id="_s0oQEPpyEeaCyZKNPXLxEw" mergedPackage="_qKTpwPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1">
+      <generalization xmi:type="uml:Generalization" xmi:id="_JeLDYPpzEeaCyZKNPXLxEw" general="_wSizUPpwEeaCyZKNPXLxEw"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_cMLy8Pp5EeaCyZKNPXLxEw" name="requirement1" type="_rjzMQPpwEeaCyZKNPXLxEw" association="_cLkH4Pp5EeaCyZKNPXLxEw"/>
+      <interfaceRealization xmi:type="uml:InterfaceRealization" xmi:id="_RSmpAPpzEeaCyZKNPXLxEw" client="_VJttoPnoEeauDtoDZwIqjw" supplier="_O9-7APpzEeaCyZKNPXLxEw" contract="_O9-7APpzEeaCyZKNPXLxEw"/>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_Ix9EUPp4EeaCyZKNPXLxEw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_Jmp3sPp4EeaCyZKNPXLxEw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_MJSMgPp4EeaCyZKNPXLxEw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_Xbh_QPnoEeauDtoDZwIqjw" name="Conform1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_fIIekPnoEeauDtoDZwIqjw" name="View1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_osox4PpwEeaCyZKNPXLxEw" client="_nWKuMPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Constraint" xmi:id="_nWKuMPpwEeaCyZKNPXLxEw" name="Constraint1">
+      <specification xmi:type="uml:LiteralString" xmi:id="_nWLVQPpwEeaCyZKNPXLxEw" name="constraintSpec"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Package" xmi:id="_qKTpwPpwEeaCyZKNPXLxEw" name="Package1">
+      <packageImport xmi:type="uml:PackageImport" xmi:id="_3oDBQPpwEeaCyZKNPXLxEw" importedPackage="_qKTpwPpwEeaCyZKNPXLxEw"/>
+      <packagedElement xmi:type="uml:Class" xmi:id="_rjzMQPpwEeaCyZKNPXLxEw" name="Requirement1">
+        <nestedClassifier xmi:type="uml:Class" xmi:id="_kMeZYPpwEeaCyZKNPXLxEw" name="Requirement2">
+          <substitution xmi:type="uml:Substitution" xmi:id="_v9N8MPpzEeaCyZKNPXLxEw" client="_kMeZYPpwEeaCyZKNPXLxEw" supplier="_VJttoPnoEeauDtoDZwIqjw" contract="_VJttoPnoEeauDtoDZwIqjw"/>
+        </nestedClassifier>
+      </packagedElement>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_vJqfsPpwEeaCyZKNPXLxEw" name="Copy1" client="_rjzMQPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+      <packagedElement xmi:type="uml:Realization" xmi:id="_vlwl0PpwEeaCyZKNPXLxEw" client="_rjzMQPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+      <packagedElement xmi:type="uml:Abstraction" xmi:id="_wm_ZUPpwEeaCyZKNPXLxEw" name="Satisfy1" client="_rjzMQPpwEeaCyZKNPXLxEw" supplier="_wSizUPpwEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_wSizUPpwEeaCyZKNPXLxEw" name="Requirement3">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mluZovp5EeaCyZKNPXLxEw" name="component1" type="_8DG3UPpwEeaCyZKNPXLxEw" association="_mltykPp5EeaCyZKNPXLxEw"/>
+      <nestedClassifier xmi:type="uml:Association" xmi:id="_mltykPp5EeaCyZKNPXLxEw" memberEnd="_mluZovp5EeaCyZKNPXLxEw _mluZo_p5EeaCyZKNPXLxEw">
+        <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_mluZoPp5EeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+          <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_mluZofp5EeaCyZKNPXLxEw" key="nature" value="UML_Nature"/>
+        </eAnnotations>
+        <ownedEnd xmi:type="uml:Property" xmi:id="_mluZo_p5EeaCyZKNPXLxEw" name="requirement3" type="_wSizUPpwEeaCyZKNPXLxEw" association="_mltykPp5EeaCyZKNPXLxEw"/>
+      </nestedClassifier>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_xE4PMPpwEeaCyZKNPXLxEw" name="Verify2" client="_wSizUPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ybNwAPpwEeaCyZKNPXLxEw" name="DeriveReqt2" client="_wSizUPpwEeaCyZKNPXLxEw" supplier="_rjzMQPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Realization" xmi:id="_5GsJgPpwEeaCyZKNPXLxEw" client="_wSizUPpwEeaCyZKNPXLxEw" supplier="_kMeZYPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Component" xmi:id="_8DG3UPpwEeaCyZKNPXLxEw" name="Component1"/>
+    <packagedElement xmi:type="uml:Component" xmi:id="_C-qUMPpxEeaCyZKNPXLxEw" name="Component2">
+      <realization xmi:type="uml:ComponentRealization" xmi:id="_D_iiYPpxEeaCyZKNPXLxEw" client="_8DG3UPpwEeaCyZKNPXLxEw" supplier="_C-qUMPpxEeaCyZKNPXLxEw" realizingClassifier="_8DG3UPpwEeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_O9-7APpzEeaCyZKNPXLxEw" name="Interface1"/>
+    <packagedElement xmi:type="uml:Usage" xmi:id="_ZvsKEPpzEeaCyZKNPXLxEw" client="_VJttoPnoEeauDtoDZwIqjw" supplier="_rjzMQPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Manifestation" xmi:id="_nVmmIPpzEeaCyZKNPXLxEw" client="_VJttoPnoEeauDtoDZwIqjw" supplier="_wSizUPpwEeaCyZKNPXLxEw" utilizedElement="_wSizUPpwEeaCyZKNPXLxEw"/>
+    <packagedElement xmi:type="uml:Profile" xmi:id="_pyam0PpzEeaCyZKNPXLxEw" name="Profile1"/>
+    <packagedElement xmi:type="uml:Component" xmi:id="_u3G2cPp4EeaCyZKNPXLxEw" name="Component3">
+      <templateBinding xmi:type="uml:TemplateBinding" xmi:id="_wFi_gPp4EeaCyZKNPXLxEw" signature="_QI5ZgPp0EeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Node" xmi:id="_JNUVMPp5EeaCyZKNPXLxEw" name="Node1">
+      <deployment xmi:type="uml:Deployment" xmi:id="_LMleQPp5EeaCyZKNPXLxEw" client="_JNUVMPp5EeaCyZKNPXLxEw" supplier="_KYFfMPp5EeaCyZKNPXLxEw" deployedArtifact="_KYFfMPp5EeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DeploymentSpecification" xmi:id="_KYFfMPp5EeaCyZKNPXLxEw" name="DeploymentSpecification1"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_XuXj0Pp5EeaCyZKNPXLxEw" name="Activity2"/>
+    <packagedElement xmi:type="uml:AssociationClass" xmi:id="_cLkH4Pp5EeaCyZKNPXLxEw" name="AssociationClass1" memberEnd="_cMLy8Pp5EeaCyZKNPXLxEw _cMMaAPp5EeaCyZKNPXLxEw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_cMJ9wPp5EeaCyZKNPXLxEw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_cMKk0Pp5EeaCyZKNPXLxEw" key="nature" value="UML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_cMMaAPp5EeaCyZKNPXLxEw" name="requirement1" type="_VJttoPnoEeauDtoDZwIqjw" association="_cLkH4Pp5EeaCyZKNPXLxEw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_tkrv0Pp5EeaCyZKNPXLxEw" name="DataType1"/>
+    <packagedElement xmi:type="uml:DurationObservation" xmi:id="_vZCCUPp5EeaCyZKNPXLxEw" name="DurationObservation1"/>
+    <packagedElement xmi:type="uml:Enumeration" xmi:id="_w3Gi0Pp5EeaCyZKNPXLxEw" name="Enumeration1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_9DZgkPp5EeaCyZKNPXLxEw" informationSource="_brVAgPnoEeauDtoDZwIqjw" informationTarget="_m5FkYPkiEeavtrWHCQ8Tnw"/>
+    <packagedElement xmi:type="uml:PrimitiveType" xmi:id="_C-KO0Pp6EeaCyZKNPXLxEw" name="PrimitiveType1"/>
+    <packagedElement xmi:type="uml:Signal" xmi:id="_Ez8rwPp6EeaCyZKNPXLxEw" name="Signal1"/>
+    <packagedElement xmi:type="uml:TimeObservation" xmi:id="_GaLpwPp6EeaCyZKNPXLxEw" name="TimeObservation1"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvMF8PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvuRcPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvwGoPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvwGofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv53oPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv53ofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv6esPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7FwPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7FwfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0PkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7s0fkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0vkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv8T4PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv8T4fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv868fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868vkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv9iAPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv9iAfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv-JEfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEvkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+  </uml:Model>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_TIQzQPnoEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" text="MyText" id="MyIdentifier" base_Class="_VJttoPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Dependency="_Xbh_QPnoEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_X_-JEPnoEeauDtoDZwIqjw"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <Blocks:Dimension xmi:id="_aD8L8PnoEeauDtoDZwIqjw" base_InstanceSpecification="_aD36gPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:Unit xmi:id="_dSoVgPnoEeauDtoDZwIqjw" base_InstanceSpecification="_dSlSMPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" unit="_dSoVgPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Package="_fIIekPnoEeauDtoDZwIqjw"/>
+  <ModelElements:ViewPoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3">
+    <stakeHolders>myFirstStakeholder</stakeHolders>
+    <stakeHolders>mySecondStakeholder</stakeHolders>
+    <concerns>firstConcerns</concerns>
+    <concerns>secondConcerns</concerns>
+    <languages>C</languages>
+    <languages>OCL</languages>
+    <languages>C++</languages>
+    <methods>firstMethod()</methods>
+    <methods>secondMethod()</methods>
+  </ModelElements:ViewPoint>
+  <Constraints:ConstraintProperty xmi:id="_-UU00PnoEeauDtoDZwIqjw" base_Property="_-T26wPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" isConjugated="true" direction="out"/>
+  <PortAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Requirements:RequirementRelated xmi:id="_ToNpMPnpEeauDtoDZwIqjw" base_NamedElement="_SkgwgPnpEeauDtoDZwIqjw"/>
+  <Allocations:Allocated xmi:id="_N9NYwPnqEeauDtoDZwIqjw" base_NamedElement="_NNLqAPnqEeauDtoDZwIqjw"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_kNP1cPpwEeaCyZKNPXLxEw" base_Class="_kMeZYPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_rmkMYPpwEeaCyZKNPXLxEw" base_Class="_rjzMQPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Copy xmi:id="_vMgYUPpwEeaCyZKNPXLxEw" base_Abstraction="_vJqfsPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_wT6sUPpwEeaCyZKNPXLxEw" base_Class="_wSizUPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Satisfy xmi:id="_wpWw0PpwEeaCyZKNPXLxEw" base_Abstraction="_wm_ZUPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Verify xmi:id="_xG5BYPpwEeaCyZKNPXLxEw" base_Abstraction="_xE4PMPpwEeaCyZKNPXLxEw"/>
+  <Requirements:DeriveReqt xmi:id="_ydQ-cPpwEeaCyZKNPXLxEw" base_Abstraction="_ybNwAPpwEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.notation
new file mode 100644
index 0000000..2a159cd
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.notation
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<nattable:Table xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:configuration="http://www.eclipse.org/papyrus/infra/viewpoints/configuration" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:nattable="http://www.eclipse.org/papyrus/nattable/model" xmlns:nattableaxis="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis" xmlns:nattableaxisconfiguration="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration" xmlns:nattableaxisprovider="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider" xmlns:nattableconfiguration="http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/nattable/model/table/nattableaxis http://www.eclipse.org/papyrus/nattable/model#//nattableaxis http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableaxisconfiguration http://www.eclipse.org/papyrus/nattable/model/table/nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model#//nattableaxisprovider http://www.eclipse.org/papyrus/nattable/model/nattableconfiguration http://www.eclipse.org/papyrus/nattable/model#//nattableconfiguration" xmi:id="_Q0lXoPpwEeaCyZKNPXLxEw" name="RequirementTable0" currentRowAxisProvider="_Q0lXpfpwEeaCyZKNPXLxEw" currentColumnAxisProvider="_Q0lXofpwEeaCyZKNPXLxEw">
+  <context xmi:type="uml:Model" href="RequirementTable.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <owner xmi:type="uml:Model" href="RequirementTable.uml#_m5FkYPkiEeavtrWHCQ8Tnw"/>
+  <prototype xmi:type="configuration:PapyrusSyncTable" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirementTable.configuration#_lTE0gHDwEeWh-MssWmCB_A"/>
+  <tableConfiguration xmi:type="nattableconfiguration:TableConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#/"/>
+  <columnAxisProvidersHistory xmi:type="nattableaxisprovider:SlaveObjectAxisProvider" xmi:id="_Q0lXofpwEeaCyZKNPXLxEw" description="Provides the columns of the tables with a default configuration" name="Requirements Feature Columns Provider">
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_Q0lXovpwEeaCyZKNPXLxEw" element="property_of_stereotype:/SysML::Requirements::Requirement::id">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+    </axis>
+    <axis xmi:type="nattableaxis:EStructuralFeatureAxis" xmi:id="_Q0lXo_pwEeaCyZKNPXLxEw">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.0"/>
+      <element xmi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
+    </axis>
+    <axis xmi:type="nattableaxis:FeatureIdAxis" xmi:id="_Q0lXpPpwEeaCyZKNPXLxEw" element="property_of_stereotype:/SysML::Requirements::Requirement::text">
+      <manager xmi:type="nattableaxisconfiguration:AxisManagerRepresentation" href="platform:/plugin/org.eclipse.papyrus.sysml.nattable.requirement.config/configs/requirement.nattableconfiguration#//@columnHeaderAxisConfiguration/@axisManagers.1"/>
+    </axis>
+  </columnAxisProvidersHistory>
+  <rowAxisProvidersHistory xmi:type="nattableaxisprovider:MasterObjectAxisProvider" xmi:id="_Q0lXpfpwEeaCyZKNPXLxEw" description="Provides the requirements directly owned by the context of the table" name="Requirement Axis Provider" disconnectSlave="true"/>
+</nattable:Table>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.uml
new file mode 100644
index 0000000..d066a78
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/RequirementTable/RequirementTable.uml
@@ -0,0 +1,182 @@
+<?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:Activities="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:Constraints="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" xmlns:ModelElements="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" xmlns:PortAndFlows="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/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/0.7.0/SysML/Activities http://www.eclipse.org/papyrus/0.7.0/SysML#//activities http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_Xbh_QPnoEeauDtoDZwIqjw" name="Conform1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_fIIekPnoEeauDtoDZwIqjw" name="View1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_RvReQPpwEeaCyZKNPXLxEw" name="Requirement2"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SOX1EPpwEeaCyZKNPXLxEw" name="CopyOf_Requirement2_1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SQLy8PpwEeaCyZKNPXLxEw" name="CopyOf_Requirement2_2"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SVPSEPpwEeaCyZKNPXLxEw" name="CopyOf_Requirement2_3"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvMF8PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvuRcPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvwGoPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvwGofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv53oPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv53ofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv6esPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7FwPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7FwfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0PkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7s0fkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0vkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv8T4PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv8T4fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv868fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868vkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv9iAPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv9iAfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv-JEfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEvkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+  </uml:Model>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_TIQzQPnoEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" text="MyText" id="MyIdentifier" base_Class="_VJttoPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Dependency="_Xbh_QPnoEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_X_-JEPnoEeauDtoDZwIqjw"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <Blocks:Dimension xmi:id="_aD8L8PnoEeauDtoDZwIqjw" base_InstanceSpecification="_aD36gPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:Unit xmi:id="_dSoVgPnoEeauDtoDZwIqjw" base_InstanceSpecification="_dSlSMPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" unit="_dSoVgPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Package="_fIIekPnoEeauDtoDZwIqjw"/>
+  <ModelElements:ViewPoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3">
+    <stakeHolders>myFirstStakeholder</stakeHolders>
+    <stakeHolders>mySecondStakeholder</stakeHolders>
+    <concerns>firstConcerns</concerns>
+    <concerns>secondConcerns</concerns>
+    <languages>C</languages>
+    <languages>OCL</languages>
+    <languages>C++</languages>
+    <methods>firstMethod()</methods>
+    <methods>secondMethod()</methods>
+  </ModelElements:ViewPoint>
+  <Constraints:ConstraintProperty xmi:id="_-UU00PnoEeauDtoDZwIqjw" base_Property="_-T26wPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" isConjugated="true" direction="out"/>
+  <PortAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Requirements:RequirementRelated xmi:id="_ToNpMPnpEeauDtoDZwIqjw" base_NamedElement="_SkgwgPnpEeauDtoDZwIqjw"/>
+  <Allocations:Allocated xmi:id="_N9NYwPnqEeauDtoDZwIqjw" base_NamedElement="_NNLqAPnqEeauDtoDZwIqjw"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_RvT6gPpwEeaCyZKNPXLxEw" base_Class="_RvReQPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_SOZDMPpwEeaCyZKNPXLxEw" base_Class="_SOX1EPpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_SQMaAPpwEeaCyZKNPXLxEw" base_Class="_SQLy8PpwEeaCyZKNPXLxEw"/>
+  <Requirements:Requirement xmi:id="_SVP5IPpwEeaCyZKNPXLxEw" base_Class="_SVPSEPpwEeaCyZKNPXLxEw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.di b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.di
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.notation b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.notation
new file mode 100644
index 0000000..bf9abab
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.notation
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.uml b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.uml
new file mode 100644
index 0000000..ea01973
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/resources/InitialModels/Semantic/Semantic.uml
@@ -0,0 +1,174 @@
+<?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:Activities="http://www.eclipse.org/papyrus/0.7.0/SysML/Activities" xmlns:Allocations="http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations" xmlns:Blocks="http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks" xmlns:Constraints="http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints" xmlns:ModelElements="http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements" xmlns:PortAndFlows="http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows" xmlns:Requirements="http://www.eclipse.org/papyrus/0.7.0/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/0.7.0/SysML/Activities http://www.eclipse.org/papyrus/0.7.0/SysML#//activities http://www.eclipse.org/papyrus/0.7.0/SysML/Allocations http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations http://www.eclipse.org/papyrus/0.7.0/SysML/Blocks http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks http://www.eclipse.org/papyrus/0.7.0/SysML/Constraints http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints http://www.eclipse.org/papyrus/0.7.0/SysML/ModelElements http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements http://www.eclipse.org/papyrus/0.7.0/SysML/PortAndFlows http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows http://www.eclipse.org/papyrus/0.7.0/SysML/Requirements http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements">
+  <uml:Model xmi:id="_m5FkYPkiEeavtrWHCQ8Tnw" name="RootElement">
+    <ownedComment xmi:type="uml:Comment" xmi:id="_V8AtQPnoEeauDtoDZwIqjw"/>
+    <ownedComment xmi:type="uml:Comment" xmi:id="_cPVFcPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_TIQzQPnoEeauDtoDZwIqjw" name="Block1">
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_-T26wPnoEeauDtoDZwIqjw" name="constraintproperty1" aggregation="composite" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+      <ownedAttribute xmi:type="uml:Port" xmi:id="_EAr6sPnpEeauDtoDZwIqjw" name="flowport1" visibility="public" aggregation="composite"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_Jhpo4PnpEeauDtoDZwIqjw" name="flowproperty1"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_lLsRkPnqEeauDtoDZwIqjw" name="Attribute1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_mt1ZwPnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_1" visibility="public"/>
+      <ownedAttribute xmi:type="uml:Property" xmi:id="_myID4PnqEeauDtoDZwIqjw" name="CopyOf_Attribute1_2" visibility="public"/>
+      <ownedConnector xmi:type="uml:Connector" xmi:id="_Z_K5UPnrEeauDtoDZwIqjw" name="Connector1">
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_d0QPnrEeauDtoDZwIqjw" role="_Jhpo4PnpEeauDtoDZwIqjw"/>
+        <end xmi:type="uml:ConnectorEnd" xmi:id="_Z_ebUPnrEeauDtoDZwIqjw"/>
+      </ownedConnector>
+      <ownedOperation xmi:type="uml:Operation" xmi:id="_dVB3UPnqEeauDtoDZwIqjw" name="Operation1">
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_m0dwwPnrEeauDtoDZwIqjw" name="Parameter1" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oCaxoPnrEeauDtoDZwIqjw" name="Parameter2" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_oeJEUPnrEeauDtoDZwIqjw" name="Parameter3" visibility="public" effect="create"/>
+        <ownedParameter xmi:type="uml:Parameter" xmi:id="_qQhA4PnrEeauDtoDZwIqjw" name="Parameter4" visibility="public" effect="create"/>
+        <ownedParameterSet xmi:type="uml:ParameterSet" xmi:id="_JMeiwPnsEeauDtoDZwIqjw" name="ParameterSet1"/>
+      </ownedOperation>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_VJttoPnoEeauDtoDZwIqjw" name="Requirement1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_W4lqQPnoEeauDtoDZwIqjw" name="Allocate1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Dependency" xmi:id="_Xbh_QPnoEeauDtoDZwIqjw" name="Conform1" client="_TIQzQPnoEeauDtoDZwIqjw" supplier="_VJttoPnoEeauDtoDZwIqjw"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_X_-JEPnoEeauDtoDZwIqjw" name="ConstraintBlock1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZBoaYPnoEeauDtoDZwIqjw" name="Copy1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_ZhPHgPnoEeauDtoDZwIqjw" name="DeriveReqt1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_aD36gPnoEeauDtoDZwIqjw" name="Dimension1"/>
+    <packagedElement xmi:type="uml:Interface" xmi:id="_bIbu0PnoEeauDtoDZwIqjw" name="FlowSpecification1"/>
+    <packagedElement xmi:type="uml:InformationFlow" xmi:id="_brVAgPnoEeauDtoDZwIqjw" name="ItemFlow1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_c1j_APnoEeauDtoDZwIqjw" name="Satisfy1"/>
+    <packagedElement xmi:type="uml:InstanceSpecification" xmi:id="_dSlSMPnoEeauDtoDZwIqjw" name="Unit1"/>
+    <packagedElement xmi:type="uml:DataType" xmi:id="_eDMPwPnoEeauDtoDZwIqjw" name="ValueType1"/>
+    <packagedElement xmi:type="uml:Abstraction" xmi:id="_egM74PnoEeauDtoDZwIqjw" name="Verify1"/>
+    <packagedElement xmi:type="uml:Package" xmi:id="_fIIekPnoEeauDtoDZwIqjw" name="View1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_fiW8cPnoEeauDtoDZwIqjw" name="ViewPoint1"/>
+    <packagedElement xmi:type="uml:Association" xmi:id="_-Upk8PnoEeauDtoDZwIqjw" name="Association1" memberEnd="_-T26wPnoEeauDtoDZwIqjw _-Upk8_noEeauDtoDZwIqjw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-Upk8fnoEeauDtoDZwIqjw" source="org.eclipse.papyrus">
+        <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-Upk8vnoEeauDtoDZwIqjw" key="nature" value="SysML_Nature"/>
+      </eAnnotations>
+      <ownedEnd xmi:type="uml:Property" xmi:id="_-Upk8_noEeauDtoDZwIqjw" name="block1" type="_TIQzQPnoEeauDtoDZwIqjw" association="_-Upk8PnoEeauDtoDZwIqjw"/>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_SkgwgPnpEeauDtoDZwIqjw" name="Class1"/>
+    <packagedElement xmi:type="uml:Class" xmi:id="_NNLqAPnqEeauDtoDZwIqjw" name="Class2"/>
+    <packagedElement xmi:type="uml:Activity" xmi:id="_UmZ6UPnqEeauDtoDZwIqjw" name="Activity1" node="_EUSEwPnsEeauDtoDZwIqjw _GRUZMPnsEeauDtoDZwIqjw" group="_Vi5XwPnqEeauDtoDZwIqjw">
+      <group xmi:type="uml:ActivityPartition" xmi:id="_Vi5XwPnqEeauDtoDZwIqjw" name="ActivityPartition1"/>
+      <node xmi:type="uml:ActivityParameterNode" xmi:id="_EUSEwPnsEeauDtoDZwIqjw" name="ActivityParameterNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_EUkYoPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+      <node xmi:type="uml:CentralBufferNode" xmi:id="_GRUZMPnsEeauDtoDZwIqjw" name="CentralBufferNode1">
+        <upperBound xmi:type="uml:LiteralInteger" xmi:id="_GRVAQPnsEeauDtoDZwIqjw" value="1"/>
+      </node>
+    </packagedElement>
+    <packagedElement xmi:type="uml:Class" xmi:id="_A_V-sPnrEeauDtoDZwIqjw" name="Class3"/>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvMF8PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvuRcPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#/"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_TZ_nULU5EduiKqCzJMWbGw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nvwGoPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nvwGofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//modelelements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_Gx8MgLX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv53oPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv53ofkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//blocks"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_fSw28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv6esPkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7FwPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//portandflows"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_rpx28LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7FwfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0PkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//constraints"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_5WYJ0LX7EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv7s0fkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv7s0vkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//activities"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_C2zXMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv8T4PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv8T4fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//allocations"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_NxdG4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868PkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv868fkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//requirements"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_OOJC4LX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv868vkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv9iAPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//interactions"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_meOioLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv9iAfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEPkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//statemachines"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_nAF5kLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+    <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_nv-JEfkiEeavtrWHCQ8Tnw">
+      <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_nv-JEvkiEeavtrWHCQ8Tnw" source="http://www.eclipse.org/uml2/2.0.0/UML">
+        <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/0.7.0/SysML#//usecases"/>
+      </eAnnotations>
+      <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML_PROFILES/SysML.profile.uml#_neZmMLX8EduFmqQsrNB9lw"/>
+    </profileApplication>
+  </uml:Model>
+  <Blocks:Block xmi:id="_TI0M4PnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_TIQzQPnoEeauDtoDZwIqjw"/>
+  <Requirements:Requirement xmi:id="_VJ-zYPnoEeauDtoDZwIqjw" text="MyText" id="MyIdentifier" base_Class="_VJttoPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Rationale xmi:id="_V8OvsPnoEeauDtoDZwIqjw" base_Comment="_V8AtQPnoEeauDtoDZwIqjw"/>
+  <Allocations:Allocate xmi:id="_W4rw4PnoEeauDtoDZwIqjw" base_Abstraction="_W4lqQPnoEeauDtoDZwIqjw"/>
+  <ModelElements:Conform xmi:id="_Xbm3wPnoEeauDtoDZwIqjw" base_Dependency="_Xbh_QPnoEeauDtoDZwIqjw"/>
+  <Constraints:ConstraintBlock xmi:id="_YALkcPnoEeauDtoDZwIqjw" isEncapsulated="true" base_Class="_X_-JEPnoEeauDtoDZwIqjw"/>
+  <Requirements:Copy xmi:id="_ZBsr0PnoEeauDtoDZwIqjw" base_Abstraction="_ZBoaYPnoEeauDtoDZwIqjw"/>
+  <Requirements:DeriveReqt xmi:id="_ZhSx4PnoEeauDtoDZwIqjw" base_Abstraction="_ZhPHgPnoEeauDtoDZwIqjw"/>
+  <Blocks:Dimension xmi:id="_aD8L8PnoEeauDtoDZwIqjw" base_InstanceSpecification="_aD36gPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowSpecification xmi:id="_bIgAQPnoEeauDtoDZwIqjw" base_Interface="_bIbu0PnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:ItemFlow xmi:id="_brYq4PnoEeauDtoDZwIqjw" base_InformationFlow="_brVAgPnoEeauDtoDZwIqjw" itemProperty="_Jhpo4PnpEeauDtoDZwIqjw"/>
+  <ModelElements:Problem xmi:id="_cPZ98PnoEeauDtoDZwIqjw" base_Comment="_cPVFcPnoEeauDtoDZwIqjw"/>
+  <Requirements:Satisfy xmi:id="_c1npYPnoEeauDtoDZwIqjw" base_Abstraction="_c1j_APnoEeauDtoDZwIqjw"/>
+  <Blocks:Unit xmi:id="_dSoVgPnoEeauDtoDZwIqjw" base_InstanceSpecification="_dSlSMPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Blocks:ValueType xmi:id="_eDRIQPnoEeauDtoDZwIqjw" base_DataType="_eDMPwPnoEeauDtoDZwIqjw" unit="_dSoVgPnoEeauDtoDZwIqjw" dimension="_aD8L8PnoEeauDtoDZwIqjw"/>
+  <Requirements:Verify xmi:id="_egP_MPnoEeauDtoDZwIqjw" base_Abstraction="_egM74PnoEeauDtoDZwIqjw"/>
+  <ModelElements:View xmi:id="_fIPMQPnoEeauDtoDZwIqjw" base_Package="_fIIekPnoEeauDtoDZwIqjw"/>
+  <ModelElements:ViewPoint xmi:id="_fih7kPnoEeauDtoDZwIqjw" base_Class="_fiW8cPnoEeauDtoDZwIqjw" purpose="test1&#xD;&#xA;test2&#xD;&#xA;test3">
+    <stakeHolders>myFirstStakeholder</stakeHolders>
+    <stakeHolders>mySecondStakeholder</stakeHolders>
+    <concerns>firstConcerns</concerns>
+    <concerns>secondConcerns</concerns>
+    <languages>C</languages>
+    <languages>OCL</languages>
+    <languages>C++</languages>
+    <methods>firstMethod()</methods>
+    <methods>secondMethod()</methods>
+  </ModelElements:ViewPoint>
+  <Constraints:ConstraintProperty xmi:id="_-UU00PnoEeauDtoDZwIqjw" base_Property="_-T26wPnoEeauDtoDZwIqjw"/>
+  <PortAndFlows:FlowPort xmi:id="_EBZsYPnpEeauDtoDZwIqjw" base_Port="_EAr6sPnpEeauDtoDZwIqjw" isConjugated="true" direction="out"/>
+  <PortAndFlows:FlowProperty xmi:id="_Jh45cPnpEeauDtoDZwIqjw" base_Property="_Jhpo4PnpEeauDtoDZwIqjw" direction="out"/>
+  <Requirements:RequirementRelated xmi:id="_ToNpMPnpEeauDtoDZwIqjw" base_NamedElement="_SkgwgPnpEeauDtoDZwIqjw"/>
+  <Allocations:Allocated xmi:id="_N9NYwPnqEeauDtoDZwIqjw" base_NamedElement="_NNLqAPnqEeauDtoDZwIqjw"/>
+  <Allocations:AllocateActivityPartition xmi:id="_WOyNYPnqEeauDtoDZwIqjw" base_ActivityPartition="_Vi5XwPnqEeauDtoDZwIqjw"/>
+  <Requirements:TestCase xmi:id="_eCEjgPnqEeauDtoDZwIqjw" base_Operation="_dVB3UPnqEeauDtoDZwIqjw"/>
+  <Blocks:DistributedProperty xmi:id="_mPLH0PnqEeauDtoDZwIqjw" base_Property="_lLsRkPnqEeauDtoDZwIqjw"/>
+  <Blocks:ParticipantProperty xmi:id="_o40qoPnqEeauDtoDZwIqjw" base_Property="_mt1ZwPnqEeauDtoDZwIqjw"/>
+  <Blocks:ConnectorProperty xmi:id="_qftv8PnqEeauDtoDZwIqjw" base_Property="_myID4PnqEeauDtoDZwIqjw"/>
+  <Blocks:PropertySpecificType xmi:id="_BnHJUPnrEeauDtoDZwIqjw" base_Classifier="_A_V-sPnrEeauDtoDZwIqjw"/>
+  <Blocks:BindingConnector xmi:id="_a_Bz0PnrEeauDtoDZwIqjw" base_Connector="_Z_K5UPnrEeauDtoDZwIqjw"/>
+  <Blocks:NestedConnectorEnd xmi:id="_dWWQgPnrEeauDtoDZwIqjw" propertyPath="_Jhpo4PnpEeauDtoDZwIqjw" base_ConnectorEnd="_Z_d0QPnrEeauDtoDZwIqjw"/>
+  <Activities:Optional xmi:id="_nh76wPnrEeauDtoDZwIqjw" base_Parameter="_m0dwwPnrEeauDtoDZwIqjw"/>
+  <Activities:Rate xmi:id="_pIfo4PnrEeauDtoDZwIqjw" base_Parameter="_oCaxoPnrEeauDtoDZwIqjw"/>
+  <Activities:Discrete xmi:id="_pxUjcPnrEeauDtoDZwIqjw" base_Parameter="_oeJEUPnrEeauDtoDZwIqjw"/>
+  <Activities:Continuous xmi:id="_q0-Y0PnrEeauDtoDZwIqjw" base_Parameter="_qQhA4PnrEeauDtoDZwIqjw"/>
+  <Activities:ControlOperator xmi:id="__F7JgPnrEeauDtoDZwIqjw" base_Behavior="_UmZ6UPnqEeauDtoDZwIqjw"/>
+  <Activities:NoBuffer xmi:id="_Ezd7IPnsEeauDtoDZwIqjw" base_ObjectNode="_EUSEwPnsEeauDtoDZwIqjw"/>
+  <Activities:Overwrite xmi:id="_G-m9APnsEeauDtoDZwIqjw" base_ObjectNode="_GRUZMPnsEeauDtoDZwIqjw"/>
+  <Activities:Probability xmi:id="_Jp8h4PnsEeauDtoDZwIqjw" base_ParameterSet="_JMeiwPnsEeauDtoDZwIqjw"/>
+</xmi:XMI>
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/Activator.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/Activator.java
new file mode 100644
index 0000000..8f7c585
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/Activator.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and Others.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *  
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests;
+
+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.interoperability.sysml14.sysml.tests"; //$NON-NLS-1$
+
+	/**
+	 * The shared instance.
+	 */
+	private static Activator plugin;
+
+	/**
+	 * The log helper.
+	 */
+	public static LogHelper log;
+
+	/**
+	 * Returns the shared instance.
+	 *
+	 * @return The shared instance.
+	 */
+	public static Activator getDefault() {
+		return plugin;
+	}
+
+	/**
+	 * 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;
+		log = new LogHelper(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);
+	}
+
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AbstractImportSysMLModelTests.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AbstractImportSysMLModelTests.java
new file mode 100644
index 0000000..303168e
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AbstractImportSysMLModelTests.java
@@ -0,0 +1,181 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+import java.io.IOException;
+import java.net.URISyntaxException;
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.compare.Diff;
+import org.eclipse.emf.compare.DifferenceKind;
+import org.eclipse.emf.compare.internal.spec.AttributeChangeSpec;
+import org.eclipse.emf.compare.internal.spec.MatchSpec;
+import org.eclipse.emf.ecore.EAnnotation;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.osgi.util.NLS;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.interoperability.common.MigrationParameters.ThreadConfig;
+import org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests;
+import org.eclipse.papyrus.interoperability.common.transformation.AbstractImportTransformationLauncher;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.transformations.SysMLImportTransformationLauncher;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.utils.SysMLMigrationConstantsUtils;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Package;
+import org.junit.Assert;
+import org.osgi.framework.Bundle;
+
+/**
+ * This allows to define the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the semantic models.
+ */
+@SuppressWarnings({ "nls", "restriction" })
+public class AbstractImportSysMLModelTests extends AbstractImportModelTests {
+
+	/**
+	 * This method allows to create the project.
+	 * 
+	 * @param projectName
+	 *            The name of the project to create for the JUnit test.
+	 * @param modelName
+	 *            The model name to import.
+	 * @param resourcePath
+	 *            The path where are stored the file to copy/load to execute the tests.
+	 * @param bundle
+	 *            The current bundle.
+	 * @throws CoreException
+	 *             The core exception.
+	 * @throws IOException
+	 *             The input/output file exception.
+	 * @throws URISyntaxException
+	 *             The URI syntax exception.
+	 * 
+	 */
+	public void initTest(final String projectName, final String modelName, final String resourcePath, final Bundle bundle) throws CoreException, IOException, URISyntaxException {
+		super.initTest(projectName, modelName, "uml", resourcePath, bundle);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#createLauncher(org.eclipse.papyrus.migration.common.MigrationParameters.ThreadConfig)
+	 */
+	@Override
+	public AbstractImportTransformationLauncher createLauncher(final ThreadConfig config) {
+		return new SysMLImportTransformationLauncher(config);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#getOutputModelName()
+	 */
+	@Override
+	protected String getOutputModelName() {
+		return modelName + "_converted";
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#checkUMLModelSpecificities(org.eclipse.uml2.uml.Package)
+	 */
+	@Override
+	protected void checkUMLModelSpecificities(final Package rootPackage) {
+		checkEAnnotationUsedForSysMLMigration(rootPackage);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#checkNotationElementSpecificities(org.eclipse.emf.ecore.EModelElement)
+	 */
+	@Override
+	protected void checkNotationElementSpecificities(final EModelElement notationElement) {
+		// Do nothing here, must be done in ImportSysMLModelWithNotationTests
+	}
+
+	/**
+	 * This method check that the EObject owns the required EAnnotation indicating the model Model, Diagram or Table has been created from a SysML Migration.
+	 * 
+	 * @param objectToTest
+	 *            An object.
+	 */
+	protected void checkEAnnotationUsedForSysMLMigration(final EModelElement objectToTest) {
+		Assert.assertTrue("Internal test checking that tested object is a NamedElement, a Diagram or a Table failed", objectToTest instanceof NamedElement || objectToTest instanceof Diagram || objectToTest instanceof Table);
+		String objectName = ""; //$NON-NLS-1$
+		if (objectToTest instanceof NamedElement) {
+			objectName = ((NamedElement) objectToTest).getName();
+		} else if (objectToTest instanceof Diagram) {
+			objectName = ((Diagram) objectToTest).getName();
+		} else if (objectToTest instanceof Table) {
+			objectName = ((Table) objectToTest).getName();
+		}
+
+		final String eClassName = objectToTest.eClass().getName();
+		final EAnnotation annotation = objectToTest.getEAnnotation(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_SOURCE);
+		Assert.assertNotNull(NLS.bind("{0}:{1} : The EAnnotation used for versioning has not been found.", objectName, eClassName), annotation);
+
+		// we check the differents details needed
+		final String papyrusSourceProjectName = annotation.getDetails().get(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_SOURCE_PROJECT_NAME);
+		Assert.assertNotNull(NLS.bind("{0}:{1} : The string indicating the Papyrus source project has not been found.", objectName, eClassName), papyrusSourceProjectName);
+		Assert.assertTrue(NLS.bind("{0}:{1} : The string indicating the Papyrus source project is empty.", objectName, eClassName), !papyrusSourceProjectName.isEmpty());
+
+		final String migrationDate = annotation.getDetails().get(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_DATE);
+		Assert.assertNotNull(NLS.bind("{0}:{1} : The string indicating the Migration Date has not been found.", objectName, eClassName), migrationDate);
+		Assert.assertTrue(NLS.bind("{0}:{1} : The string indicating the Migration Date is empty.", objectName, eClassName), !migrationDate.isEmpty());
+
+		final String migrationBundleVersion = annotation.getDetails().get(SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_BUNDLE_VERSION);
+		Assert.assertNotNull(NLS.bind("{0}:{1} : The string indicating the Migration bundle version has not been found.", objectName, eClassName), migrationBundleVersion);
+		Assert.assertTrue(NLS.bind("{0}:{1} : The string indicating the Migration bundle version is empty.", objectName, eClassName), !migrationBundleVersion.isEmpty());
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#getFilteredDiffForUMLModel(java.util.List)
+	 */
+	@Override
+	protected List<Diff> getFilteredDiffForUMLModel(final List<Diff> diff) {
+		final List<Diff> returnedDiffs = new ArrayList<>(diff);
+		for (final Diff current : diff) {
+			if (current instanceof AttributeChangeSpec && ((AttributeChangeSpec) current).eContainer() instanceof MatchSpec) {
+				if (current.getKind() == DifferenceKind.CHANGE) {
+					final EObject value = ((MatchSpec) ((AttributeChangeSpec) current).eContainer()).basicGetLeft();
+					if (value instanceof EStringToStringMapEntryImpl) {
+						final EStringToStringMapEntryImpl map = (EStringToStringMapEntryImpl) value;
+						final String key = map.getKey();
+						if (SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_DATE.equals(key) || SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_BUNDLE_VERSION.equals(key)) {
+							returnedDiffs.remove(current);
+						}
+					}
+				}
+			}
+		}
+		return returnedDiffs;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#compareNotation()
+	 */
+	@Override
+	protected boolean compareNotation() {
+		return false;
+	}
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AbstractImportSysMLModelWithNotationTests.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AbstractImportSysMLModelWithNotationTests.java
new file mode 100644
index 0000000..66c36f1
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AbstractImportSysMLModelWithNotationTests.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ * 
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *   
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.compare.Diff;
+import org.eclipse.emf.compare.DifferenceKind;
+import org.eclipse.emf.compare.internal.spec.AttributeChangeSpec;
+import org.eclipse.emf.compare.internal.spec.MatchSpec;
+import org.eclipse.emf.ecore.EModelElement;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.impl.EStringToStringMapEntryImpl;
+import org.eclipse.papyrus.interoperability.sysml14.sysml.utils.SysMLMigrationConstantsUtils;
+
+/**
+ * This allows to define the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the notation models.
+ */
+@SuppressWarnings("restriction")
+public class AbstractImportSysMLModelWithNotationTests extends AbstractImportSysMLModelTests {
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#checkNotationElementSpecificities(org.eclipse.emf.ecore.EModelElement)
+	 */
+	@Override
+	protected void checkNotationElementSpecificities(final EModelElement notationElement) {
+		checkEAnnotationUsedForSysMLMigration(notationElement);
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#getFilteredDiffForNotationModel(java.util.List)
+	 */
+	@Override
+	protected List<Diff> getFilteredDiffForNotationModel(final List<Diff> diff) {
+		final List<Diff> returnedDiffs = new ArrayList<>(diff);
+		for (final Diff current : diff) {
+			if (current instanceof AttributeChangeSpec && ((AttributeChangeSpec) current).eContainer() instanceof MatchSpec) {
+				if (current.getKind() == DifferenceKind.CHANGE) {
+					final EObject value = ((MatchSpec) ((AttributeChangeSpec) current).eContainer()).basicGetLeft();
+					if (value instanceof EStringToStringMapEntryImpl) {
+						final EStringToStringMapEntryImpl map = (EStringToStringMapEntryImpl) value;
+						final String key = map.getKey();
+						if (SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_DATE.equals(key) || SysMLMigrationConstantsUtils.VERSIONING_EANNOTATION_DETAIL_KEY_PAPYRUS_MIGRATION_BUNDLE_VERSION.equals(key)) {
+							returnedDiffs.remove(current);
+						}
+					}
+				}
+			}
+		}
+		return returnedDiffs;
+	}
+
+	/**
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests.AbstractImportSysMLModelTests#compareNotation()
+	 */
+	@Override
+	protected boolean compareNotation() {
+		return true;
+	}
+
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AllTests.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AllTests.java
new file mode 100644
index 0000000..7b304ca
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/AllTests.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+
+import org.eclipse.papyrus.junit.framework.classification.ClassificationSuite;
+import org.junit.runner.RunWith;
+import org.junit.runners.Suite.SuiteClasses;
+
+/**
+ * Master test suite for this test fragment.
+ */
+@RunWith(ClassificationSuite.class)
+@SuiteClasses({
+		ImportSysML11SemanticTest.class,
+		ImportSysML11RequirementDiagramTest.class,
+		ImportSysML11InternalBlockDiagramTest.class,
+		ImportSysML11BlockDefinitionDiagramTest.class,
+		ImportSysML11ParametricDiagramTest.class,
+		ImportSysML11AllocationTableTest.class,
+		ImportSysML11RequirementTableTest.class
+})
+public class AllTests {
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11AllocationTableTest.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11AllocationTableTest.java
new file mode 100644
index 0000000..5526e7d
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11AllocationTableTest.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.Before;
+
+/**
+ * This allows to test the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the allocation table.
+ */
+@PluginResource("resources/ExpectedResult/AllocationTable/AllocationTable_converted.di") // the name of the expected model must be the same than the name of the old Papyrus project
+public class ImportSysML11AllocationTableTest extends AbstractImportSysMLModelWithNotationTests {
+
+	/**
+	 * The name of the Papyrus project to import.
+	 */
+	public static final String SYSML11_ALLOCATION_TABLE_MODEL_NAME = "AllocationTable";// $NON-NLS-0$
+
+	/**
+	 * The name of the created project.
+	 */
+	public static final String PROJECT_NAME = "AllocationTable_testMigration"; // $NON-NLS-0$
+
+	/**
+	 * The source path of the allocation table model folder.
+	 */
+	private static final String SOURCE_PATH = "resources/InitialModels/AllocationTable/"; // $NON-NLS-0$
+
+	/**
+	 * This allows to initialize the test.
+	 * 
+	 * @throws Exception
+	 *             The caught exception.
+	 */
+	@Before
+	public void initTest() throws Exception {
+		super.initTest(PROJECT_NAME, SYSML11_ALLOCATION_TABLE_MODEL_NAME, SOURCE_PATH, Activator.getDefault().getBundle());
+	}
+
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11BlockDefinitionDiagramTest.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11BlockDefinitionDiagramTest.java
new file mode 100644
index 0000000..6ebbb6a
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11BlockDefinitionDiagramTest.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.Before;
+
+/**
+ * This allows to test the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the block definition diagram.
+ */
+@PluginResource("resources/ExpectedResult/BlockDefinitionDiagram/BlockDefinitionDiagram_converted.di") // the name of the expected model must be the same than the name of the old Papyrus project
+public class ImportSysML11BlockDefinitionDiagramTest extends AbstractImportSysMLModelWithNotationTests {
+
+	/**
+	 * The name of the Papyrus project to import.
+	 */
+	public static final String SYSML11_BLOCK_DEFINITION_DIAGRAM_MODEL_NAME = "BlockDefinitionDiagram";// $NON-NLS-0$
+
+	/**
+	 * The name of the created project.
+	 */
+	public static final String PROJECT_NAME = "BlockDefinitionDiagram_testMigration"; // $NON-NLS-0$
+
+	/**
+	 * The source path of the block definition diagram model folder.
+	 */
+	private static final String SOURCE_PATH = "resources/InitialModels/BlockDefinitionDiagram/"; // $NON-NLS-0$
+
+	/**
+	 * This allows to initialize the test.
+	 * 
+	 * @throws Exception
+	 *             The caught exception.
+	 */
+	@Before
+	public void initTest() throws Exception {
+		super.initTest(PROJECT_NAME, SYSML11_BLOCK_DEFINITION_DIAGRAM_MODEL_NAME, SOURCE_PATH, Activator.getDefault().getBundle());
+	}
+
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11InternalBlockDiagramTest.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11InternalBlockDiagramTest.java
new file mode 100644
index 0000000..7e0459a
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11InternalBlockDiagramTest.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.Before;
+
+/**
+ * This allows to test the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the internal block diagram.
+ */
+@PluginResource("resources/ExpectedResult/InternalBlockDiagram/InternalBlockDiagram_converted.di") // the name of the expected model must be the same than the name of the old Papyrus project
+public class ImportSysML11InternalBlockDiagramTest extends AbstractImportSysMLModelWithNotationTests {
+
+	/**
+	 * The name of the Papyrus project to import.
+	 */
+	public static final String SYSML11_INTERNAL_BLOCK_DIAGRAM_MODEL_NAME = "InternalBlockDiagram";// $NON-NLS-0$
+
+	/**
+	 * The name of the created project.
+	 */
+	public static final String PROJECT_NAME = "InternalBlockDiagram_testMigration"; // $NON-NLS-0$
+
+	/**
+	 * The source path of the internal block diagram model folder.
+	 */
+	private static final String SOURCE_PATH = "resources/InitialModels/InternalBlockDiagram/"; // $NON-NLS-0$
+
+	/**
+	 * This allows to initialize the test.
+	 * 
+	 * @throws Exception
+	 *             The caught exception.
+	 */
+	@Before
+	public void initTest() throws Exception {
+		super.initTest(PROJECT_NAME, SYSML11_INTERNAL_BLOCK_DIAGRAM_MODEL_NAME, SOURCE_PATH, Activator.getDefault().getBundle());
+	}
+
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11ParametricDiagramTest.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11ParametricDiagramTest.java
new file mode 100644
index 0000000..fa171bc
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11ParametricDiagramTest.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.Before;
+
+/**
+ * This allows to test the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the parametric diagram.
+ */
+@PluginResource("resources/ExpectedResult/ParametricDiagram/ParametricDiagram_converted.di") // the name of the expected model must be the same than the name of the old Papyrus project
+public class ImportSysML11ParametricDiagramTest extends AbstractImportSysMLModelWithNotationTests {
+
+	/**
+	 * The name of the Papyrus project to import.
+	 */
+	public static final String SYSML11_PARAMETRIC_DIAGRAM_MODEL_NAME = "ParametricDiagram";// $NON-NLS-0$
+
+	/**
+	 * The name of the created project.
+	 */
+	public static final String PROJECT_NAME = "ParametricDiagram_testMigration"; // $NON-NLS-0$
+
+	/**
+	 * The source path of the parametric diagram model folder.
+	 */
+	private static final String SOURCE_PATH = "resources/InitialModels/ParametricDiagram/"; // $NON-NLS-0$
+
+	/**
+	 * This allows to initialize the test.
+	 * 
+	 * @throws Exception
+	 *             The caught exception.
+	 */
+	@Before
+	public void initTest() throws Exception {
+		super.initTest(PROJECT_NAME, SYSML11_PARAMETRIC_DIAGRAM_MODEL_NAME, SOURCE_PATH, Activator.getDefault().getBundle());
+	}
+
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11RequirementDiagramTest.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11RequirementDiagramTest.java
new file mode 100644
index 0000000..f77d08c
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11RequirementDiagramTest.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.Before;
+
+/**
+ * This allows to test the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the requirement diagram.
+ */
+@PluginResource("resources/ExpectedResult/RequirementDiagram/RequirementDiagram_converted.di") // the name of the expected model must be the same than the name of the old Papyrus project
+public class ImportSysML11RequirementDiagramTest extends AbstractImportSysMLModelWithNotationTests {
+
+	/**
+	 * The name of the Papyrus project to import.
+	 */
+	public static final String SYSML11_REQUIREMENT_DIAGRAM_MODEL_NAME = "RequirementDiagram";// $NON-NLS-0$
+
+	/**
+	 * The name of the created project.
+	 */
+	public static final String PROJECT_NAME = "RequirementDiagram_testMigration"; // $NON-NLS-0$
+
+	/**
+	 * The source path of the requirement diagram model folder.
+	 */
+	private static final String SOURCE_PATH = "resources/InitialModels/RequirementDiagram/"; // $NON-NLS-0$
+
+	/**
+	 * This allows to initialize the test.
+	 * 
+	 * @throws Exception
+	 *             The caught exception.
+	 */
+	@Before
+	public void initTest() throws Exception {
+		super.initTest(PROJECT_NAME, SYSML11_REQUIREMENT_DIAGRAM_MODEL_NAME, SOURCE_PATH, Activator.getDefault().getBundle());
+	}
+
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11RequirementTableTest.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11RequirementTableTest.java
new file mode 100644
index 0000000..29aef5d
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11RequirementTableTest.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.Before;
+
+/**
+ * This allows to test the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the requirement table.
+ */
+@PluginResource("resources/ExpectedResult/RequirementTable/RequirementTable_converted.di") // the name of the expected model must be the same than the name of the old Papyrus project
+public class ImportSysML11RequirementTableTest extends AbstractImportSysMLModelWithNotationTests {
+
+	/**
+	 * The name of the Papyrus project to import.
+	 */
+	public static final String SYSML11_REQUIREMENT_TABLE_MODEL_NAME = "RequirementTable";// $NON-NLS-0$
+
+	/**
+	 * The name of the created project.
+	 */
+	public static final String PROJECT_NAME = "RequirementTable_testMigration"; // $NON-NLS-0$
+
+	/**
+	 * The source path of the requirement table model folder.
+	 */
+	private static final String SOURCE_PATH = "resources/InitialModels/RequirementTable/"; // $NON-NLS-0$
+
+	/**
+	 * This allows to initialize the test.
+	 * 
+	 * @throws Exception
+	 *             The caught exception.
+	 */
+	@Before
+	public void initTest() throws Exception {
+		super.initTest(PROJECT_NAME, SYSML11_REQUIREMENT_TABLE_MODEL_NAME, SOURCE_PATH, Activator.getDefault().getBundle());
+	}
+
+}
diff --git a/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11SemanticTest.java b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11SemanticTest.java
new file mode 100644
index 0000000..b0b630d
--- /dev/null
+++ b/sysml14/tests/org.eclipse.papyrus.interoperability.sysml14.sysml.tests/src/org/eclipse/papyrus/interoperability/sysml14/sysml/tests/tests/ImportSysML11SemanticTest.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ *    
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * 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
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.interoperability.sysml14.sysml.tests.tests;
+
+
+import org.eclipse.papyrus.interoperability.sysml14.sysml.tests.Activator;
+import org.eclipse.papyrus.junit.framework.classification.FailingTest;
+import org.eclipse.papyrus.junit.utils.rules.PluginResource;
+import org.junit.Before;
+import org.junit.Test;
+
+/**
+ * This allows to test the interoperability QvTo transformation from SysML1.1 to SysML1.4 for the semantic (UML).
+ */
+@PluginResource("resources/ExpectedResult/Semantic/Semantic_converted.di") // the name of the expected model must be the same than the name of the old Papyrus project
+public class ImportSysML11SemanticTest extends AbstractImportSysMLModelTests {
+
+	/**
+	 * The name of the Papyrus project to import.
+	 */
+	public static final String SYSML11_SEMANTIC_MODEL_NAME = "Semantic";// $NON-NLS-0$
+
+	/**
+	 * The name of the created project.
+	 */
+	public static final String PROJECT_NAME = "Semantic_testMigration"; // $NON-NLS-0$
+
+	/**
+	 * The source path of the semantic model folder.
+	 */
+	private static final String SOURCE_PATH = "resources/InitialModels/Semantic/"; // $NON-NLS-0$
+
+	/**
+	 * This allows to initialize the test.
+	 * 
+	 * @throws Exception
+	 *             The caught exception.
+	 */
+	@Before
+	public void initTest() throws Exception {
+		super.initTest(PROJECT_NAME, SYSML11_SEMANTIC_MODEL_NAME, SOURCE_PATH, Activator.getDefault().getBundle());
+	}
+
+	/**
+	 * For this class, the transformation notation model must be failing because no notation element is available.
+	 * {@inheritDoc}
+	 * 
+	 * @see org.eclipse.papyrus.interoperability.common.tests.tests.AbstractImportModelTests#checkTransformedNotationModel()
+	 */
+	@Override
+	@Test
+	@FailingTest
+	public void checkTransformedNotationModel() {
+		super.checkTransformedNotationModel();
+	}
+
+}
