Bug 546087 - [SysML 1.6] Create the SysML 1.6 plug-ins
Create the SysML1.6 plug-ins and contents.
Change-Id: Iac5aea1b1e2038f3704b81723c41d4c835e93bf7
Signed-off-by: Nicolas FAUVERGUE <nicolas.fauvergue@cea.fr>
diff --git a/.gitattributes b/.gitattributes
new file mode 100644
index 0000000..e34ec27
--- /dev/null
+++ b/.gitattributes
@@ -0,0 +1,68 @@
+# Handle line endings automatically for files detected as text
+# and leave all files detected as binary untouched.
+* text=auto
+
+#
+# The above will handle all files NOT found below
+#
+# These files are text and should be normalized (Convert crlf => lf)
+*.classpath text
+*.configuration text
+*.creationmenumodel text
+*.css text
+*.ctx text
+*.df text
+*.di text
+*.ecore text
+*.elementtypesconfigurations text
+*.expansionmodel text
+*.fml text
+*.genmodel text
+*.htm text
+*.html text
+*.ini text
+*.java text
+*.js text
+*.json text
+*.jsp text
+*.jspf text
+*.LICENSE text
+*.md text
+*.mediawiki text
+*.MF text
+*.nattableconfiguration text
+*.notation text
+*.paletteconfiguration text
+*.prefs text
+*.product text
+*.project text
+*.properties text
+*.sh text
+*.suite text
+*.svg text
+*.test text
+*.tld text
+*.tsv text
+*.txt text
+*.uml text
+*.xmi text
+*.xml text
+*.xwt text
+
+# These files are binary and should be left untouched
+# (binary is a macro for -text -diff)
+*.bmp binary
+*.class binary
+*.dll binary
+*.ear binary
+*.gif binary
+*.ico binary
+*.jar binary
+*.jpg binary
+*.jpeg binary
+*.pdf binary
+*.png binary
+*.so binary
+*.svg binary
+*.war binary
+
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..214263b
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,15 @@
+bin/
+target/
+*.java._trace
+*.pyc
+.DS_Store
+*.xtendbin
+*~
+# Workspace metadata folder created by Oomph when launching tests.
+tests/**/.metadata/
+**/src/site/resources/images/rcptt-screenshots
+# sonarlint temporary directory
+sonarlint/
+# Files and directory used by RcpTT
+workspace/
+*.log
\ No newline at end of file
diff --git a/.settings/org.eclipse.core.resources.prefs b/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/.settings/org.eclipse.m2e.core.prefs b/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
new file mode 100644
index 0000000..d96286c
--- /dev/null
+++ b/CONTRIBUTING.md
@@ -0,0 +1,40 @@
+Contributing to Papyrus SysML 1.6
+==================================
+
+Thanks for your interest in this project.
+
+Project description:
+--------------------
+
+A DSML for the [SysML 1.6 OMG](http://www.omg.org/spec/SysML/1.6/) norm based upon the [Eclipse Papyrus project](https://projects.eclipse.org/projects/modeling.mdt.papyrus).
+
+Create a new [bug](https://bugs.eclipse.org/bugs/enter_bug.cgi?product=Papyrus&component=SysML):
+-----------------
+
+Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!
+
+Search for [bugs](https://bugs.eclipse.org/bugs/buglist.cgi?product=Papyrus&component=SysML):
+----------------
+
+This project uses Bugzilla to track ongoing development and issues.
+
+Contributor License Agreement:
+------------------------------
+
+Before your contribution can be accepted by the project, you need to create and electronically
+sign the Eclipse Foundation Contributor License Agreement [(CLA)](http://www.eclipse.org/legal/CLA.php).
+
+Contact:
+--------
+
+Contact the project developers and users via the project's ["user" list](https://dev.eclipse.org/mailman/listinfo/papyrus-sysml-users/).
+
+Developer resources:
+--------------------
+
+ * Check the README.md file for developing information
+ * Continuous integration with [Hudson](https://hudson.eclipse.org/papyrus/)
+ * Contribution review with [Gerrit](https://git.eclipse.org/)
+ * Code quality with [SonarQube](https://dev.eclipse.org/sonar/dashboard/index/113161)
+
+
\ No newline at end of file
diff --git a/LICENSE b/LICENSE
new file mode 100644
index 0000000..d3087e4
--- /dev/null
+++ b/LICENSE
@@ -0,0 +1,277 @@
+Eclipse Public License - v 2.0
+
+ THE ACCOMPANYING PROGRAM IS PROVIDED UNDER THE TERMS OF THIS ECLIPSE
+ PUBLIC LICENSE ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION
+ OF THE PROGRAM CONSTITUTES RECIPIENT'S ACCEPTANCE OF THIS AGREEMENT.
+
+1. DEFINITIONS
+
+"Contribution" means:
+
+ a) in the case of the initial Contributor, the initial content
+ Distributed under this Agreement, and
+
+ b) in the case of each subsequent Contributor:
+ i) changes to the Program, and
+ ii) additions to the Program;
+ where such changes and/or additions to the Program originate from
+ and are Distributed by that particular Contributor. A Contribution
+ "originates" from a Contributor if it was added to the Program by
+ such Contributor itself or anyone acting on such Contributor's behalf.
+ Contributions do not include changes or additions to the Program that
+ are not Modified Works.
+
+"Contributor" means any person or entity that Distributes the Program.
+
+"Licensed Patents" mean patent claims licensable by a Contributor which
+are necessarily infringed by the use or sale of its Contribution alone
+or when combined with the Program.
+
+"Program" means the Contributions Distributed in accordance with this
+Agreement.
+
+"Recipient" means anyone who receives the Program under this Agreement
+or any Secondary License (as applicable), including Contributors.
+
+"Derivative Works" shall mean any work, whether in Source Code or other
+form, that is based on (or derived from) the Program and for which the
+editorial revisions, annotations, elaborations, or other modifications
+represent, as a whole, an original work of authorship.
+
+"Modified Works" shall mean any work in Source Code or other form that
+results from an addition to, deletion from, or modification of the
+contents of the Program, including, for purposes of clarity any new file
+in Source Code form that contains any contents of the Program. Modified
+Works shall not include works that contain only declarations,
+interfaces, types, classes, structures, or files of the Program solely
+in each case in order to link to, bind by name, or subclass the Program
+or Modified Works thereof.
+
+"Distribute" means the acts of a) distributing or b) making available
+in any manner that enables the transfer of a copy.
+
+"Source Code" means the form of a Program preferred for making
+modifications, including but not limited to software source code,
+documentation source, and configuration files.
+
+"Secondary License" means either the GNU General Public License,
+Version 2.0, or any later versions of that license, including any
+exceptions or additional permissions as identified by the initial
+Contributor.
+
+2. GRANT OF RIGHTS
+
+ a) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free copyright
+ license to reproduce, prepare Derivative Works of, publicly display,
+ publicly perform, Distribute and sublicense the Contribution of such
+ Contributor, if any, and such Derivative Works.
+
+ b) Subject to the terms of this Agreement, each Contributor hereby
+ grants Recipient a non-exclusive, worldwide, royalty-free patent
+ license under Licensed Patents to make, use, sell, offer to sell,
+ import and otherwise transfer the Contribution of such Contributor,
+ if any, in Source Code or other form. This patent license shall
+ apply to the combination of the Contribution and the Program if, at
+ the time the Contribution is added by the Contributor, such addition
+ of the Contribution causes such combination to be covered by the
+ Licensed Patents. The patent license shall not apply to any other
+ combinations which include the Contribution. No hardware per se is
+ licensed hereunder.
+
+ c) Recipient understands that although each Contributor grants the
+ licenses to its Contributions set forth herein, no assurances are
+ provided by any Contributor that the Program does not infringe the
+ patent or other intellectual property rights of any other entity.
+ Each Contributor disclaims any liability to Recipient for claims
+ brought by any other entity based on infringement of intellectual
+ property rights or otherwise. As a condition to exercising the
+ rights and licenses granted hereunder, each Recipient hereby
+ assumes sole responsibility to secure any other intellectual
+ property rights needed, if any. For example, if a third party
+ patent license is required to allow Recipient to Distribute the
+ Program, it is Recipient's responsibility to acquire that license
+ before distributing the Program.
+
+ d) Each Contributor represents that to its knowledge it has
+ sufficient copyright rights in its Contribution, if any, to grant
+ the copyright license set forth in this Agreement.
+
+ e) Notwithstanding the terms of any Secondary License, no
+ Contributor makes additional grants to any Recipient (other than
+ those set forth in this Agreement) as a result of such Recipient's
+ receipt of the Program under the terms of a Secondary License
+ (if permitted under the terms of Section 3).
+
+3. REQUIREMENTS
+
+3.1 If a Contributor Distributes the Program in any form, then:
+
+ a) the Program must also be made available as Source Code, in
+ accordance with section 3.2, and the Contributor must accompany
+ the Program with a statement that the Source Code for the Program
+ is available under this Agreement, and informs Recipients how to
+ obtain it in a reasonable manner on or through a medium customarily
+ used for software exchange; and
+
+ b) the Contributor may Distribute the Program under a license
+ different than this Agreement, provided that such license:
+ i) effectively disclaims on behalf of all other Contributors all
+ warranties and conditions, express and implied, including
+ warranties or conditions of title and non-infringement, and
+ implied warranties or conditions of merchantability and fitness
+ for a particular purpose;
+
+ ii) effectively excludes on behalf of all other Contributors all
+ liability for damages, including direct, indirect, special,
+ incidental and consequential damages, such as lost profits;
+
+ iii) does not attempt to limit or alter the recipients' rights
+ in the Source Code under section 3.2; and
+
+ iv) requires any subsequent distribution of the Program by any
+ party to be under a license that satisfies the requirements
+ of this section 3.
+
+3.2 When the Program is Distributed as Source Code:
+
+ a) it must be made available under this Agreement, or if the
+ Program (i) is combined with other material in a separate file or
+ files made available under a Secondary License, and (ii) the initial
+ Contributor attached to the Source Code the notice described in
+ Exhibit A of this Agreement, then the Program may be made available
+ under the terms of such Secondary Licenses, and
+
+ b) a copy of this Agreement must be included with each copy of
+ the Program.
+
+3.3 Contributors may not remove or alter any copyright, patent,
+trademark, attribution notices, disclaimers of warranty, or limitations
+of liability ("notices") contained within the Program from any copy of
+the Program which they Distribute, provided that Contributors may add
+their own appropriate notices.
+
+4. COMMERCIAL DISTRIBUTION
+
+Commercial distributors of software may accept certain responsibilities
+with respect to end users, business partners and the like. While this
+license is intended to facilitate the commercial use of the Program,
+the Contributor who includes the Program in a commercial product
+offering should do so in a manner which does not create potential
+liability for other Contributors. Therefore, if a Contributor includes
+the Program in a commercial product offering, such Contributor
+("Commercial Contributor") hereby agrees to defend and indemnify every
+other Contributor ("Indemnified Contributor") against any losses,
+damages and costs (collectively "Losses") arising from claims, lawsuits
+and other legal actions brought by a third party against the Indemnified
+Contributor to the extent caused by the acts or omissions of such
+Commercial Contributor in connection with its distribution of the Program
+in a commercial product offering. The obligations in this section do not
+apply to any claims or Losses relating to any actual or alleged
+intellectual property infringement. In order to qualify, an Indemnified
+Contributor must: a) promptly notify the Commercial Contributor in
+writing of such claim, and b) allow the Commercial Contributor to control,
+and cooperate with the Commercial Contributor in, the defense and any
+related settlement negotiations. The Indemnified Contributor may
+participate in any such claim at its own expense.
+
+For example, a Contributor might include the Program in a commercial
+product offering, Product X. That Contributor is then a Commercial
+Contributor. If that Commercial Contributor then makes performance
+claims, or offers warranties related to Product X, those performance
+claims and warranties are such Commercial Contributor's responsibility
+alone. Under this section, the Commercial Contributor would have to
+defend claims against the other Contributors related to those performance
+claims and warranties, and if a court requires any other Contributor to
+pay any damages as a result, the Commercial Contributor must pay
+those damages.
+
+5. NO WARRANTY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
+PERMITTED BY APPLICABLE LAW, THE PROGRAM IS PROVIDED ON AN "AS IS"
+BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, EITHER EXPRESS OR
+IMPLIED INCLUDING, WITHOUT LIMITATION, ANY WARRANTIES OR CONDITIONS OF
+TITLE, NON-INFRINGEMENT, MERCHANTABILITY OR FITNESS FOR A PARTICULAR
+PURPOSE. Each Recipient is solely responsible for determining the
+appropriateness of using and distributing the Program and assumes all
+risks associated with its exercise of rights under this Agreement,
+including but not limited to the risks and costs of program errors,
+compliance with applicable laws, damage to or loss of data, programs
+or equipment, and unavailability or interruption of operations.
+
+6. DISCLAIMER OF LIABILITY
+
+EXCEPT AS EXPRESSLY SET FORTH IN THIS AGREEMENT, AND TO THE EXTENT
+PERMITTED BY APPLICABLE LAW, NEITHER RECIPIENT NOR ANY CONTRIBUTORS
+SHALL HAVE ANY LIABILITY FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
+EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING WITHOUT LIMITATION LOST
+PROFITS), HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ARISING IN ANY WAY OUT OF THE USE OR DISTRIBUTION OF THE PROGRAM OR THE
+EXERCISE OF ANY RIGHTS GRANTED HEREUNDER, EVEN IF ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+7. GENERAL
+
+If any provision of this Agreement is invalid or unenforceable under
+applicable law, it shall not affect the validity or enforceability of
+the remainder of the terms of this Agreement, and without further
+action by the parties hereto, such provision shall be reformed to the
+minimum extent necessary to make such provision valid and enforceable.
+
+If Recipient institutes patent litigation against any entity
+(including a cross-claim or counterclaim in a lawsuit) alleging that the
+Program itself (excluding combinations of the Program with other software
+or hardware) infringes such Recipient's patent(s), then such Recipient's
+rights granted under Section 2(b) shall terminate as of the date such
+litigation is filed.
+
+All Recipient's rights under this Agreement shall terminate if it
+fails to comply with any of the material terms or conditions of this
+Agreement and does not cure such failure in a reasonable period of
+time after becoming aware of such noncompliance. If all Recipient's
+rights under this Agreement terminate, Recipient agrees to cease use
+and distribution of the Program as soon as reasonably practicable.
+However, Recipient's obligations under this Agreement and any licenses
+granted by Recipient relating to the Program shall continue and survive.
+
+Everyone is permitted to copy and distribute copies of this Agreement,
+but in order to avoid inconsistency the Agreement is copyrighted and
+may only be modified in the following manner. The Agreement Steward
+reserves the right to publish new versions (including revisions) of
+this Agreement from time to time. No one other than the Agreement
+Steward has the right to modify this Agreement. The Eclipse Foundation
+is the initial Agreement Steward. The Eclipse Foundation may assign the
+responsibility to serve as the Agreement Steward to a suitable separate
+entity. Each new version of the Agreement will be given a distinguishing
+version number. The Program (including Contributions) may always be
+Distributed subject to the version of the Agreement under which it was
+received. In addition, after a new version of the Agreement is published,
+Contributor may elect to Distribute the Program (including its
+Contributions) under the new version.
+
+Except as expressly stated in Sections 2(a) and 2(b) above, Recipient
+receives no rights or licenses to the intellectual property of any
+Contributor under this Agreement, whether expressly, by implication,
+estoppel or otherwise. All rights in the Program not expressly granted
+under this Agreement are reserved. Nothing in this Agreement is intended
+to be enforceable by any entity that is not a Contributor or Recipient.
+No third-party beneficiary rights are created under this Agreement.
+
+Exhibit A - Form of Secondary Licenses Notice
+
+"This Source Code may also be made available under the following
+Secondary Licenses when the conditions for such availability set forth
+in the Eclipse Public License, v. 2.0 are satisfied: {name license(s),
+version(s), and exceptions or additional permissions here}."
+
+ Simply including a copy of this Agreement, including this Exhibit A
+ is not sufficient to license the Source Code under Secondary Licenses.
+
+ If it is not possible or desirable to put the notice in a particular
+ file, then You may include the notice in a location (such as a LICENSE
+ file in a relevant directory) where a recipient would be likely to
+ look for such a notice.
+
+ You may add additional accurate notices of copyright ownership.
diff --git a/features/org.eclipse.papyrus.sysml16.feature/.project b/features/org.eclipse.papyrus.sysml16.feature/.project
new file mode 100644
index 0000000..9806cf6
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.sysml16.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.papyrus.sysml16.feature/build.properties b/features/org.eclipse.papyrus.sysml16.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+ feature.properties
diff --git a/features/org.eclipse.papyrus.sysml16.feature/feature.properties b/features/org.eclipse.papyrus.sysml16.feature/feature.properties
new file mode 100644
index 0000000..9d274e5
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/feature.properties
@@ -0,0 +1,8 @@
+# NLS_MESSAGEFORMAT_VAR
+
+# "featureName" property - name of the feature
+featureName=Papyrus SysML 1.6 Feature
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project
+
diff --git a/features/org.eclipse.papyrus.sysml16.feature/feature.xml b/features/org.eclipse.papyrus.sysml16.feature/feature.xml
new file mode 100644
index 0000000..cac2942
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/feature.xml
@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.papyrus.sysml16.feature"
+ label="%featureName"
+ version="1.0.0.qualifier"
+ provider-name="%providerName"
+ plugin="org.eclipse.papyrus.sysml16.ui"
+ license-feature="org.eclipse.license"
+ license-feature-version="2.0.1">
+
+ <description url="https://eclipse.org/papyrus/">
+ This feature enables to create, manage, validate SysML 1.6 models. It contains diagram bundles (BDD, IBD, PAR, REQ), tables bundles and also all user interface elements.
+ </description>
+
+ <copyright url="https://www.eclipse.org/legal/epl-2.0/">
+ Copyright (c) 2019 CEA LIST
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+ </copyright>
+
+ <requires>
+ <import feature="org.eclipse.papyrus.sdk.feature" version="4.0.0" match="compatible"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.diagram.common"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.diagram.blockdefinition"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.diagram.internalblock"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.diagram.parametric"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.diagram.requirement"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.edit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.service.types"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.validation"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.nattable.allocation"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.nattable.common"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.nattable.requirement"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.nattable.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.architecture"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.modelexplorer"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.papyrus.sysml16.feature/pom.xml b/features/org.eclipse.papyrus.sysml16.feature/pom.xml
new file mode 100644
index 0000000..ed4b045
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.feature/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus.sysml</groupId>
+ <artifactId>org.eclipse.papyrus.sysml16.features</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.sysml16.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+ <name>org.eclipse.papyrus.sysml16.feature</name>
+ <description>This plugin gather all SysML 1.6 plugins to define a fully functionnal DSML editor.</description>
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/.project b/features/org.eclipse.papyrus.sysml16.rcp.feature/.project
new file mode 100644
index 0000000..4e0c9af
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.sysml16.rcp.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/build.properties b/features/org.eclipse.papyrus.sysml16.rcp.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+ feature.properties
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.properties b/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.properties
new file mode 100644
index 0000000..7a292c5
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.properties
@@ -0,0 +1,7 @@
+# NLS_MESSAGEFORMAT_VAR
+
+# "featureName" property - name of the feature
+featureName=Papyrus SysML 1.6 RCP Feature
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project
\ No newline at end of file
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.xml b/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.xml
new file mode 100644
index 0000000..482f5af
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/feature.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.papyrus.sysml16.rcp.feature"
+ label="%featureName"
+ version="1.0.0.qualifier"
+ provider-name="%providerName"
+ license-feature="org.eclipse.license"
+ license-feature-version="2.0.1">
+
+ <description url="https://eclipse.org/papyrus/">
+ This feature defines the Rich Client Platform dedicated to SysML 1.6
+ </description>
+
+ <copyright url="https://www.eclipse.org/legal/epl-2.0/">
+ Copyright (c) 2019 CEA LIST
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+ </copyright>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.rcp"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.papyrus.sysml16.rcp.feature/pom.xml b/features/org.eclipse.papyrus.sysml16.rcp.feature/pom.xml
new file mode 100644
index 0000000..8e73c8b
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.rcp.feature/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus.sysml</groupId>
+ <artifactId>org.eclipse.papyrus.sysml16.features</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.sysml16.rcp.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+ <name>org.eclipse.papyrus.sysml16.rcp.feature</name>
+ <description>This plugin packages the rcp in a feature to be used as it in the SysML 1.6 product.</description>
+</project>
\ No newline at end of file
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.project b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.project
new file mode 100644
index 0000000..4e95fea
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.project
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.sysml16.requirements.extension.feature</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.pde.FeatureBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.FeatureNature</nature>
+ </natures>
+</projectDescription>
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.core.resources.prefs b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.m2e.core.prefs b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/build.properties b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/build.properties
new file mode 100644
index 0000000..b3a611b
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/build.properties
@@ -0,0 +1,2 @@
+bin.includes = feature.xml,\
+ feature.properties
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.properties b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.properties
new file mode 100644
index 0000000..4e39621
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.properties
@@ -0,0 +1,8 @@
+# NLS_MESSAGEFORMAT_VAR
+
+# "featureName" property - name of the feature
+featureName=Papyrus SysML 1.6 Requirements Extension Feature
+
+# "providerName" property - name of the company that provides the feature
+providerName=Eclipse Modeling Project
+
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.xml b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.xml
new file mode 100644
index 0000000..5183b99
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/feature.xml
@@ -0,0 +1,59 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<feature
+ id="org.eclipse.papyrus.sysml16.requirements.extension.feature"
+ label="%featureName"
+ version="1.0.0.qualifier"
+ provider-name="%providerName"
+ plugin="org.eclipse.papyrus.sysml16.requirements.extension.ui"
+ license-feature="org.eclipse.license"
+ license-feature-version="2.0.1">
+
+ <description url="https://eclipse.org/papyrus/">
+ This feature enables to create, manage, validate SysML 1.6 Requirements Extension models.
+ </description>
+
+ <copyright url="https://www.eclipse.org/legal/epl-2.0/">
+ Copyright (c) 2019 CEA LIST
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+ </copyright>
+
+ <requires>
+ <import feature="org.eclipse.papyrus.sdk.feature" version="4.0.0" match="compatible"/>
+ <import feature="org.eclipse.papyrus.sysml16.feature" version="0.0.0" match="compatible"/>
+ </requires>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.requirements.extension"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.requirements.extension.ui"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.requirements.extension.edit"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+
+ <plugin
+ id="org.eclipse.papyrus.sysml16.requirements.extension.validation"
+ download-size="0"
+ install-size="0"
+ version="0.0.0"
+ unpack="false"/>
+
+</feature>
diff --git a/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/pom.xml b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/pom.xml
new file mode 100644
index 0000000..54dec54
--- /dev/null
+++ b/features/org.eclipse.papyrus.sysml16.requirements.extension.feature/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus.sysml</groupId>
+ <artifactId>org.eclipse.papyrus.sysml16.features</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.sysml16.requirements.extension.feature</artifactId>
+ <packaging>eclipse-feature</packaging>
+ <name>org.eclipse.papyrus.sysml16.requirements.extension.feature</name>
+ <description>This plugin gather all SysML 1.6 Requirements Extension plugins.</description>
+</project>
\ No newline at end of file
diff --git a/features/pom.xml b/features/pom.xml
new file mode 100644
index 0000000..08db5e5
--- /dev/null
+++ b/features/pom.xml
@@ -0,0 +1,30 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.sysml16.parent</artifactId>
+ <groupId>org.eclipse.papyrus.sysml</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.sysml16.features</artifactId>
+ <packaging>pom</packaging>
+ <name>SysML Features</name>
+ <description>SysML Features.</description>
+ <modules>
+ <module>org.eclipse.papyrus.sysml16.feature</module>
+ <module>org.eclipse.papyrus.sysml16.requirements.extension.feature</module>
+ </modules>
+
+ <profiles>
+ <profile>
+ <id>product</id>
+ <activation>
+ <activeByDefault>false</activeByDefault>
+ </activation>
+ <modules>
+ <module>org.eclipse.papyrus.sysml16.rcp.feature</module>
+ </modules>
+ </profile>
+ </profiles>
+</project>
diff --git a/plugins/.settings/org.eclipse.core.resources.prefs b/plugins/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/plugins/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/plugins/core/.settings/org.eclipse.core.resources.prefs b/plugins/core/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..99f26c0
--- /dev/null
+++ b/plugins/core/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.classpath b/plugins/core/org.eclipse.papyrus.sysml16.edit/.classpath
new file mode 100644
index 0000000..5814bdf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src-gen/"/>
+ <classpathentry kind="src" path="src/"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.project b/plugins/core/org.eclipse.papyrus.sysml16.edit/.project
new file mode 100644
index 0000000..2ecbc26
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.sysml16.edit</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.resources.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.runtime.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.ui.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.m2e.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.pde.api.tools.prefs b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/META-INF/MANIFEST.MF b/plugins/core/org.eclipse.papyrus.sysml16.edit/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..4637c9e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/META-INF/MANIFEST.MF
@@ -0,0 +1,32 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.edit;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin$Implementation
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16.edit.provider,
+ org.eclipse.papyrus.sysml16.activities.provider,
+ org.eclipse.papyrus.sysml16.allocations.provider,
+ org.eclipse.papyrus.sysml16.blocks.provider,
+ org.eclipse.papyrus.sysml16.constraintblocks.provider,
+ org.eclipse.papyrus.sysml16.deprecatedelements.provider,
+ org.eclipse.papyrus.sysml16.modelelements.provider,
+ org.eclipse.papyrus.sysml16.portsandflows.provider,
+ org.eclipse.papyrus.sysml16.provider,
+ org.eclipse.papyrus.sysml16.requirements.provider
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0";visibility:=reexport,
+ org.eclipse.emf.edit;bundle-version="[2.11.1,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore;bundle-version="[2.11.2,3.0.0)";visibility:=reexport,
+ org.eclipse.emf.ecore.edit;bundle-version="[2.9.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.profile.standard;bundle-version="[1.0.100,2.0.0)";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.edit;bundle-version="[5.1.1,6.0.0)";visibility:=reexport,
+ org.eclipse.uml2.common.edit;bundle-version="[2.1.0,3.0.0)";visibility:=reexport
+Bundle-ActivationPolicy: lazy
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.edit
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/about.html b/plugins/core/org.eclipse.papyrus.sysml16.edit/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/about.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+
+ <p>November 30, 2017</p>
+ <h3>License</h3>
+
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ ("Content"). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 2.0 ("EPL"). A copy of the EPL is
+ available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+ For purposes of the EPL, "Program" 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
+ ("Redistributor") and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL still apply to any source
+ code in the Content and such source code may be obtained at <a
+ href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+ </p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/build.properties b/plugins/core/org.eclipse.papyrus.sysml16.edit/build.properties
new file mode 100644
index 0000000..f046783
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/build.properties
@@ -0,0 +1,20 @@
+# Copyright (c) 2015 CEA LIST.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html,\
+ icons/
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AbstractRequirement.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AbstractRequirement.gif
new file mode 100644
index 0000000..b0a67f7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AbstractRequirement.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif
new file mode 100644
index 0000000..5a2faef
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AddFlowPropertyValueOnNestedPortAction.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AddFlowPropertyValueOnNestedPortAction.gif
new file mode 100644
index 0000000..28a897e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AddFlowPropertyValueOnNestedPortAction.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AdjunctProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AdjunctProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AdjunctProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocate.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocate.gif
new file mode 100644
index 0000000..a4a2536
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocate.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AllocateActivityPartition.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AllocateActivityPartition.gif
new file mode 100644
index 0000000..341b09e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AllocateActivityPartition.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocated.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocated.gif
new file mode 100644
index 0000000..c673a52
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocated.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AssociationBlock.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AssociationBlock.gif
new file mode 100644
index 0000000..7db9c69
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AssociationBlock.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif
new file mode 100644
index 0000000..8b9fa8a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif
new file mode 100644
index 0000000..bc5ab83
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BlockProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BlockProperty.gif
new file mode 100644
index 0000000..0e14c65
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BlockProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif
new file mode 100644
index 0000000..22d4ab4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif
new file mode 100644
index 0000000..1c2c5c2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConjugatedInterfaceBlock.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConjugatedInterfaceBlock.gif
new file mode 100644
index 0000000..bc5ab83
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConjugatedInterfaceBlock.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif
new file mode 100644
index 0000000..3e7750a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintProperty.gif
new file mode 100644
index 0000000..7c948e8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Continuous.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Continuous.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Continuous.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator.gif
new file mode 100644
index 0000000..482a4d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Behavior.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Behavior.gif
new file mode 100644
index 0000000..482a4d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Behavior.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Operation.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Operation.gif
new file mode 100644
index 0000000..482a4d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator_Operation.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif
new file mode 100644
index 0000000..47caa0b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Deprecated.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Deprecated.gif
new file mode 100644
index 0000000..ef56c14
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Deprecated.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif
new file mode 100644
index 0000000..6217748
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Dimension.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Dimension.gif
new file mode 100644
index 0000000..eb861a0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Dimension.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedFeature.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedFeature.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedFeature.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedRelationshipPropertyPath.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedRelationshipPropertyPath.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedRelationshipPropertyPath.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Discrete.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Discrete.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Discrete.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif
new file mode 100644
index 0000000..aae7e3c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementPropertyPath.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementPropertyPath.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementPropertyPath.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif
new file mode 100644
index 0000000..e8dea1b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif
new file mode 100644
index 0000000..78ed7ce
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_IN.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_IN.gif
new file mode 100644
index 0000000..6e45798
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_IN.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_INOUT.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_INOUT.gif
new file mode 100644
index 0000000..78ed7ce
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_INOUT.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif
new file mode 100644
index 0000000..3fd4b05
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_OUT.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_OUT.gif
new file mode 100644
index 0000000..1b7c2cb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_OUT.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif
new file mode 100644
index 0000000..77c0e22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_IN.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_IN.gif
new file mode 100644
index 0000000..dcf0b98
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_IN.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_INOUT.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_INOUT.gif
new file mode 100644
index 0000000..9b24cf5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_INOUT.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_OUT.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_OUT.gif
new file mode 100644
index 0000000..1630535
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_OUT.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif
new file mode 100644
index 0000000..1df635f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif
new file mode 100644
index 0000000..1fe1d48
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif
new file mode 100644
index 0000000..bc5ab83
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InvocationOnNestedPortAction.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InvocationOnNestedPortAction.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InvocationOnNestedPortAction.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif
new file mode 100644
index 0000000..31c9dc8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd.gif
new file mode 100644
index 0000000..a23b0b0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_ConnectorEnd.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_ConnectorEnd.gif
new file mode 100644
index 0000000..a23b0b0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_ConnectorEnd.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_Element.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_Element.gif
new file mode 100644
index 0000000..a23b0b0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd_Element.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NoBuffer.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NoBuffer.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NoBuffer.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Operation.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Operation.gif
new file mode 100644
index 0000000..482a4d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Operation.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif
new file mode 100644
index 0000000..b156d84
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Overwrite.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Overwrite.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Overwrite.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif
new file mode 100644
index 0000000..99b7fa6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Probability.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Probability.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Probability.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif
new file mode 100644
index 0000000..cd989e8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif
new file mode 100644
index 0000000..c60f0d5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ProxyPort.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ProxyPort.gif
new file mode 100644
index 0000000..2570ec8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ProxyPort.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rate.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rate.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rate.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif
new file mode 100644
index 0000000..a82851f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif
new file mode 100644
index 0000000..c8d1d8c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif
new file mode 100644
index 0000000..50618e0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/RequirementRelated.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/RequirementRelated.gif
new file mode 100644
index 0000000..33854e9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/RequirementRelated.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif
new file mode 100644
index 0000000..00848d8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif
new file mode 100644
index 0000000..afb2ea7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase.gif
new file mode 100644
index 0000000..ac29611
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Behavior.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Behavior.gif
new file mode 100644
index 0000000..ac29611
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Behavior.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Operation.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Operation.gif
new file mode 100644
index 0000000..ac29611
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase_Operation.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif
new file mode 100644
index 0000000..f4cb0d3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort.gif
new file mode 100644
index 0000000..0b53cf6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Element.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Element.gif
new file mode 100644
index 0000000..0b53cf6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Element.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Trigger.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Trigger.gif
new file mode 100644
index 0000000..0b53cf6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort_Trigger.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Unit.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Unit.gif
new file mode 100644
index 0000000..33bfb26
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Unit.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif
new file mode 100644
index 0000000..eb54412
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif
new file mode 100644
index 0000000..2d54efc
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif
new file mode 100644
index 0000000..2d874ff
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif
new file mode 100644
index 0000000..a1cd285
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.properties b/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.properties
new file mode 100644
index 0000000..cef67ec
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.properties
@@ -0,0 +1,255 @@
+# Copyright (c) 2019 CEA LIST.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+#
+
+Bundle-Name = Papyrus SysML 1.6 Profile Edit Support
+Bundle-Vendor = Eclipse Modeling Project
+
+_UI_CreateChild_text = {0}
+_UI_CreateChild_text2 = {1} {0}
+_UI_CreateChild_text3 = {1}
+_UI_CreateChild_tooltip = Create New {0} Under {1} Feature
+_UI_CreateChild_description = Create a new child of type {0} for the {1} feature of the selected {2}.
+_UI_CreateSibling_description = Create a new sibling of type {0} for the selected {2}, under the {1} feature of their parent.
+
+_UI_PropertyDescriptor_description = The {0} of the {1}
+
+_UI_Continuous_type = Continuous
+_UI_Rate_type = Rate
+_UI_ControlOperator_type = Control Operator
+_UI_Discrete_type = Discrete
+_UI_NoBuffer_type = No Buffer
+_UI_Optional_type = Optional
+_UI_Overwrite_type = Overwrite
+_UI_Probability_type = Probability
+_UI_Allocate_type = Allocate
+_UI_AllocateActivityPartition_type = Allocate Activity Partition
+_UI_AdjunctProperty_type = Adjunct Property
+_UI_BindingConnector_type = Binding Connector
+_UI_Block_type = Block
+_UI_BoundReference_type = Bound Reference
+_UI_EndPathMultiplicity_type = End Path Multiplicity
+_UI_ClassifierBehaviorProperty_type = Classifier Behavior Property
+_UI_ConnectorProperty_type = Connector Property
+_UI_DistributedProperty_type = Distributed Property
+_UI_ElementPropertyPath_type = Element Property Path
+_UI_NestedConnectorEnd_type = Nested Connector End
+_UI_ParticipantProperty_type = Participant Property
+_UI_PropertySpecificType_type = Property Specific Type
+_UI_ValueType_type = Value Type
+_UI_DirectedRelationshipPropertyPath_type = Directed Relationship Property Path
+_UI_ConstraintBlock_type = Constraint Block
+_UI_FlowPort_type = Flow Port
+_UI_FlowSpecification_type = Flow Specification
+_UI_AcceptChangeStructuralFeatureEventAction_type = Accept Change Structural Feature Event Action
+_UI_ChangeStructuralFeatureEvent_type = Change Structural Feature Event
+_UI_DirectedFeature_type = Directed Feature
+_UI_FlowProperty_type = Flow Property
+_UI_FullPort_type = Full Port
+_UI_InterfaceBlock_type = Interface Block
+_UI_InvocationOnNestedPortAction_type = Invocation On Nested Port Action
+_UI_ItemFlow_type = Item Flow
+_UI_ProxyPort_type = Proxy Port
+_UI_TriggerOnNestedPort_type = Trigger On Nested Port
+_UI_ConjugatedInterfaceBlock_type = Conjugated Interface Block
+_UI_AddFlowPropertyValueOnNestedPortAction_type = Add Flow Property Value On Nested Port Action
+_UI_Conform_type = Conform
+_UI_ElementGroup_type = Element Group
+_UI_Expose_type = Expose
+_UI_Problem_type = Problem
+_UI_Rationale_type = Rationale
+_UI_Stakeholder_type = Stakeholder
+_UI_View_type = View
+_UI_Viewpoint_type = Viewpoint
+_UI_Copy_type = Copy
+_UI_Trace_type = Trace
+_UI_Requirement_type = Requirement
+_UI_AbstractRequirement_type = Abstract Requirement
+_UI_DeriveReqt_type = Derive Reqt
+_UI_Refine_type = Refine
+_UI_Satisfy_type = Satisfy
+_UI_TestCase_type = Test Case
+_UI_Verify_type = Verify
+_UI_Auxiliary_type = Auxiliary
+_UI_Call_type = Call
+_UI_Create_type = Create
+_UI_Derive_type = Derive
+_UI_Destroy_type = Destroy
+_UI_Document_type = Document
+_UI_File_type = File
+_UI_Entity_type = Entity
+_UI_Executable_type = Executable
+_UI_Focus_type = Focus
+_UI_Framework_type = Framework
+_UI_Implement_type = Implement
+_UI_ImplementationClass_type = Implementation Class
+_UI_Instantiate_type = Instantiate
+_UI_Library_type = Library
+_UI_Metaclass_type = Metaclass
+_UI_ModelLibrary_type = Model Library
+_UI_Process_type = Process
+_UI_Realization_type = Realization
+_UI_Refine_type = Refine
+_UI_Responsibility_type = Responsibility
+_UI_Script_type = Script
+_UI_Send_type = Send
+_UI_Service_type = Service
+_UI_Source_type = Source
+_UI_Specification_type = Specification
+_UI_Subsystem_type = Subsystem
+_UI_Trace_type = Trace
+_UI_Type_type = Type
+_UI_Utility_type = Utility
+_UI_BuildComponent_type = Build Component
+_UI_Metamodel_type = Metamodel
+_UI_SystemModel_type = System Model
+_UI_Unknown_type = Object
+
+_UI_Unknown_datatype= Value
+
+_UI_Rate_base_ActivityEdge_feature = Base Activity Edge
+_UI_Rate_base_ObjectNode_feature = Base Object Node
+_UI_Rate_base_Parameter_feature = Base Parameter
+_UI_Rate_rate_feature = Rate
+_UI_ControlOperator_base_Behavior_feature = Base Behavior
+_UI_ControlOperator_base_Operation_feature = Base Operation
+_UI_NoBuffer_base_ObjectNode_feature = Base Object Node
+_UI_Optional_base_Parameter_feature = Base Parameter
+_UI_Overwrite_base_ObjectNode_feature = Base Object Node
+_UI_Probability_base_ActivityEdge_feature = Base Activity Edge
+_UI_Probability_base_ParameterSet_feature = Base Parameter Set
+_UI_Probability_probability_feature = Probability
+_UI_Allocate_base_Abstraction_feature = Base Abstraction
+_UI_AllocateActivityPartition_base_ActivityPartition_feature = Base Activity Partition
+_UI_AdjunctProperty_base_Property_feature = Base Property
+_UI_AdjunctProperty_principal_feature = Principal
+_UI_BindingConnector_base_Connector_feature = Base Connector
+_UI_Block_base_Class_feature = Base Class
+_UI_Block_isEncapsulated_feature = Is Encapsulated
+_UI_BoundReference_bindingPath_feature = Binding Path
+_UI_BoundReference_boundEnd_feature = Bound End
+_UI_EndPathMultiplicity_base_Property_feature = Base Property
+_UI_EndPathMultiplicity_lower_feature = Lower
+_UI_EndPathMultiplicity_upper_feature = Upper
+_UI_ClassifierBehaviorProperty_base_Property_feature = Base Property
+_UI_ConnectorProperty_base_Property_feature = Base Property
+_UI_ConnectorProperty_connector_feature = Connector
+_UI_DistributedProperty_base_Property_feature = Base Property
+_UI_ElementPropertyPath_base_Element_feature = Base Element
+_UI_ElementPropertyPath_propertyPath_feature = Property Path
+_UI_NestedConnectorEnd_base_ConnectorEnd_feature = Base Connector End
+_UI_ParticipantProperty_base_Property_feature = Base Property
+_UI_ParticipantProperty_end_feature = End
+_UI_PropertySpecificType_base_Classifier_feature = Base Classifier
+_UI_ValueType_base_DataType_feature = Base Data Type
+_UI_ValueType_quantityKind_feature = Quantity Kind
+_UI_ValueType_unit_feature = Unit
+_UI_DirectedRelationshipPropertyPath_base_DirectedRelationship_feature = Base Directed Relationship
+_UI_DirectedRelationshipPropertyPath_sourceContext_feature = Source Context
+_UI_DirectedRelationshipPropertyPath_sourcePropertyPath_feature = Source Property Path
+_UI_DirectedRelationshipPropertyPath_targetContext_feature = Target Context
+_UI_DirectedRelationshipPropertyPath_targetPropertyPath_feature = Target Property Path
+_UI_FlowPort_base_Port_feature = Base Port
+_UI_FlowPort_direction_feature = Direction
+_UI_FlowPort_isAtomic_feature = Is Atomic
+_UI_FlowSpecification_base_Interface_feature = Base Interface
+_UI_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_feature = Base Accept Event Action
+_UI_ChangeStructuralFeatureEvent_base_ChangeEvent_feature = Base Change Event
+_UI_ChangeStructuralFeatureEvent_structuralFeature_feature = Structural Feature
+_UI_DirectedFeature_base_Feature_feature = Base Feature
+_UI_DirectedFeature_featureDirection_feature = Feature Direction
+_UI_FlowProperty_base_Property_feature = Base Property
+_UI_FlowProperty_direction_feature = Direction
+_UI_FullPort_base_Port_feature = Base Port
+_UI_InvocationOnNestedPortAction_base_InvocationAction_feature = Base Invocation Action
+_UI_InvocationOnNestedPortAction_onNestedPort_feature = On Nested Port
+_UI_ItemFlow_base_InformationFlow_feature = Base Information Flow
+_UI_ItemFlow_itemProperty_feature = Item Property
+_UI_ProxyPort_base_Port_feature = Base Port
+_UI_TriggerOnNestedPort_base_Trigger_feature = Base Trigger
+_UI_TriggerOnNestedPort_onNestedPort_feature = On Nested Port
+_UI_ConjugatedInterfaceBlock_original_feature = Original
+_UI_AddFlowPropertyValueOnNestedPortAction_onNestedPort_feature = On Nested Port
+_UI_AddFlowPropertyValueOnNestedPortAction_base_AddStructuralFeatureValueAction_feature = Base Add Structural Feature Value Action
+_UI_Conform_base_Generalization_feature = Base Generalization
+_UI_ElementGroup_base_Comment_feature = Base Comment
+_UI_ElementGroup_criterion_feature = Criterion
+_UI_ElementGroup_member_feature = Member
+_UI_ElementGroup_name_feature = Name
+_UI_ElementGroup_orderedMember_feature = Ordered Member
+_UI_ElementGroup_size_feature = Size
+_UI_Expose_base_Dependency_feature = Base Dependency
+_UI_Problem_base_Comment_feature = Base Comment
+_UI_Rationale_base_Comment_feature = Base Comment
+_UI_Stakeholder_base_Classifier_feature = Base Classifier
+_UI_Stakeholder_concernList_feature = Concern List
+_UI_Stakeholder_concern_feature = Concern
+_UI_View_base_Class_feature = Base Class
+_UI_View_stakeholder_feature = Stakeholder
+_UI_View_viewPoint_feature = View Point
+_UI_Viewpoint_base_Class_feature = Base Class
+_UI_Viewpoint_concern_feature = Concern
+_UI_Viewpoint_concernList_feature = Concern List
+_UI_Viewpoint_language_feature = Language
+_UI_Viewpoint_method_feature = Method
+_UI_Viewpoint_presentation_feature = Presentation
+_UI_Viewpoint_purpose_feature = Purpose
+_UI_Viewpoint_stakeholder_feature = Stakeholder
+_UI_Requirement_base_Class_feature = Base Class
+_UI_AbstractRequirement_base_NamedElement_feature = Base Named Element
+_UI_AbstractRequirement_derived_feature = Derived
+_UI_AbstractRequirement_derivedFrom_feature = Derived From
+_UI_AbstractRequirement_id_feature = Id
+_UI_AbstractRequirement_master_feature = Master
+_UI_AbstractRequirement_refinedBy_feature = Refined By
+_UI_AbstractRequirement_satisfiedBy_feature = Satisfied By
+_UI_AbstractRequirement_text_feature = Text
+_UI_AbstractRequirement_tracedTo_feature = Traced To
+_UI_AbstractRequirement_verifiedBy_feature = Verified By
+_UI_TestCase_base_Behavior_feature = Base Behavior
+_UI_TestCase_base_Operation_feature = Base Operation
+_UI_Auxiliary_base_Class_feature = Base Class
+_UI_Call_base_Usage_feature = Base Usage
+_UI_Create_base_BehavioralFeature_feature = Base Behavioral Feature
+_UI_Create_base_Usage_feature = Base Usage
+_UI_Derive_computation_feature = Computation
+_UI_Derive_base_Abstraction_feature = Base Abstraction
+_UI_Destroy_base_BehavioralFeature_feature = Base Behavioral Feature
+_UI_File_base_Artifact_feature = Base Artifact
+_UI_Entity_base_Component_feature = Base Component
+_UI_Focus_base_Class_feature = Base Class
+_UI_Framework_base_Package_feature = Base Package
+_UI_Implement_base_Component_feature = Base Component
+_UI_ImplementationClass_base_Class_feature = Base Class
+_UI_Instantiate_base_Usage_feature = Base Usage
+_UI_Metaclass_base_Class_feature = Base Class
+_UI_ModelLibrary_base_Package_feature = Base Package
+_UI_Process_base_Component_feature = Base Component
+_UI_Realization_base_Classifier_feature = Base Classifier
+_UI_Refine_base_Abstraction_feature = Base Abstraction
+_UI_Responsibility_base_Usage_feature = Base Usage
+_UI_Send_base_Usage_feature = Base Usage
+_UI_Service_base_Component_feature = Base Component
+_UI_Specification_base_Classifier_feature = Base Classifier
+_UI_Subsystem_base_Component_feature = Base Component
+_UI_Trace_base_Abstraction_feature = Base Abstraction
+_UI_Type_base_Class_feature = Base Class
+_UI_Utility_base_Class_feature = Base Class
+_UI_BuildComponent_base_Component_feature = Base Component
+_UI_Metamodel_base_Model_feature = Base Model
+_UI_SystemModel_base_Model_feature = Base Model
+_UI_Unknown_feature = Unspecified
+
+_UI_FeatureDirectionKind_provided_literal = provided
+_UI_FeatureDirectionKind_providedRequired_literal = providedRequired
+_UI_FeatureDirectionKind_required_literal = required
+_UI_FlowDirectionKind_in_literal = in
+_UI_FlowDirectionKind_inout_literal = inout
+_UI_FlowDirectionKind_out_literal = out
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.xml b/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.xml
new file mode 100644
index 0000000..3940d7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/plugin.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+-->
+
+<plugin>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated SysML.profile -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"
+ class="org.eclipse.papyrus.sysml16.activities.provider.ActivitiesItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated SysML.profile -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"
+ class="org.eclipse.papyrus.sysml16.allocations.provider.AllocationsItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated SysML -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"
+ class="org.eclipse.papyrus.sysml16.blocks.provider.BlocksItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated SysML.profile -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks"
+ class="org.eclipse.papyrus.sysml16.constraintblocks.provider.ConstraintBlocksItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated SysML.profile -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements"
+ class="org.eclipse.papyrus.sysml16.deprecatedelements.provider.DeprecatedElementsItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated SysML.profile -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"
+ class="org.eclipse.papyrus.sysml16.portsandflows.provider.PortsAndFlowsItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated SysML.profile -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"
+ class="org.eclipse.papyrus.sysml16.modelelements.provider.ModelElementsItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.edit.itemProviderAdapterFactories">
+ <!-- @generated SysML.profile -->
+ <factory
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements"
+ class="org.eclipse.papyrus.sysml16.requirements.provider.RequirementsItemProviderAdapterFactory"
+ supportedTypes=
+ "org.eclipse.emf.edit.provider.IEditingDomainItemProvider
+ org.eclipse.emf.edit.provider.IStructuredItemContentProvider
+ org.eclipse.emf.edit.provider.ITreeItemContentProvider
+ org.eclipse.emf.edit.provider.IItemLabelProvider
+ org.eclipse.emf.edit.provider.IItemPropertySource"/>
+ </extension>
+</plugin>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/pom.xml b/plugins/core/org.eclipse.papyrus.sysml16.edit/pom.xml
new file mode 100644
index 0000000..f11c1af
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.sysml16.core</artifactId>
+ <groupId>org.eclipse.papyrus.sysml</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.sysml16.edit</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <name>org.eclipse.papyrus.sysml16.edit</name>
+ <description>This plug-in has been generated from this file : /org.eclipse.papyrus-sysml/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.genmodel</description>
+</project>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ActivitiesItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ActivitiesItemProviderAdapterFactory.java
new file mode 100644
index 0000000..898cee4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ActivitiesItemProviderAdapterFactory.java
@@ -0,0 +1,384 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.activities.util.ActivitiesAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivitiesItemProviderAdapterFactory extends ActivitiesAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivitiesItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Continuous} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContinuousItemProvider continuousItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Continuous}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createContinuousAdapter() {
+ if (continuousItemProvider == null) {
+ continuousItemProvider = new ContinuousItemProvider(this);
+ }
+
+ return continuousItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Rate} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RateItemProvider rateItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Rate}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createRateAdapter() {
+ if (rateItemProvider == null) {
+ rateItemProvider = new RateItemProvider(this);
+ }
+
+ return rateItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.ControlOperator} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ControlOperatorItemProvider controlOperatorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.ControlOperator}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createControlOperatorAdapter() {
+ if (controlOperatorItemProvider == null) {
+ controlOperatorItemProvider = new ControlOperatorItemProvider(this);
+ }
+
+ return controlOperatorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Discrete} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DiscreteItemProvider discreteItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Discrete}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createDiscreteAdapter() {
+ if (discreteItemProvider == null) {
+ discreteItemProvider = new DiscreteItemProvider(this);
+ }
+
+ return discreteItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.NoBuffer} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NoBufferItemProvider noBufferItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.NoBuffer}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createNoBufferAdapter() {
+ if (noBufferItemProvider == null) {
+ noBufferItemProvider = new NoBufferItemProvider(this);
+ }
+
+ return noBufferItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Optional} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OptionalItemProvider optionalItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Optional}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createOptionalAdapter() {
+ if (optionalItemProvider == null) {
+ optionalItemProvider = new OptionalItemProvider(this);
+ }
+
+ return optionalItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Overwrite} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OverwriteItemProvider overwriteItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Overwrite}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createOverwriteAdapter() {
+ if (overwriteItemProvider == null) {
+ overwriteItemProvider = new OverwriteItemProvider(this);
+ }
+
+ return overwriteItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.activities.Probability} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProbabilityItemProvider probabilityItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.activities.Probability}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createProbabilityAdapter() {
+ if (probabilityItemProvider == null) {
+ probabilityItemProvider = new ProbabilityItemProvider(this);
+ }
+
+ return probabilityItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (continuousItemProvider != null) continuousItemProvider.dispose();
+ if (rateItemProvider != null) rateItemProvider.dispose();
+ if (controlOperatorItemProvider != null) controlOperatorItemProvider.dispose();
+ if (discreteItemProvider != null) discreteItemProvider.dispose();
+ if (noBufferItemProvider != null) noBufferItemProvider.dispose();
+ if (optionalItemProvider != null) optionalItemProvider.dispose();
+ if (overwriteItemProvider != null) overwriteItemProvider.dispose();
+ if (probabilityItemProvider != null) probabilityItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ContinuousItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ContinuousItemProvider.java
new file mode 100644
index 0000000..55ff721
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ContinuousItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Continuous} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ContinuousItemProvider extends RateItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ContinuousItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Continuous.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Continuous")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Continuous_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ControlOperatorItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ControlOperatorItemProvider.java
new file mode 100644
index 0000000..94a3e58
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ControlOperatorItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.ControlOperator} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ControlOperatorItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ControlOperatorItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_BehaviorPropertyDescriptor(object);
+ addBase_OperationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_BehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ControlOperator_base_Behavior_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ControlOperator_base_Behavior_feature", "_UI_ControlOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.CONTROL_OPERATOR__BASE_BEHAVIOR,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_OperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ControlOperator_base_Operation_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ControlOperator_base_Operation_feature", "_UI_ControlOperator_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.CONTROL_OPERATOR__BASE_OPERATION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ControlOperator.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ControlOperator")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ControlOperator_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/DiscreteItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/DiscreteItemProvider.java
new file mode 100644
index 0000000..c156596
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/DiscreteItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Discrete} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DiscreteItemProvider extends RateItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DiscreteItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Discrete.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Discrete")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Discrete_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/NoBufferItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/NoBufferItemProvider.java
new file mode 100644
index 0000000..5220046
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/NoBufferItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.NoBuffer} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NoBufferItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NoBufferItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ObjectNodePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Object Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ObjectNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_NoBuffer_base_ObjectNode_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_NoBuffer_base_ObjectNode_feature", "_UI_NoBuffer_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.NO_BUFFER__BASE_OBJECT_NODE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns NoBuffer.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/NoBuffer")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_NoBuffer_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OptionalItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OptionalItemProvider.java
new file mode 100644
index 0000000..bbc99a6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OptionalItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Optional} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OptionalItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OptionalItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ParameterPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Optional_base_Parameter_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Optional_base_Parameter_feature", "_UI_Optional_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.OPTIONAL__BASE_PARAMETER,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Optional.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Optional")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Optional_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OverwriteItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OverwriteItemProvider.java
new file mode 100644
index 0000000..e78045b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/OverwriteItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Overwrite} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OverwriteItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OverwriteItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ObjectNodePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Object Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ObjectNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Overwrite_base_ObjectNode_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Overwrite_base_ObjectNode_feature", "_UI_Overwrite_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.OVERWRITE__BASE_OBJECT_NODE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Overwrite.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Overwrite")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Overwrite_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ProbabilityItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ProbabilityItemProvider.java
new file mode 100644
index 0000000..8857953
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/ProbabilityItemProvider.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Probability} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProbabilityItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProbabilityItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ActivityEdgePropertyDescriptor(object);
+ addBase_ParameterSetPropertyDescriptor(object);
+ addProbabilityPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Activity Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ActivityEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Probability_base_ActivityEdge_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Probability_base_ActivityEdge_feature", "_UI_Probability_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.PROBABILITY__BASE_ACTIVITY_EDGE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Parameter Set feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ParameterSetPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Probability_base_ParameterSet_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Probability_base_ParameterSet_feature", "_UI_Probability_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.PROBABILITY__BASE_PARAMETER_SET,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Probability feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addProbabilityPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Probability_probability_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Probability_probability_feature", "_UI_Probability_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.PROBABILITY__PROBABILITY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Probability.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Probability")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Probability_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/RateItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/RateItemProvider.java
new file mode 100644
index 0000000..dd7629c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/activities/provider/RateItemProvider.java
@@ -0,0 +1,228 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.activities.Rate} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RateItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RateItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ActivityEdgePropertyDescriptor(object);
+ addBase_ObjectNodePropertyDescriptor(object);
+ addBase_ParameterPropertyDescriptor(object);
+ addRatePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Activity Edge feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ActivityEdgePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Rate_base_ActivityEdge_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Rate_base_ActivityEdge_feature", "_UI_Rate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.RATE__BASE_ACTIVITY_EDGE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Object Node feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ObjectNodePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Rate_base_ObjectNode_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Rate_base_ObjectNode_feature", "_UI_Rate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.RATE__BASE_OBJECT_NODE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Parameter feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ParameterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Rate_base_Parameter_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Rate_base_Parameter_feature", "_UI_Rate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.RATE__BASE_PARAMETER,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Rate feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRatePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Rate_rate_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Rate_rate_feature", "_UI_Rate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ActivitiesPackage.Literals.RATE__RATE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Rate.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Rate")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Rate_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateActivityPartitionItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateActivityPartitionItemProvider.java
new file mode 100644
index 0000000..12376ff
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateActivityPartitionItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocateActivityPartitionItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocateActivityPartitionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ActivityPartitionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Activity Partition feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ActivityPartitionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AllocateActivityPartition_base_ActivityPartition_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AllocateActivityPartition_base_ActivityPartition_feature", "_UI_AllocateActivityPartition_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ AllocationsPackage.Literals.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns AllocateActivityPartition.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/AllocateActivityPartition")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_AllocateActivityPartition_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateItemProvider.java
new file mode 100644
index 0000000..b66ac9b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocateItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.DirectedRelationshipPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.allocations.Allocate} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocateItemProvider extends DirectedRelationshipPropertyPathItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocateItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_AbstractionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Abstraction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_AbstractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Allocate_base_Abstraction_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Allocate_base_Abstraction_feature", "_UI_Allocate_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ AllocationsPackage.Literals.ALLOCATE__BASE_ABSTRACTION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Allocate.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Allocate")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Allocate_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocationsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocationsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..4441f88
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/allocations/provider/AllocationsItemProviderAdapterFactory.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.allocations.util.AllocationsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocationsItemProviderAdapterFactory extends AllocationsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocationsItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.allocations.Allocate} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocateItemProvider allocateItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.allocations.Allocate}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createAllocateAdapter() {
+ if (allocateItemProvider == null) {
+ allocateItemProvider = new AllocateItemProvider(this);
+ }
+
+ return allocateItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocateActivityPartitionItemProvider allocateActivityPartitionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createAllocateActivityPartitionAdapter() {
+ if (allocateActivityPartitionItemProvider == null) {
+ allocateActivityPartitionItemProvider = new AllocateActivityPartitionItemProvider(this);
+ }
+
+ return allocateActivityPartitionItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (allocateItemProvider != null) allocateItemProvider.dispose();
+ if (allocateActivityPartitionItemProvider != null) allocateActivityPartitionItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/AdjunctPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/AdjunctPropertyItemProvider.java
new file mode 100644
index 0000000..401e6a6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/AdjunctPropertyItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AdjunctPropertyItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AdjunctPropertyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PropertyPropertyDescriptor(object);
+ addPrincipalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AdjunctProperty_base_Property_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AdjunctProperty_base_Property_feature", "_UI_AdjunctProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.ADJUNCT_PROPERTY__BASE_PROPERTY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Principal feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPrincipalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AdjunctProperty_principal_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AdjunctProperty_principal_feature", "_UI_AdjunctProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.ADJUNCT_PROPERTY__PRINCIPAL,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns AdjunctProperty.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/AdjunctProperty")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_AdjunctProperty_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BindingConnectorItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BindingConnectorItemProvider.java
new file mode 100644
index 0000000..174ca74
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BindingConnectorItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.BindingConnector} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BindingConnectorItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BindingConnectorItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ConnectorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Connector feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ConnectorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BindingConnector_base_Connector_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_BindingConnector_base_Connector_feature", "_UI_BindingConnector_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.BINDING_CONNECTOR__BASE_CONNECTOR,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns BindingConnector.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/BindingConnector")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_BindingConnector_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlockItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlockItemProvider.java
new file mode 100644
index 0000000..744f1ad
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlockItemProvider.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.Block} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BlockItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BlockItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ClassPropertyDescriptor(object);
+ addIsEncapsulatedPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Class feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ClassPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Block_base_Class_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Block_base_Class_feature", "_UI_Block_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.BLOCK__BASE_CLASS,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Encapsulated feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsEncapsulatedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Block_isEncapsulated_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Block_isEncapsulated_feature", "_UI_Block_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.BLOCK__IS_ENCAPSULATED,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Block.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Block")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ Block block = (Block)object;
+ return getString("_UI_Block_type") + " " + block.isEncapsulated(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Block.class)) {
+ case BlocksPackage.BLOCK__IS_ENCAPSULATED:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlocksItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlocksItemProviderAdapterFactory.java
new file mode 100644
index 0000000..9635e8e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BlocksItemProviderAdapterFactory.java
@@ -0,0 +1,480 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.blocks.util.BlocksAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BlocksItemProviderAdapterFactory extends BlocksAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BlocksItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AdjunctPropertyItemProvider adjunctPropertyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createAdjunctPropertyAdapter() {
+ if (adjunctPropertyItemProvider == null) {
+ adjunctPropertyItemProvider = new AdjunctPropertyItemProvider(this);
+ }
+
+ return adjunctPropertyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.BindingConnector} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BindingConnectorItemProvider bindingConnectorItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.BindingConnector}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createBindingConnectorAdapter() {
+ if (bindingConnectorItemProvider == null) {
+ bindingConnectorItemProvider = new BindingConnectorItemProvider(this);
+ }
+
+ return bindingConnectorItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.Block} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BlockItemProvider blockItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.Block}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createBlockAdapter() {
+ if (blockItemProvider == null) {
+ blockItemProvider = new BlockItemProvider(this);
+ }
+
+ return blockItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.BoundReference} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BoundReferenceItemProvider boundReferenceItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.BoundReference}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createBoundReferenceAdapter() {
+ if (boundReferenceItemProvider == null) {
+ boundReferenceItemProvider = new BoundReferenceItemProvider(this);
+ }
+
+ return boundReferenceItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EndPathMultiplicityItemProvider endPathMultiplicityItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createEndPathMultiplicityAdapter() {
+ if (endPathMultiplicityItemProvider == null) {
+ endPathMultiplicityItemProvider = new EndPathMultiplicityItemProvider(this);
+ }
+
+ return endPathMultiplicityItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassifierBehaviorPropertyItemProvider classifierBehaviorPropertyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createClassifierBehaviorPropertyAdapter() {
+ if (classifierBehaviorPropertyItemProvider == null) {
+ classifierBehaviorPropertyItemProvider = new ClassifierBehaviorPropertyItemProvider(this);
+ }
+
+ return classifierBehaviorPropertyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.ConnectorProperty} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConnectorPropertyItemProvider connectorPropertyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ConnectorProperty}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createConnectorPropertyAdapter() {
+ if (connectorPropertyItemProvider == null) {
+ connectorPropertyItemProvider = new ConnectorPropertyItemProvider(this);
+ }
+
+ return connectorPropertyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.DistributedProperty} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DistributedPropertyItemProvider distributedPropertyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.DistributedProperty}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createDistributedPropertyAdapter() {
+ if (distributedPropertyItemProvider == null) {
+ distributedPropertyItemProvider = new DistributedPropertyItemProvider(this);
+ }
+
+ return distributedPropertyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NestedConnectorEndItemProvider nestedConnectorEndItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createNestedConnectorEndAdapter() {
+ if (nestedConnectorEndItemProvider == null) {
+ nestedConnectorEndItemProvider = new NestedConnectorEndItemProvider(this);
+ }
+
+ return nestedConnectorEndItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.ParticipantProperty} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ParticipantPropertyItemProvider participantPropertyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ParticipantProperty}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createParticipantPropertyAdapter() {
+ if (participantPropertyItemProvider == null) {
+ participantPropertyItemProvider = new ParticipantPropertyItemProvider(this);
+ }
+
+ return participantPropertyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.PropertySpecificType} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected PropertySpecificTypeItemProvider propertySpecificTypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.PropertySpecificType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createPropertySpecificTypeAdapter() {
+ if (propertySpecificTypeItemProvider == null) {
+ propertySpecificTypeItemProvider = new PropertySpecificTypeItemProvider(this);
+ }
+
+ return propertySpecificTypeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.blocks.ValueType} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ValueTypeItemProvider valueTypeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ValueType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createValueTypeAdapter() {
+ if (valueTypeItemProvider == null) {
+ valueTypeItemProvider = new ValueTypeItemProvider(this);
+ }
+
+ return valueTypeItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (adjunctPropertyItemProvider != null) adjunctPropertyItemProvider.dispose();
+ if (bindingConnectorItemProvider != null) bindingConnectorItemProvider.dispose();
+ if (blockItemProvider != null) blockItemProvider.dispose();
+ if (boundReferenceItemProvider != null) boundReferenceItemProvider.dispose();
+ if (endPathMultiplicityItemProvider != null) endPathMultiplicityItemProvider.dispose();
+ if (classifierBehaviorPropertyItemProvider != null) classifierBehaviorPropertyItemProvider.dispose();
+ if (connectorPropertyItemProvider != null) connectorPropertyItemProvider.dispose();
+ if (distributedPropertyItemProvider != null) distributedPropertyItemProvider.dispose();
+ if (nestedConnectorEndItemProvider != null) nestedConnectorEndItemProvider.dispose();
+ if (participantPropertyItemProvider != null) participantPropertyItemProvider.dispose();
+ if (propertySpecificTypeItemProvider != null) propertySpecificTypeItemProvider.dispose();
+ if (valueTypeItemProvider != null) valueTypeItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BoundReferenceItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BoundReferenceItemProvider.java
new file mode 100644
index 0000000..1f98ee5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/BoundReferenceItemProvider.java
@@ -0,0 +1,156 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.BoundReference} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class BoundReferenceItemProvider extends EndPathMultiplicityItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BoundReferenceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBindingPathPropertyDescriptor(object);
+ addBoundEndPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Binding Path feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBindingPathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BoundReference_bindingPath_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_BoundReference_bindingPath_feature", "_UI_BoundReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.BOUND_REFERENCE__BINDING_PATH,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Bound End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBoundEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_BoundReference_boundEnd_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_BoundReference_boundEnd_feature", "_UI_BoundReference_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.BOUND_REFERENCE__BOUND_END,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns BoundReference.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/BoundReference")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ BoundReference boundReference = (BoundReference)object;
+ return getString("_UI_BoundReference_type") + " " + boundReference.getLower(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ClassifierBehaviorPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ClassifierBehaviorPropertyItemProvider.java
new file mode 100644
index 0000000..6fe39ec
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ClassifierBehaviorPropertyItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ClassifierBehaviorPropertyItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClassifierBehaviorPropertyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PropertyPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ClassifierBehaviorProperty_base_Property_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ClassifierBehaviorProperty_base_Property_feature", "_UI_ClassifierBehaviorProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.CLASSIFIER_BEHAVIOR_PROPERTY__BASE_PROPERTY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ClassifierBehaviorProperty.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ClassifierBehaviorProperty")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ClassifierBehaviorProperty_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ConnectorPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ConnectorPropertyItemProvider.java
new file mode 100644
index 0000000..e69e7f0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ConnectorPropertyItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ConnectorProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConnectorPropertyItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectorPropertyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PropertyPropertyDescriptor(object);
+ addConnectorPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectorProperty_base_Property_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ConnectorProperty_base_Property_feature", "_UI_ConnectorProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.CONNECTOR_PROPERTY__BASE_PROPERTY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Connector feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConnectorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConnectorProperty_connector_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ConnectorProperty_connector_feature", "_UI_ConnectorProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.CONNECTOR_PROPERTY__CONNECTOR,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ConnectorProperty.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ConnectorProperty")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ConnectorProperty_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DirectedRelationshipPropertyPathItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DirectedRelationshipPropertyPathItemProvider.java
new file mode 100644
index 0000000..1d57ec7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DirectedRelationshipPropertyPathItemProvider.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DirectedRelationshipPropertyPathItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DirectedRelationshipPropertyPathItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_DirectedRelationshipPropertyDescriptor(object);
+ addSourceContextPropertyDescriptor(object);
+ addSourcePropertyPathPropertyDescriptor(object);
+ addTargetContextPropertyDescriptor(object);
+ addTargetPropertyPathPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Directed Relationship feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_DirectedRelationshipPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationshipPropertyPath_base_DirectedRelationship_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_base_DirectedRelationship_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Source Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourceContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationshipPropertyPath_sourceContext_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_sourceContext_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Source Property Path feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSourcePropertyPathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationshipPropertyPath_sourcePropertyPath_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_sourcePropertyPath_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Target Context feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetContextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationshipPropertyPath_targetContext_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_targetContext_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Target Property Path feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTargetPropertyPathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedRelationshipPropertyPath_targetPropertyPath_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_DirectedRelationshipPropertyPath_targetPropertyPath_feature", "_UI_DirectedRelationshipPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_DirectedRelationshipPropertyPath_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DistributedPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DistributedPropertyItemProvider.java
new file mode 100644
index 0000000..4050b62
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/DistributedPropertyItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.DistributedProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DistributedPropertyItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DistributedPropertyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PropertyPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DistributedProperty_base_Property_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_DistributedProperty_base_Property_feature", "_UI_DistributedProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.DISTRIBUTED_PROPERTY__BASE_PROPERTY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns DistributedProperty.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DistributedProperty")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_DistributedProperty_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ElementPropertyPathItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ElementPropertyPathItemProvider.java
new file mode 100644
index 0000000..b12cb0c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ElementPropertyPathItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementPropertyPathItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementPropertyPathItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ElementPropertyDescriptor(object);
+ addPropertyPathPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementPropertyPath_base_Element_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementPropertyPath_base_Element_feature", "_UI_ElementPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.ELEMENT_PROPERTY_PATH__BASE_ELEMENT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Property Path feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPropertyPathPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementPropertyPath_propertyPath_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementPropertyPath_propertyPath_feature", "_UI_ElementPropertyPath_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.ELEMENT_PROPERTY_PATH__PROPERTY_PATH,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ElementPropertyPath_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/EndPathMultiplicityItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/EndPathMultiplicityItemProvider.java
new file mode 100644
index 0000000..bf2c82c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/EndPathMultiplicityItemProvider.java
@@ -0,0 +1,216 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class EndPathMultiplicityItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EndPathMultiplicityItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PropertyPropertyDescriptor(object);
+ addLowerPropertyDescriptor(object);
+ addUpperPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_EndPathMultiplicity_base_Property_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_EndPathMultiplicity_base_Property_feature", "_UI_EndPathMultiplicity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.END_PATH_MULTIPLICITY__BASE_PROPERTY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Lower feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLowerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_EndPathMultiplicity_lower_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_EndPathMultiplicity_lower_feature", "_UI_EndPathMultiplicity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.END_PATH_MULTIPLICITY__LOWER,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Upper feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUpperPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_EndPathMultiplicity_upper_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_EndPathMultiplicity_upper_feature", "_UI_EndPathMultiplicity_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.END_PATH_MULTIPLICITY__UPPER,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns EndPathMultiplicity.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/EndPathMultiplicity")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ EndPathMultiplicity endPathMultiplicity = (EndPathMultiplicity)object;
+ return getString("_UI_EndPathMultiplicity_type") + " " + endPathMultiplicity.getLower(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(EndPathMultiplicity.class)) {
+ case BlocksPackage.END_PATH_MULTIPLICITY__LOWER:
+ case BlocksPackage.END_PATH_MULTIPLICITY__UPPER:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/NestedConnectorEndItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/NestedConnectorEndItemProvider.java
new file mode 100644
index 0000000..bb0b85f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/NestedConnectorEndItemProvider.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class NestedConnectorEndItemProvider extends ElementPropertyPathItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NestedConnectorEndItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ConnectorEndPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Connector End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ConnectorEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_NestedConnectorEnd_base_ConnectorEnd_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_NestedConnectorEnd_base_ConnectorEnd_feature", "_UI_NestedConnectorEnd_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.NESTED_CONNECTOR_END__BASE_CONNECTOR_END,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns NestedConnectorEnd.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/NestedConnectorEnd")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_NestedConnectorEnd_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ParticipantPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ParticipantPropertyItemProvider.java
new file mode 100644
index 0000000..8e8d9f0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ParticipantPropertyItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ParticipantProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ParticipantPropertyItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParticipantPropertyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PropertyPropertyDescriptor(object);
+ addEndPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParticipantProperty_base_Property_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ParticipantProperty_base_Property_feature", "_UI_ParticipantProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.PARTICIPANT_PROPERTY__BASE_PROPERTY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the End feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addEndPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ParticipantProperty_end_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ParticipantProperty_end_feature", "_UI_ParticipantProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.PARTICIPANT_PROPERTY__END,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ParticipantProperty.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ParticipantProperty")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ParticipantProperty_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/PropertySpecificTypeItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/PropertySpecificTypeItemProvider.java
new file mode 100644
index 0000000..43384a2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/PropertySpecificTypeItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.PropertySpecificType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PropertySpecificTypeItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PropertySpecificTypeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ClassifierPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_PropertySpecificType_base_Classifier_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_PropertySpecificType_base_Classifier_feature", "_UI_PropertySpecificType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.PROPERTY_SPECIFIC_TYPE__BASE_CLASSIFIER,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns PropertySpecificType.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/PropertySpecificType")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_PropertySpecificType_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ValueTypeItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ValueTypeItemProvider.java
new file mode 100644
index 0000000..2086eab
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/blocks/provider/ValueTypeItemProvider.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.blocks.ValueType} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ValueTypeItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueTypeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_DataTypePropertyDescriptor(object);
+ addQuantityKindPropertyDescriptor(object);
+ addUnitPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Data Type feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_DataTypePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ValueType_base_DataType_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ValueType_base_DataType_feature", "_UI_ValueType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.VALUE_TYPE__BASE_DATA_TYPE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Quantity Kind feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addQuantityKindPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ValueType_quantityKind_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ValueType_quantityKind_feature", "_UI_ValueType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.VALUE_TYPE__QUANTITY_KIND,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Unit feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addUnitPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ValueType_unit_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ValueType_unit_feature", "_UI_ValueType_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ BlocksPackage.Literals.VALUE_TYPE__UNIT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ValueType.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ValueType")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ValueType_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlockItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlockItemProvider.java
new file mode 100644
index 0000000..7f4fb53
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlockItemProvider.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.BlockItemProvider;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConstraintBlockItemProvider extends BlockItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConstraintBlockItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns ConstraintBlock.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ConstraintBlock")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ ConstraintBlock constraintBlock = (ConstraintBlock)object;
+ return getString("_UI_ConstraintBlock_type") + " " + constraintBlock.isEncapsulated(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlocksItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlocksItemProviderAdapterFactory.java
new file mode 100644
index 0000000..5941199
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/constraintblocks/provider/ConstraintBlocksItemProviderAdapterFactory.java
@@ -0,0 +1,216 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.constraintblocks.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.util.ConstraintBlocksAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConstraintBlocksItemProviderAdapterFactory extends ConstraintBlocksAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConstraintBlocksItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConstraintBlockItemProvider constraintBlockItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createConstraintBlockAdapter() {
+ if (constraintBlockItemProvider == null) {
+ constraintBlockItemProvider = new ConstraintBlockItemProvider(this);
+ }
+
+ return constraintBlockItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (constraintBlockItemProvider != null) constraintBlockItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/DeprecatedElementsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/DeprecatedElementsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..e6d72b6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/DeprecatedElementsItemProviderAdapterFactory.java
@@ -0,0 +1,240 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.util.DeprecatedElementsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeprecatedElementsItemProviderAdapterFactory extends DeprecatedElementsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeprecatedElementsItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlowPortItemProvider flowPortItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createFlowPortAdapter() {
+ if (flowPortItemProvider == null) {
+ flowPortItemProvider = new FlowPortItemProvider(this);
+ }
+
+ return flowPortItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlowSpecificationItemProvider flowSpecificationItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createFlowSpecificationAdapter() {
+ if (flowSpecificationItemProvider == null) {
+ flowSpecificationItemProvider = new FlowSpecificationItemProvider(this);
+ }
+
+ return flowSpecificationItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (flowPortItemProvider != null) flowPortItemProvider.dispose();
+ if (flowSpecificationItemProvider != null) flowSpecificationItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowPortItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowPortItemProvider.java
new file mode 100644
index 0000000..15b3123
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowPortItemProvider.java
@@ -0,0 +1,221 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FlowPortItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowPortItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PortPropertyDescriptor(object);
+ addDirectionPropertyDescriptor(object);
+ addIsAtomicPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_FlowPort_base_Port_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_FlowPort_base_Port_feature", "_UI_FlowPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ DeprecatedElementsPackage.Literals.FLOW_PORT__BASE_PORT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Direction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDirectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_FlowPort_direction_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_FlowPort_direction_feature", "_UI_FlowPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ DeprecatedElementsPackage.Literals.FLOW_PORT__DIRECTION,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Is Atomic feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIsAtomicPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_FlowPort_isAtomic_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_FlowPort_isAtomic_feature", "_UI_FlowPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ DeprecatedElementsPackage.Literals.FLOW_PORT__IS_ATOMIC,
+ false,
+ false,
+ false,
+ ItemPropertyDescriptor.BOOLEAN_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns FlowPort.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/FlowPort")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ FlowDirectionKind labelValue = ((FlowPort)object).getDirection();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ?
+ getString("_UI_FlowPort_type") : //$NON-NLS-1$
+ getString("_UI_FlowPort_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(FlowPort.class)) {
+ case DeprecatedElementsPackage.FLOW_PORT__DIRECTION:
+ case DeprecatedElementsPackage.FLOW_PORT__IS_ATOMIC:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowSpecificationItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowSpecificationItemProvider.java
new file mode 100644
index 0000000..e85ab11
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/deprecatedelements/provider/FlowSpecificationItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.deprecatedelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.deprecatedelements.FlowSpecification} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FlowSpecificationItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowSpecificationItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_InterfacePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Interface feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_InterfacePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_FlowSpecification_base_Interface_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_FlowSpecification_base_Interface_feature", "_UI_FlowSpecification_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ DeprecatedElementsPackage.Literals.FLOW_SPECIFICATION__BASE_INTERFACE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns FlowSpecification.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/FlowSpecification")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_FlowSpecification_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ConformItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ConformItemProvider.java
new file mode 100644
index 0000000..9a7c35d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ConformItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Conform} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConformItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConformItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_GeneralizationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Generalization feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_GeneralizationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Conform_base_Generalization_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Conform_base_Generalization_feature", "_UI_Conform_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.CONFORM__BASE_GENERALIZATION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Conform.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Conform")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Conform_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ElementGroupItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ElementGroupItemProvider.java
new file mode 100644
index 0000000..4ddda55
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ElementGroupItemProvider.java
@@ -0,0 +1,288 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.modelelements.ElementGroup;
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ElementGroupItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ElementGroupItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_CommentPropertyDescriptor(object);
+ addCriterionPropertyDescriptor(object);
+ addMemberPropertyDescriptor(object);
+ addNamePropertyDescriptor(object);
+ addOrderedMemberPropertyDescriptor(object);
+ addSizePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_CommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementGroup_base_Comment_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_base_Comment_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.ELEMENT_GROUP__BASE_COMMENT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Criterion feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addCriterionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementGroup_criterion_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_criterion_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.ELEMENT_GROUP__CRITERION,
+ false,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementGroup_member_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_member_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.ELEMENT_GROUP__MEMBER,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Name feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addNamePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementGroup_name_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_name_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.ELEMENT_GROUP__NAME,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Ordered Member feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOrderedMemberPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementGroup_orderedMember_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_orderedMember_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.ELEMENT_GROUP__ORDERED_MEMBER,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Size feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSizePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ElementGroup_size_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ElementGroup_size_feature", "_UI_ElementGroup_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.ELEMENT_GROUP__SIZE,
+ false,
+ false,
+ false,
+ ItemPropertyDescriptor.INTEGRAL_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ElementGroup.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ElementGroup")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((ElementGroup)object).getName();
+ return label == null || label.length() == 0 ?
+ getString("_UI_ElementGroup_type") : //$NON-NLS-1$
+ getString("_UI_ElementGroup_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(ElementGroup.class)) {
+ case ModelElementsPackage.ELEMENT_GROUP__CRITERION:
+ case ModelElementsPackage.ELEMENT_GROUP__NAME:
+ case ModelElementsPackage.ELEMENT_GROUP__SIZE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ExposeItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ExposeItemProvider.java
new file mode 100644
index 0000000..3209742
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ExposeItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Expose} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ExposeItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExposeItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_DependencyPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Dependency feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_DependencyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Expose_base_Dependency_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Expose_base_Dependency_feature", "_UI_Expose_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.EXPOSE__BASE_DEPENDENCY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Expose.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Expose")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Expose_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ModelElementsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ModelElementsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..6d51e53
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ModelElementsItemProviderAdapterFactory.java
@@ -0,0 +1,384 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.modelelements.util.ModelElementsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ModelElementsItemProviderAdapterFactory extends ModelElementsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ModelElementsItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Conform} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConformItemProvider conformItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Conform}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createConformAdapter() {
+ if (conformItemProvider == null) {
+ conformItemProvider = new ConformItemProvider(this);
+ }
+
+ return conformItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ElementGroupItemProvider elementGroupItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.ElementGroup}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createElementGroupAdapter() {
+ if (elementGroupItemProvider == null) {
+ elementGroupItemProvider = new ElementGroupItemProvider(this);
+ }
+
+ return elementGroupItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Expose} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExposeItemProvider exposeItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Expose}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createExposeAdapter() {
+ if (exposeItemProvider == null) {
+ exposeItemProvider = new ExposeItemProvider(this);
+ }
+
+ return exposeItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Problem} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProblemItemProvider problemItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Problem}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createProblemAdapter() {
+ if (problemItemProvider == null) {
+ problemItemProvider = new ProblemItemProvider(this);
+ }
+
+ return problemItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Rationale} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RationaleItemProvider rationaleItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Rationale}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createRationaleAdapter() {
+ if (rationaleItemProvider == null) {
+ rationaleItemProvider = new RationaleItemProvider(this);
+ }
+
+ return rationaleItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StakeholderItemProvider stakeholderItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createStakeholderAdapter() {
+ if (stakeholderItemProvider == null) {
+ stakeholderItemProvider = new StakeholderItemProvider(this);
+ }
+
+ return stakeholderItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.View} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewItemProvider viewItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.View}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createViewAdapter() {
+ if (viewItemProvider == null) {
+ viewItemProvider = new ViewItemProvider(this);
+ }
+
+ return viewItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ViewpointItemProvider viewpointItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createViewpointAdapter() {
+ if (viewpointItemProvider == null) {
+ viewpointItemProvider = new ViewpointItemProvider(this);
+ }
+
+ return viewpointItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (conformItemProvider != null) conformItemProvider.dispose();
+ if (elementGroupItemProvider != null) elementGroupItemProvider.dispose();
+ if (exposeItemProvider != null) exposeItemProvider.dispose();
+ if (problemItemProvider != null) problemItemProvider.dispose();
+ if (rationaleItemProvider != null) rationaleItemProvider.dispose();
+ if (stakeholderItemProvider != null) stakeholderItemProvider.dispose();
+ if (viewItemProvider != null) viewItemProvider.dispose();
+ if (viewpointItemProvider != null) viewpointItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ProblemItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ProblemItemProvider.java
new file mode 100644
index 0000000..a595100
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ProblemItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Problem} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProblemItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProblemItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_CommentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_CommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Problem_base_Comment_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Problem_base_Comment_feature", "_UI_Problem_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.PROBLEM__BASE_COMMENT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Problem.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Problem")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Problem_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/RationaleItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/RationaleItemProvider.java
new file mode 100644
index 0000000..0584823
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/RationaleItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Rationale} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RationaleItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RationaleItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_CommentPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Comment feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_CommentPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Rationale_base_Comment_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Rationale_base_Comment_feature", "_UI_Rationale_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.RATIONALE__BASE_COMMENT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Rationale.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Rationale")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Rationale_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/StakeholderItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/StakeholderItemProvider.java
new file mode 100644
index 0000000..a6c5854
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/StakeholderItemProvider.java
@@ -0,0 +1,214 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Stakeholder} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class StakeholderItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StakeholderItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ClassifierPropertyDescriptor(object);
+ addConcernListPropertyDescriptor(object);
+ addConcernPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Classifier feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ClassifierPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Stakeholder_base_Classifier_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Stakeholder_base_Classifier_feature", "_UI_Stakeholder_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.STAKEHOLDER__BASE_CLASSIFIER,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Concern List feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConcernListPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Stakeholder_concernList_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Stakeholder_concernList_feature", "_UI_Stakeholder_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.STAKEHOLDER__CONCERN_LIST,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Concern feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConcernPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Stakeholder_concern_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Stakeholder_concern_feature", "_UI_Stakeholder_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.STAKEHOLDER__CONCERN,
+ false,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Stakeholder.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Stakeholder")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Stakeholder_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Stakeholder.class)) {
+ case ModelElementsPackage.STAKEHOLDER__CONCERN:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewItemProvider.java
new file mode 100644
index 0000000..1c889be
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewItemProvider.java
@@ -0,0 +1,205 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.View} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ViewItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ViewItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ClassPropertyDescriptor(object);
+ addStakeholderPropertyDescriptor(object);
+ addViewPointPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Class feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ClassPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_View_base_Class_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_View_base_Class_feature", "_UI_View_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEW__BASE_CLASS,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Stakeholder feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStakeholderPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_View_stakeholder_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_View_stakeholder_feature", "_UI_View_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEW__STAKEHOLDER,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the View Point feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addViewPointPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_View_viewPoint_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_View_viewPoint_feature", "_UI_View_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEW__VIEW_POINT,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns View.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/View")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_View_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewpointItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewpointItemProvider.java
new file mode 100644
index 0000000..cc45f2b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/modelelements/provider/ViewpointItemProvider.java
@@ -0,0 +1,335 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.modelelements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.modelelements.Viewpoint} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ViewpointItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ViewpointItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ClassPropertyDescriptor(object);
+ addConcernPropertyDescriptor(object);
+ addConcernListPropertyDescriptor(object);
+ addLanguagePropertyDescriptor(object);
+ addMethodPropertyDescriptor(object);
+ addPresentationPropertyDescriptor(object);
+ addPurposePropertyDescriptor(object);
+ addStakeholderPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Class feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ClassPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Viewpoint_base_Class_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_base_Class_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEWPOINT__BASE_CLASS,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Concern feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConcernPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Viewpoint_concern_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_concern_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEWPOINT__CONCERN,
+ false,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Concern List feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addConcernListPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Viewpoint_concernList_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_concernList_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEWPOINT__CONCERN_LIST,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Language feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addLanguagePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Viewpoint_language_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_language_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEWPOINT__LANGUAGE,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Method feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMethodPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Viewpoint_method_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_method_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEWPOINT__METHOD,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Presentation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPresentationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Viewpoint_presentation_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_presentation_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEWPOINT__PRESENTATION,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Purpose feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addPurposePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Viewpoint_purpose_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_purpose_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEWPOINT__PURPOSE,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Stakeholder feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStakeholderPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Viewpoint_stakeholder_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Viewpoint_stakeholder_feature", "_UI_Viewpoint_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ ModelElementsPackage.Literals.VIEWPOINT__STAKEHOLDER,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Viewpoint.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Viewpoint")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Viewpoint)object).getPurpose();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Viewpoint_type") : //$NON-NLS-1$
+ getString("_UI_Viewpoint_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(Viewpoint.class)) {
+ case ModelElementsPackage.VIEWPOINT__CONCERN:
+ case ModelElementsPackage.VIEWPOINT__LANGUAGE:
+ case ModelElementsPackage.VIEWPOINT__PRESENTATION:
+ case ModelElementsPackage.VIEWPOINT__PURPOSE:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AcceptChangeStructuralFeatureEventActionItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AcceptChangeStructuralFeatureEventActionItemProvider.java
new file mode 100644
index 0000000..87d69fa
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AcceptChangeStructuralFeatureEventActionItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AcceptChangeStructuralFeatureEventActionItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AcceptChangeStructuralFeatureEventActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_AcceptEventActionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Accept Event Action feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_AcceptEventActionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_feature", "_UI_AcceptChangeStructuralFeatureEventAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.ACCEPT_CHANGE_STRUCTURAL_FEATURE_EVENT_ACTION__BASE_ACCEPT_EVENT_ACTION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns AcceptChangeStructuralFeatureEventAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/AcceptChangeStructuralFeatureEventAction")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_AcceptChangeStructuralFeatureEventAction_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AddFlowPropertyValueOnNestedPortActionItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AddFlowPropertyValueOnNestedPortActionItemProvider.java
new file mode 100644
index 0000000..f067c55
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/AddFlowPropertyValueOnNestedPortActionItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.ElementPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AddFlowPropertyValueOnNestedPortActionItemProvider extends ElementPropertyPathItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AddFlowPropertyValueOnNestedPortActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOnNestedPortPropertyDescriptor(object);
+ addBase_AddStructuralFeatureValueActionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the On Nested Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOnNestedPortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AddFlowPropertyValueOnNestedPortAction_onNestedPort_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AddFlowPropertyValueOnNestedPortAction_onNestedPort_feature", "_UI_AddFlowPropertyValueOnNestedPortAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__ON_NESTED_PORT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Add Structural Feature Value Action feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_AddStructuralFeatureValueActionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AddFlowPropertyValueOnNestedPortAction_base_AddStructuralFeatureValueAction_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AddFlowPropertyValueOnNestedPortAction_base_AddStructuralFeatureValueAction_feature", "_UI_AddFlowPropertyValueOnNestedPortAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.ADD_FLOW_PROPERTY_VALUE_ON_NESTED_PORT_ACTION__BASE_ADD_STRUCTURAL_FEATURE_VALUE_ACTION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns AddFlowPropertyValueOnNestedPortAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/AddFlowPropertyValueOnNestedPortAction")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_AddFlowPropertyValueOnNestedPortAction_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ChangeStructuralFeatureEventItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ChangeStructuralFeatureEventItemProvider.java
new file mode 100644
index 0000000..a27b2de
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ChangeStructuralFeatureEventItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ChangeStructuralFeatureEventItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChangeStructuralFeatureEventItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ChangeEventPropertyDescriptor(object);
+ addStructuralFeaturePropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Change Event feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ChangeEventPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ChangeStructuralFeatureEvent_base_ChangeEvent_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ChangeStructuralFeatureEvent_base_ChangeEvent_feature", "_UI_ChangeStructuralFeatureEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.CHANGE_STRUCTURAL_FEATURE_EVENT__BASE_CHANGE_EVENT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Structural Feature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addStructuralFeaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ChangeStructuralFeatureEvent_structuralFeature_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ChangeStructuralFeatureEvent_structuralFeature_feature", "_UI_ChangeStructuralFeatureEvent_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.CHANGE_STRUCTURAL_FEATURE_EVENT__STRUCTURAL_FEATURE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ChangeStructuralFeatureEvent.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ChangeStructuralFeatureEvent")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ChangeStructuralFeatureEvent_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ConjugatedInterfaceBlockItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ConjugatedInterfaceBlockItemProvider.java
new file mode 100644
index 0000000..19e5bc3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ConjugatedInterfaceBlockItemProvider.java
@@ -0,0 +1,133 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ConjugatedInterfaceBlockItemProvider extends InterfaceBlockItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConjugatedInterfaceBlockItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addOriginalPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Original feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOriginalPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ConjugatedInterfaceBlock_original_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ConjugatedInterfaceBlock_original_feature", "_UI_ConjugatedInterfaceBlock_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.CONJUGATED_INTERFACE_BLOCK__ORIGINAL,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ConjugatedInterfaceBlock.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ConjugatedInterfaceBlock")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ ConjugatedInterfaceBlock conjugatedInterfaceBlock = (ConjugatedInterfaceBlock)object;
+ return getString("_UI_ConjugatedInterfaceBlock_type") + " " + conjugatedInterfaceBlock.isEncapsulated(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/DirectedFeatureItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/DirectedFeatureItemProvider.java
new file mode 100644
index 0000000..4c2725f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/DirectedFeatureItemProvider.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature;
+import org.eclipse.papyrus.sysml16.portsandflows.FeatureDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DirectedFeatureItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DirectedFeatureItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_FeaturePropertyDescriptor(object);
+ addFeatureDirectionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Feature feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_FeaturePropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedFeature_base_Feature_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_DirectedFeature_base_Feature_feature", "_UI_DirectedFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.DIRECTED_FEATURE__BASE_FEATURE,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Feature Direction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addFeatureDirectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_DirectedFeature_featureDirection_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_DirectedFeature_featureDirection_feature", "_UI_DirectedFeature_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.DIRECTED_FEATURE__FEATURE_DIRECTION,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns DirectedFeature.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DirectedFeature")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ FeatureDirectionKind labelValue = ((DirectedFeature)object).getFeatureDirection();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ?
+ getString("_UI_DirectedFeature_type") : //$NON-NLS-1$
+ getString("_UI_DirectedFeature_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(DirectedFeature.class)) {
+ case PortsAndFlowsPackage.DIRECTED_FEATURE__FEATURE_DIRECTION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FlowPropertyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FlowPropertyItemProvider.java
new file mode 100644
index 0000000..9a57482
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FlowPropertyItemProvider.java
@@ -0,0 +1,196 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FlowPropertyItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FlowPropertyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PropertyPropertyDescriptor(object);
+ addDirectionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_FlowProperty_base_Property_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_FlowProperty_base_Property_feature", "_UI_FlowProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.FLOW_PROPERTY__BASE_PROPERTY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Direction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDirectionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_FlowProperty_direction_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_FlowProperty_direction_feature", "_UI_FlowProperty_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.FLOW_PROPERTY__DIRECTION,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This returns FlowProperty.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/FlowProperty")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ FlowDirectionKind labelValue = ((FlowProperty)object).getDirection();
+ String label = labelValue == null ? null : labelValue.toString();
+ return label == null || label.length() == 0 ?
+ getString("_UI_FlowProperty_type") : //$NON-NLS-1$
+ getString("_UI_FlowProperty_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(FlowProperty.class)) {
+ case PortsAndFlowsPackage.FLOW_PROPERTY__DIRECTION:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FullPortItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FullPortItemProvider.java
new file mode 100644
index 0000000..93d82b5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/FullPortItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.FullPort} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class FullPortItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public FullPortItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PortPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_FullPort_base_Port_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_FullPort_base_Port_feature", "_UI_FullPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.FULL_PORT__BASE_PORT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns FullPort.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/FullPort")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_FullPort_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InterfaceBlockItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InterfaceBlockItemProvider.java
new file mode 100644
index 0000000..2efa602
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InterfaceBlockItemProvider.java
@@ -0,0 +1,125 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.BlockItemProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InterfaceBlockItemProvider extends BlockItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterfaceBlockItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns InterfaceBlock.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/InterfaceBlock")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ InterfaceBlock interfaceBlock = (InterfaceBlock)object;
+ return getString("_UI_InterfaceBlock_type") + " " + interfaceBlock.isEncapsulated(); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InvocationOnNestedPortActionItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InvocationOnNestedPortActionItemProvider.java
new file mode 100644
index 0000000..ffdb79b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/InvocationOnNestedPortActionItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.ElementPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class InvocationOnNestedPortActionItemProvider extends ElementPropertyPathItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InvocationOnNestedPortActionItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_InvocationActionPropertyDescriptor(object);
+ addOnNestedPortPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Invocation Action feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_InvocationActionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InvocationOnNestedPortAction_base_InvocationAction_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_InvocationOnNestedPortAction_base_InvocationAction_feature", "_UI_InvocationOnNestedPortAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.INVOCATION_ON_NESTED_PORT_ACTION__BASE_INVOCATION_ACTION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the On Nested Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOnNestedPortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_InvocationOnNestedPortAction_onNestedPort_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_InvocationOnNestedPortAction_onNestedPort_feature", "_UI_InvocationOnNestedPortAction_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.INVOCATION_ON_NESTED_PORT_ACTION__ON_NESTED_PORT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns InvocationOnNestedPortAction.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/InvocationOnNestedPortAction")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_InvocationOnNestedPortAction_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ItemFlowItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ItemFlowItemProvider.java
new file mode 100644
index 0000000..f4d24d1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ItemFlowItemProvider.java
@@ -0,0 +1,182 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ItemFlow} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ItemFlowItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ItemFlowItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_InformationFlowPropertyDescriptor(object);
+ addItemPropertyPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Information Flow feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_InformationFlowPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ItemFlow_base_InformationFlow_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ItemFlow_base_InformationFlow_feature", "_UI_ItemFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.ITEM_FLOW__BASE_INFORMATION_FLOW,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Item Property feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addItemPropertyPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ItemFlow_itemProperty_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ItemFlow_itemProperty_feature", "_UI_ItemFlow_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.ITEM_FLOW__ITEM_PROPERTY,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ItemFlow.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ItemFlow")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ItemFlow_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/PortsAndFlowsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/PortsAndFlowsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..b08f2f2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/PortsAndFlowsItemProviderAdapterFactory.java
@@ -0,0 +1,480 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.util.PortsAndFlowsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class PortsAndFlowsItemProviderAdapterFactory extends PortsAndFlowsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PortsAndFlowsItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcceptChangeStructuralFeatureEventActionItemProvider acceptChangeStructuralFeatureEventActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createAcceptChangeStructuralFeatureEventActionAdapter() {
+ if (acceptChangeStructuralFeatureEventActionItemProvider == null) {
+ acceptChangeStructuralFeatureEventActionItemProvider = new AcceptChangeStructuralFeatureEventActionItemProvider(this);
+ }
+
+ return acceptChangeStructuralFeatureEventActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ChangeStructuralFeatureEventItemProvider changeStructuralFeatureEventItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createChangeStructuralFeatureEventAdapter() {
+ if (changeStructuralFeatureEventItemProvider == null) {
+ changeStructuralFeatureEventItemProvider = new ChangeStructuralFeatureEventItemProvider(this);
+ }
+
+ return changeStructuralFeatureEventItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DirectedFeatureItemProvider directedFeatureItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createDirectedFeatureAdapter() {
+ if (directedFeatureItemProvider == null) {
+ directedFeatureItemProvider = new DirectedFeatureItemProvider(this);
+ }
+
+ return directedFeatureItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FlowPropertyItemProvider flowPropertyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.FlowProperty}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createFlowPropertyAdapter() {
+ if (flowPropertyItemProvider == null) {
+ flowPropertyItemProvider = new FlowPropertyItemProvider(this);
+ }
+
+ return flowPropertyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.FullPort} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FullPortItemProvider fullPortItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.FullPort}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createFullPortAdapter() {
+ if (fullPortItemProvider == null) {
+ fullPortItemProvider = new FullPortItemProvider(this);
+ }
+
+ return fullPortItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InterfaceBlockItemProvider interfaceBlockItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createInterfaceBlockAdapter() {
+ if (interfaceBlockItemProvider == null) {
+ interfaceBlockItemProvider = new InterfaceBlockItemProvider(this);
+ }
+
+ return interfaceBlockItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InvocationOnNestedPortActionItemProvider invocationOnNestedPortActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createInvocationOnNestedPortActionAdapter() {
+ if (invocationOnNestedPortActionItemProvider == null) {
+ invocationOnNestedPortActionItemProvider = new InvocationOnNestedPortActionItemProvider(this);
+ }
+
+ return invocationOnNestedPortActionItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.ItemFlow} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ItemFlowItemProvider itemFlowItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ItemFlow}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createItemFlowAdapter() {
+ if (itemFlowItemProvider == null) {
+ itemFlowItemProvider = new ItemFlowItemProvider(this);
+ }
+
+ return itemFlowItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProxyPortItemProvider proxyPortItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createProxyPortAdapter() {
+ if (proxyPortItemProvider == null) {
+ proxyPortItemProvider = new ProxyPortItemProvider(this);
+ }
+
+ return proxyPortItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TriggerOnNestedPortItemProvider triggerOnNestedPortItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createTriggerOnNestedPortAdapter() {
+ if (triggerOnNestedPortItemProvider == null) {
+ triggerOnNestedPortItemProvider = new TriggerOnNestedPortItemProvider(this);
+ }
+
+ return triggerOnNestedPortItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConjugatedInterfaceBlockItemProvider conjugatedInterfaceBlockItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createConjugatedInterfaceBlockAdapter() {
+ if (conjugatedInterfaceBlockItemProvider == null) {
+ conjugatedInterfaceBlockItemProvider = new ConjugatedInterfaceBlockItemProvider(this);
+ }
+
+ return conjugatedInterfaceBlockItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AddFlowPropertyValueOnNestedPortActionItemProvider addFlowPropertyValueOnNestedPortActionItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createAddFlowPropertyValueOnNestedPortActionAdapter() {
+ if (addFlowPropertyValueOnNestedPortActionItemProvider == null) {
+ addFlowPropertyValueOnNestedPortActionItemProvider = new AddFlowPropertyValueOnNestedPortActionItemProvider(this);
+ }
+
+ return addFlowPropertyValueOnNestedPortActionItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (acceptChangeStructuralFeatureEventActionItemProvider != null) acceptChangeStructuralFeatureEventActionItemProvider.dispose();
+ if (changeStructuralFeatureEventItemProvider != null) changeStructuralFeatureEventItemProvider.dispose();
+ if (directedFeatureItemProvider != null) directedFeatureItemProvider.dispose();
+ if (flowPropertyItemProvider != null) flowPropertyItemProvider.dispose();
+ if (fullPortItemProvider != null) fullPortItemProvider.dispose();
+ if (interfaceBlockItemProvider != null) interfaceBlockItemProvider.dispose();
+ if (invocationOnNestedPortActionItemProvider != null) invocationOnNestedPortActionItemProvider.dispose();
+ if (itemFlowItemProvider != null) itemFlowItemProvider.dispose();
+ if (proxyPortItemProvider != null) proxyPortItemProvider.dispose();
+ if (triggerOnNestedPortItemProvider != null) triggerOnNestedPortItemProvider.dispose();
+ if (conjugatedInterfaceBlockItemProvider != null) conjugatedInterfaceBlockItemProvider.dispose();
+ if (addFlowPropertyValueOnNestedPortActionItemProvider != null) addFlowPropertyValueOnNestedPortActionItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ProxyPortItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ProxyPortItemProvider.java
new file mode 100644
index 0000000..7b6d708
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/ProxyPortItemProvider.java
@@ -0,0 +1,159 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.ProxyPort} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ProxyPortItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProxyPortItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_PortPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_PortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_ProxyPort_base_Port_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_ProxyPort_base_Port_feature", "_UI_ProxyPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.PROXY_PORT__BASE_PORT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns ProxyPort.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/ProxyPort")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_ProxyPort_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/TriggerOnNestedPortItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/TriggerOnNestedPortItemProvider.java
new file mode 100644
index 0000000..2b2104c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/portsandflows/provider/TriggerOnNestedPortItemProvider.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.portsandflows.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.ElementPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TriggerOnNestedPortItemProvider extends ElementPropertyPathItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TriggerOnNestedPortItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_TriggerPropertyDescriptor(object);
+ addOnNestedPortPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Trigger feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_TriggerPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TriggerOnNestedPort_base_Trigger_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_TriggerOnNestedPort_base_Trigger_feature", "_UI_TriggerOnNestedPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.TRIGGER_ON_NESTED_PORT__BASE_TRIGGER,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the On Nested Port feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addOnNestedPortPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TriggerOnNestedPort_onNestedPort_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_TriggerOnNestedPort_onNestedPort_feature", "_UI_TriggerOnNestedPort_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ PortsAndFlowsPackage.Literals.TRIGGER_ON_NESTED_PORT__ON_NESTED_PORT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns TriggerOnNestedPort.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/TriggerOnNestedPort")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_TriggerOnNestedPort_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/provider/SysMLEditPlugin.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/provider/SysMLEditPlugin.java
new file mode 100644
index 0000000..688839c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/provider/SysMLEditPlugin.java
@@ -0,0 +1,106 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.provider;
+
+import org.eclipse.emf.common.EMFPlugin;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.ecore.provider.EcoreEditPlugin;
+
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * This is the central singleton for the SysML edit plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public final class SysMLEditPlugin extends EMFPlugin {
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final SysMLEditPlugin INSTANCE = new SysMLEditPlugin();
+
+ /**
+ * Keep track of the singleton.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static Implementation plugin;
+
+ /**
+ * Create the instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SysMLEditPlugin() {
+ super
+ (new ResourceLocator [] {
+ EcoreEditPlugin.INSTANCE,
+ UMLEditPlugin.INSTANCE,
+ });
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ @Override
+ public ResourceLocator getPluginResourceLocator() {
+ return plugin;
+ }
+
+ /**
+ * Returns the singleton instance of the Eclipse plugin.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the singleton instance.
+ * @generated
+ */
+ public static Implementation getPlugin() {
+ return plugin;
+ }
+
+ /**
+ * The actual implementation of the Eclipse <b>Plugin</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static class Implementation extends EclipsePlugin {
+ /**
+ * Creates an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Implementation() {
+ super();
+
+ // Remember the static instance.
+ //
+ plugin = this;
+ }
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/AbstractRequirementItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/AbstractRequirementItemProvider.java
new file mode 100644
index 0000000..f2e173c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/AbstractRequirementItemProvider.java
@@ -0,0 +1,368 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemPropertyDescriptor;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.emf.edit.provider.ViewerNotification;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.AbstractRequirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AbstractRequirementItemProvider
+ extends ItemProviderAdapter
+ implements
+ IEditingDomainItemProvider,
+ IStructuredItemContentProvider,
+ ITreeItemContentProvider,
+ IItemLabelProvider,
+ IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractRequirementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_NamedElementPropertyDescriptor(object);
+ addDerivedPropertyDescriptor(object);
+ addDerivedFromPropertyDescriptor(object);
+ addIdPropertyDescriptor(object);
+ addMasterPropertyDescriptor(object);
+ addRefinedByPropertyDescriptor(object);
+ addSatisfiedByPropertyDescriptor(object);
+ addTextPropertyDescriptor(object);
+ addTracedToPropertyDescriptor(object);
+ addVerifiedByPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Named Element feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_NamedElementPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_base_NamedElement_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_base_NamedElement_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__BASE_NAMED_ELEMENT,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Derived feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDerivedPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_derived_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_derived_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__DERIVED,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Derived From feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addDerivedFromPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_derivedFrom_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_derivedFrom_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__DERIVED_FROM,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Id feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addIdPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_id_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_id_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__ID,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Master feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addMasterPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_master_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_master_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__MASTER,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Refined By feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addRefinedByPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_refinedBy_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_refinedBy_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__REFINED_BY,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Satisfied By feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addSatisfiedByPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_satisfiedBy_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_satisfiedBy_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__SATISFIED_BY,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Text feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTextPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_text_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_text_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__TEXT,
+ true,
+ false,
+ false,
+ ItemPropertyDescriptor.GENERIC_VALUE_IMAGE,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Traced To feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addTracedToPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_tracedTo_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_tracedTo_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__TRACED_TO,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Verified By feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addVerifiedByPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_AbstractRequirement_verifiedBy_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_AbstractRequirement_verifiedBy_feature", "_UI_AbstractRequirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.ABSTRACT_REQUIREMENT__VERIFIED_BY,
+ false,
+ false,
+ false,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((AbstractRequirement)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_AbstractRequirement_type") : //$NON-NLS-1$
+ getString("_UI_AbstractRequirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+
+ switch (notification.getFeatureID(AbstractRequirement.class)) {
+ case RequirementsPackage.ABSTRACT_REQUIREMENT__ID:
+ case RequirementsPackage.ABSTRACT_REQUIREMENT__TEXT:
+ fireNotifyChanged(new ViewerNotification(notification, notification.getNotifier(), false, true));
+ return;
+ }
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/CopyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/CopyItemProvider.java
new file mode 100644
index 0000000..68befe5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/CopyItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Copy} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CopyItemProvider extends TraceItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CopyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Copy.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Copy")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Copy_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/DeriveReqtItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/DeriveReqtItemProvider.java
new file mode 100644
index 0000000..2bb03bf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/DeriveReqtItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.DeriveReqt} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DeriveReqtItemProvider extends TraceItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeriveReqtItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns DeriveReqt.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/DeriveReqt")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_DeriveReqt_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RefineItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RefineItemProvider.java
new file mode 100644
index 0000000..fed0a20
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RefineItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.DirectedRelationshipPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Refine} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RefineItemProvider extends DirectedRelationshipPropertyPathItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefineItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_AbstractionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Abstraction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_AbstractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Refine_base_Abstraction_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Refine_base_Abstraction_feature", "_UI_Refine_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ StandardPackage.Literals.REFINE__BASE_ABSTRACTION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Refine.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Refine")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Refine_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementItemProvider.java
new file mode 100644
index 0000000..3032054
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementItemProvider.java
@@ -0,0 +1,135 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Requirement} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementItemProvider extends AbstractRequirementItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_ClassPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Class feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_ClassPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Requirement_base_Class_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Requirement_base_Class_feature", "_UI_Requirement_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.REQUIREMENT__BASE_CLASS,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Requirement.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Requirement")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ String label = ((Requirement)object).getId();
+ return label == null || label.length() == 0 ?
+ getString("_UI_Requirement_type") : //$NON-NLS-1$
+ getString("_UI_Requirement_type") + " " + label; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementsItemProviderAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementsItemProviderAdapterFactory.java
new file mode 100644
index 0000000..f6d73f5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/RequirementsItemProviderAdapterFactory.java
@@ -0,0 +1,384 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+import java.util.ArrayList;
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.edit.provider.ChangeNotifier;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedAdapterFactory;
+import org.eclipse.emf.edit.provider.IChangeNotifier;
+import org.eclipse.emf.edit.provider.IDisposable;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.INotifyChangedListener;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+
+import org.eclipse.papyrus.sysml16.requirements.util.RequirementsAdapterFactory;
+
+/**
+ * This is the factory that is used to provide the interfaces needed to support Viewers.
+ * The adapters generated by this factory convert EMF adapter notifications into calls to {@link #fireNotifyChanged fireNotifyChanged}.
+ * The adapters also support Eclipse property sheets.
+ * Note that most of the adapters are shared among multiple instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class RequirementsItemProviderAdapterFactory extends RequirementsAdapterFactory implements ComposeableAdapterFactory, IChangeNotifier, IDisposable {
+ /**
+ * This keeps track of the root adapter factory that delegates to this adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComposedAdapterFactory parentAdapterFactory;
+
+ /**
+ * This is used to implement {@link org.eclipse.emf.edit.provider.IChangeNotifier}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IChangeNotifier changeNotifier = new ChangeNotifier();
+
+ /**
+ * This keeps track of all the supported types checked by {@link #isFactoryForType isFactoryForType}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Collection<Object> supportedTypes = new ArrayList<Object>();
+
+ /**
+ * This constructs an instance.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RequirementsItemProviderAdapterFactory() {
+ supportedTypes.add(IEditingDomainItemProvider.class);
+ supportedTypes.add(IStructuredItemContentProvider.class);
+ supportedTypes.add(ITreeItemContentProvider.class);
+ supportedTypes.add(IItemLabelProvider.class);
+ supportedTypes.add(IItemPropertySource.class);
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Copy} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CopyItemProvider copyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Copy}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createCopyAdapter() {
+ if (copyItemProvider == null) {
+ copyItemProvider = new CopyItemProvider(this);
+ }
+
+ return copyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Trace} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TraceItemProvider traceItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Trace}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createTraceAdapter() {
+ if (traceItemProvider == null) {
+ traceItemProvider = new TraceItemProvider(this);
+ }
+
+ return traceItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Requirement} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RequirementItemProvider requirementItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Requirement}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createRequirementAdapter() {
+ if (requirementItemProvider == null) {
+ requirementItemProvider = new RequirementItemProvider(this);
+ }
+
+ return requirementItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.DeriveReqt} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeriveReqtItemProvider deriveReqtItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.DeriveReqt}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createDeriveReqtAdapter() {
+ if (deriveReqtItemProvider == null) {
+ deriveReqtItemProvider = new DeriveReqtItemProvider(this);
+ }
+
+ return deriveReqtItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Refine} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefineItemProvider refineItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Refine}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createRefineAdapter() {
+ if (refineItemProvider == null) {
+ refineItemProvider = new RefineItemProvider(this);
+ }
+
+ return refineItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Satisfy} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SatisfyItemProvider satisfyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Satisfy}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createSatisfyAdapter() {
+ if (satisfyItemProvider == null) {
+ satisfyItemProvider = new SatisfyItemProvider(this);
+ }
+
+ return satisfyItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.TestCase} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TestCaseItemProvider testCaseItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.TestCase}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createTestCaseAdapter() {
+ if (testCaseItemProvider == null) {
+ testCaseItemProvider = new TestCaseItemProvider(this);
+ }
+
+ return testCaseItemProvider;
+ }
+
+ /**
+ * This keeps track of the one adapter used for all {@link org.eclipse.papyrus.sysml16.requirements.Verify} instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VerifyItemProvider verifyItemProvider;
+
+ /**
+ * This creates an adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Verify}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter createVerifyAdapter() {
+ if (verifyItemProvider == null) {
+ verifyItemProvider = new VerifyItemProvider(this);
+ }
+
+ return verifyItemProvider;
+ }
+
+ /**
+ * This returns the root adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ComposeableAdapterFactory getRootAdapterFactory() {
+ return parentAdapterFactory == null ? this : parentAdapterFactory.getRootAdapterFactory();
+ }
+
+ /**
+ * This sets the composed adapter factory that contains this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setParentAdapterFactory(ComposedAdapterFactory parentAdapterFactory) {
+ this.parentAdapterFactory = parentAdapterFactory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object type) {
+ return supportedTypes.contains(type) || super.isFactoryForType(type);
+ }
+
+ /**
+ * This implementation substitutes the factory itself as the key for the adapter.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Adapter adapt(Notifier notifier, Object type) {
+ return super.adapt(notifier, this);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object adapt(Object object, Object type) {
+ if (isFactoryForType(type)) {
+ Object adapter = super.adapt(object, type);
+ if (!(type instanceof Class<?>) || (((Class<?>)type).isInstance(adapter))) {
+ return adapter;
+ }
+ }
+
+ return null;
+ }
+
+ /**
+ * This adds a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void addListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.addListener(notifyChangedListener);
+ }
+
+ /**
+ * This removes a listener.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void removeListener(INotifyChangedListener notifyChangedListener) {
+ changeNotifier.removeListener(notifyChangedListener);
+ }
+
+ /**
+ * This delegates to {@link #changeNotifier} and to {@link #parentAdapterFactory}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void fireNotifyChanged(Notification notification) {
+ changeNotifier.fireNotifyChanged(notification);
+
+ if (parentAdapterFactory != null) {
+ parentAdapterFactory.fireNotifyChanged(notification);
+ }
+ }
+
+ /**
+ * This disposes all of the item providers created by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void dispose() {
+ if (copyItemProvider != null) copyItemProvider.dispose();
+ if (traceItemProvider != null) traceItemProvider.dispose();
+ if (requirementItemProvider != null) requirementItemProvider.dispose();
+ if (deriveReqtItemProvider != null) deriveReqtItemProvider.dispose();
+ if (refineItemProvider != null) refineItemProvider.dispose();
+ if (satisfyItemProvider != null) satisfyItemProvider.dispose();
+ if (testCaseItemProvider != null) testCaseItemProvider.dispose();
+ if (verifyItemProvider != null) verifyItemProvider.dispose();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/SatisfyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/SatisfyItemProvider.java
new file mode 100644
index 0000000..6d3e195
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/SatisfyItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Satisfy} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SatisfyItemProvider extends TraceItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SatisfyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Satisfy.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Satisfy")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Satisfy_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TestCaseItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TestCaseItemProvider.java
new file mode 100644
index 0000000..46c12b4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TestCaseItemProvider.java
@@ -0,0 +1,173 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
+import org.eclipse.emf.edit.provider.IItemLabelProvider;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.emf.edit.provider.IItemPropertySource;
+import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
+import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.TestCase} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TestCaseItemProvider extends ItemProviderAdapter implements IEditingDomainItemProvider, IStructuredItemContentProvider, ITreeItemContentProvider, IItemLabelProvider, IItemPropertySource {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TestCaseItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_BehaviorPropertyDescriptor(object);
+ addBase_OperationPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Behavior feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_BehaviorPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TestCase_base_Behavior_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_TestCase_base_Behavior_feature", "_UI_TestCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.TEST_CASE__BASE_BEHAVIOR,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This adds a property descriptor for the Base Operation feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_OperationPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_TestCase_base_Operation_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_TestCase_base_Operation_feature", "_UI_TestCase_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ RequirementsPackage.Literals.TEST_CASE__BASE_OPERATION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns TestCase.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/TestCase")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_TestCase_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TraceItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TraceItemProvider.java
new file mode 100644
index 0000000..d78c371
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/TraceItemProvider.java
@@ -0,0 +1,148 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.ResourceLocator;
+
+import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+import org.eclipse.papyrus.sysml16.blocks.provider.DirectedRelationshipPropertyPathItemProvider;
+
+import org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin;
+
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Trace} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class TraceItemProvider extends DirectedRelationshipPropertyPathItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TraceItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ addBase_AbstractionPropertyDescriptor(object);
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This adds a property descriptor for the Base Abstraction feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void addBase_AbstractionPropertyDescriptor(Object object) {
+ itemPropertyDescriptors.add
+ (createItemPropertyDescriptor
+ (((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
+ getResourceLocator(),
+ getString("_UI_Trace_base_Abstraction_feature"), //$NON-NLS-1$
+ getString("_UI_PropertyDescriptor_description", "_UI_Trace_base_Abstraction_feature", "_UI_Trace_type"), //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ StandardPackage.Literals.TRACE__BASE_ABSTRACTION,
+ true,
+ false,
+ true,
+ null,
+ null,
+ null));
+ }
+
+ /**
+ * This returns Trace.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Trace")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Trace_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+ /**
+ * Return the resource locator for this item provider's resources.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ResourceLocator getResourceLocator() {
+ return SysMLEditPlugin.INSTANCE;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/VerifyItemProvider.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/VerifyItemProvider.java
new file mode 100644
index 0000000..1f18307
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src-gen/org/eclipse/papyrus/sysml16/requirements/provider/VerifyItemProvider.java
@@ -0,0 +1,105 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.requirements.provider;
+
+
+import java.util.Collection;
+import java.util.List;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
+
+/**
+ * This is the item provider adapter for a {@link org.eclipse.papyrus.sysml16.requirements.Verify} object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VerifyItemProvider extends TraceItemProvider {
+ /**
+ * This constructs an instance from a factory and a notifier.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VerifyItemProvider(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * This returns the property descriptors for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
+ if (itemPropertyDescriptors == null) {
+ super.getPropertyDescriptors(object);
+
+ }
+ return itemPropertyDescriptors;
+ }
+
+ /**
+ * This returns Verify.gif.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object getImage(Object object) {
+ return overlayImage(object, getResourceLocator().getImage("full/obj16/Verify")); //$NON-NLS-1$
+ }
+
+ /**
+ * This returns the label text for the adapted class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String getText(Object object) {
+ return getString("_UI_Verify_type"); //$NON-NLS-1$
+ }
+
+
+ /**
+ * This handles model notifications by calling {@link #updateChildren} to update any cached
+ * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void notifyChanged(Notification notification) {
+ updateChildren(notification);
+ super.notifyChanged(notification);
+ }
+
+ /**
+ * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
+ * that can be created under this object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
+ super.collectNewChildDescriptors(newChildDescriptors, object);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IComposableAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IComposableAdapterFactory.java
new file mode 100644
index 0000000..7d28743
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IComposableAdapterFactory.java
@@ -0,0 +1,41 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.provider;
+
+
+/**
+ * The purpose of this interface is to create composable adapterFactory but in a
+ * way much simpler than EMF does.
+ *
+ * @author "Arthur Daussy <a href="mailto:arthur.daussy@atos.net">arthur.daussy@atos.net</a>"
+ *
+ */
+public interface IComposableAdapterFactory {
+
+ /**
+ * Return the root of the adapter factory
+ *
+ * @return {@link org.eclipse.emf.common.notify.AdapterFactory}
+ */
+ IRootAdapterFactory getIRootAdapterFactory();
+
+ /**
+ * Set the root AdapterFactory
+ *
+ * @param root
+ */
+ void setRootAdapterFactory(IRootAdapterFactory root);
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IRootAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IRootAdapterFactory.java
new file mode 100644
index 0000000..30dd9df
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IRootAdapterFactory.java
@@ -0,0 +1,34 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.provider;
+
+/**
+ * Interfaces which has to be implemented by Root AdapterFactory
+ */
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+
+public interface IRootAdapterFactory {
+
+ /**
+ * Give back the itemProvider which correspond to the given EClass In this
+ * prog : used to get back the UML ItemProvider of the EClass
+ *
+ * @param eClass
+ * @return
+ */
+ ItemProviderAdapter getItemProvider(EClass eClass);
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IVisibilityOverlayImage.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IVisibilityOverlayImage.java
new file mode 100644
index 0000000..8b2699c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/IVisibilityOverlayImage.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.provider;
+
+import org.eclipse.emf.edit.provider.ComposedImage;
+
+/**
+ * Interface that allow an ItemProvider to compose an overlay that handle
+ * visibility logo
+ *
+ * @author Arthur Daussy <a
+ * href=mailto:arthur.daussy@atos.net>arthur.daussy@atos.net</a>
+ *
+ */
+public interface IVisibilityOverlayImage {
+
+ ComposedImage composeVisibilityImage(Object object, ComposedImage composedImage);
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/SysMLItemProviderAdapter.java b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/SysMLItemProviderAdapter.java
new file mode 100644
index 0000000..1bd53d7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.edit/src/org/eclipse/papyrus/sysml16/edit/provider/SysMLItemProviderAdapter.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.edit.provider;
+
+import org.eclipse.emf.common.notify.AdapterFactory;
+import org.eclipse.emf.edit.provider.ComposedImage;
+import org.eclipse.emf.edit.provider.ItemProviderAdapter;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.edit.UMLEditPlugin;
+
+/**
+ * Extends org.eclipse.emf.edit.provider.ItemProviderAdapter in order to
+ * implement specific SysML itemProvider fonctions
+ *
+ * @author "Arthur Daussy <a href="mailto:arthur.daussy@atos.net">arthur.daussy@atos.net</a>"
+ *
+ */
+public class SysMLItemProviderAdapter extends ItemProviderAdapter implements IVisibilityOverlayImage {
+
+ private static final String FULL_OVR16_VISIBILITY_KIND = "full/ovr16/VisibilityKind_"; //$NON-NLS-1$
+
+ public SysMLItemProviderAdapter(AdapterFactory adapterFactory) {
+ super(adapterFactory);
+ }
+
+ /**
+ * Compose the image with specific visibility logo Copied from UML
+ * implementation
+ *
+ * @param object
+ * @param composedImage
+ * @return {@link ComposedImage}
+ */
+ public ComposedImage composeVisibilityImage(Object object, ComposedImage composedImage) {
+ NamedElement namedElement = (NamedElement) object;
+ if (namedElement.isSetVisibility()) {
+ composedImage.getImages().add(UMLEditPlugin.INSTANCE.getImage(FULL_OVR16_VISIBILITY_KIND
+ + namedElement.getVisibility().getName()));
+ }
+ return composedImage;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.classpath b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.project b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.project
new file mode 100644
index 0000000..482583a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.sysml16.service.types</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.resources.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.runtime.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.ui.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.m2e.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.pde.api.tools.prefs b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/META-INF/MANIFEST.MF b/plugins/core/org.eclipse.papyrus.sysml16.service.types/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..cae849e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/META-INF/MANIFEST.MF
@@ -0,0 +1,28 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.service.types;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.service.types.Activator
+Require-Bundle: org.eclipse.gmf.runtime.emf.type.core;bundle-version="[1.9.0,2.0.0)",
+ org.eclipse.gmf.runtime.notation.edit;bundle-version="[1.7.0,2.0.0)",
+ org.eclipse.papyrus.infra.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.commands;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.service.types;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.types.core;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.tools.utils;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Vendor: %Bundle-Vendor
+Bundle-Description: %Bundle-Description
+Bundle-Localization: plugin
+Export-Package: org.eclipse.papyrus.sysml16.service.types,
+ org.eclipse.papyrus.sysml16.service.types.advice,
+ org.eclipse.papyrus.sysml16.service.types.command,
+ org.eclipse.papyrus.sysml16.service.types.command.wrapper,
+ org.eclipse.papyrus.sysml16.service.types.matcher,
+ org.eclipse.papyrus.sysml16.service.types.matcher.internal;x-internal:=true,
+ org.eclipse.papyrus.sysml16.service.types.util
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.service.types
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/about.html b/plugins/core/org.eclipse.papyrus.sysml16.service.types/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/about.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+
+ <p>November 30, 2017</p>
+ <h3>License</h3>
+
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ ("Content"). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 2.0 ("EPL"). A copy of the EPL is
+ available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+ For purposes of the EPL, "Program" 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
+ ("Redistributor") and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL still apply to any source
+ code in the Content and such source code may be obtained at <a
+ href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+ </p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/build.properties b/plugins/core/org.eclipse.papyrus.sysml16.service.types/build.properties
new file mode 100644
index 0000000..89a13bf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/build.properties
@@ -0,0 +1,10 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+ .,\
+ model/,\
+ plugin.properties,\
+ pom.xml,\
+ plugin.xml,\
+ about.html
+src.includes = about.html
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations b/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations
new file mode 100644
index 0000000..89fd107
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations
@@ -0,0 +1,242 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:applystereotypeadvice="http://www.eclipse.org/papyrus/uml/types/applystereotypeadvice/1.1" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:setvaluesadvice="http://www.eclipse.org/papyrus/emf/types/setvaluesadvice/1.1" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension" description="SysML 1.6 extension element type set" identifier="org.eclipse.papyrus.sysml16.service.types.elementTypeSet.extension" name="SysML 1.6" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AbstractDefinition" identifier="org.eclipse.papyrus.SysML16.AbstractDefinition" name="AbstractDefinition" hint="UML::Classifier" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_p4UK8UcKEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Classifier.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4UyAEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Classifier"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AbstractDefinitionClass" identifier="org.eclipse.papyrus.SysML16.AbstractDefinitionClass" name="AbstractDefinitionClass" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_p4UyAkcKEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Classifier.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4UyA0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16-extension.elementtypesconfigurations#org.eclipse.papyrus.SysML16.AbstractDefinition"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Unit" identifier="org.eclipse.papyrus.SysML16.Unit" name="Unit" hint="UML::InstanceSpecification" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_p4VZEUcKEemrpM9dj3x64Q" iconPath="/icons/full/obj16/InstanceSpecification.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4VZEkcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.UnitEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4VZE0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InstanceSpecification"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.QuantityKind" identifier="org.eclipse.papyrus.SysML16.QuantityKind" name="QuantityKind" hint="UML::InstanceSpecification" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4WAIUcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.QuantityKindEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4WAIkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InstanceSpecification"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConstraintProperty" description="Create a constraint Property" identifier="org.eclipse.papyrus.SysML16.ConstraintProperty" name="ConstraintProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4WnMUcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConstraintPropertyEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4WnMkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.ConstraintPropertyMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ActorPart" description="Create an actor Part" identifier="org.eclipse.papyrus.SysML16.ActorPart" name="ActorPart" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4XOQEcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ActorPartEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4XOQUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Value" description="Create a value" identifier="org.eclipse.papyrus.SysML16.Value" name="Value" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4XOQ0cKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4X1UEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Reference" description="Create a reference" identifier="org.eclipse.papyrus.SysML16.Reference" name="Reference" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4X1UkcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4YcYEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.ReferencePropertyMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Part" description="Create a part" identifier="org.eclipse.papyrus.SysML16.Part" name="Part" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4YcYkcKEemrpM9dj3x64Q" description="" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4YcY0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Parameter" description="Create a parameter" identifier="org.eclipse.papyrus.SysML16.Parameter" name="Parameter" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4ZDcUcKEemrpM9dj3x64Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4ZDckcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConfiguredFlowProperty" description="Create a FlowProperty" identifier="org.eclipse.papyrus.SysML16.ConfiguredFlowProperty" name="FlowProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <editHelperAdviceConfiguration xmi:type="elementtypesconfigurations:EditHelperAdviceConfiguration" xmi:id="_p4ZqgEcKEemrpM9dj3x64Q" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.AfterConfigureCommandEditHelperAdvice"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4ZqgUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" xmi:id="org.eclipse.papyrus.sysml16.stereotypeinstance.Block" identifier="org.eclipse.papyrus.sysml16.stereotypeinstance.Block" name="SysML::StereotypeInstance::Block" hint="SysML::StereotypeInstance::Block" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType" editHelperClassName="org.eclipse.papyrus.infra.gmfdiag.common.helper.DefaultEditHelper">
+ <eClass xmi:type="ecore:EClass" href="platform:/plugin/org.eclipse.papyrus.sysml16/resources/profile/sysml.profile.ecore#//blocks/Block"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Activity" description="Create a TestCase Activity" identifier="org.eclipse.papyrus.SysML16.Activity" name="Activity" hint="UML::Activity" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4aRkEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Activity"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FunctionBehavior" description="Create a TestCase FunctionBehavior" identifier="org.eclipse.papyrus.SysML16.FunctionBehavior" name="TestCase FunctionBehavior" hint="UML::FunctionBehavior" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4aRkkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.FunctionBehavior"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Interaction" description="Create a TestCase Interaction" identifier="org.eclipse.papyrus.SysML16.Interaction" name="TestCase Interaction" hint="UML::Interaction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4a4oUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Interaction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.OpaqueBehavior" description="Create a TestCase OpaqueBehavior" identifier="org.eclipse.papyrus.SysML16.OpaqueBehavior" name="TestCase OpaqueBehavior" hint="UML::OpaqueBehavior" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4a4o0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.OpaqueBehavior"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ProtocolStateMachine" description="Create a TestCase ProtocolStateMachine" identifier="org.eclipse.papyrus.SysML16.ProtocolStateMachine" name="TestCase ProtocolStateMachine" hint="UML::ProtocolStateMachine" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4bfsUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ProtocolStateMachine"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.StateMachine" description="Create a TestCase StateMachine" identifier="org.eclipse.papyrus.SysML16.StateMachine" name="TestCase StateMachine" hint="UML::StateMachine" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4bfs0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.StateMachine"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.PrivatePackageImport" description="Create a PrivatePackageImport" identifier="org.eclipse.papyrus.SysML16.PrivatePackageImport" name="PrivatePackageImport" hint="UML::PackageImport" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4cGwUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.PackageImport"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AssociationBlock" description="Create an AssociationBlock" identifier="org.eclipse.papyrus.SysML16.AssociationBlock" name="AssociationBlock" hint="UML::AssociationClass" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4cGw0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AssociationClass"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ContinuousControlFlow" description="Create an ContinuousControlFlow" identifier="org.eclipse.papyrus.SysML16.ContinuousControlFlow" name="ContinuousControlFlow" hint="UML::ControlFlow" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4ct0UcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ControlFlow"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.StakeholderClass" identifier="org.eclipse.papyrus.SysML16.StakeholderClass" name="Stakeholder" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4dU4EcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Stakeholder"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DiscreteControlFlow" description="Create an DiscreteControlFlow" identifier="org.eclipse.papyrus.SysML16.DiscreteControlFlow" name="DiscreteControlFlow" hint="UML::ControlFlow" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4dU4kcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ControlFlow"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.RateControlFlow" description="Create an RateControlFlow" identifier="org.eclipse.papyrus.SysML16.RateControlFlow" name="RateControlFlow" hint="UML::ControlFlow" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4d78EcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ControlFlow"/>
+ </elementTypeConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4d78UcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.apply.continuous" target="org.eclipse.papyrus.SysML16.ContinuousControlFlow">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4d78kcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Continuous" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4ejAEcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.apply.discrete" target="org.eclipse.papyrus.SysML16.DiscreteControlFlow">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4ejAUcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Discrete" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4ejAkcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.apply.rate" target="org.eclipse.papyrus.SysML16.RateControlFlow">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4ejA0cKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Rate" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4fKEEcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_001" identifier="org.eclipse.papyru.sysml16.advice.ConformCreation" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConformCreationEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Classifier"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4fKEUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4fKEkcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_001" identifier="org.eclipse.papyru.sysml16.advice.ConformReorient" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConformReorientEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Conform"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4fKE0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4fxIEcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_002" identifier="org.eclipse.papyru.sysml16.advice.ElementGroup" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ElementGroupEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4fxIUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4fxIkcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_004" identifier="org.eclipse.papyrus.sysml16.service.types.advice.PartCreationEditHelperAdvice" target="org.eclipse.papyrus.SysML16.Part" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.PartCreationEditHelperAdvice">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4fxI0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4gYMEcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_004" identifier="org.eclipse.papyrus.sysml16.service.types.advice.ReferenceCreationEditHelperAdvice" target="org.eclipse.papyrus.SysML16.Reference" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ReferenceCreationEditHelperAdvice">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4gYMUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4gYMkcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_007" identifier="org.eclipse.papyru.sysml16.advice.ConnectorReorientEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConnectorReorientEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Connector"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4gYM0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4g_QEcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_007" identifier="org.eclipse.papyru.sysml16.advice.ConnectorCreationEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConnectorCreationEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Block"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4g_QUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4g_QkcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_007" identifier="org.eclipse.papyru.sysml16.advice.ConnectorCreationConstraintBlockEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConnectorCreationEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConstraintBlock"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4hmUEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4hmUUcKEemrpM9dj3x64Q" description="satisfy org.eclipse.papyrus.sysml16.service.types.REQ_007" identifier="org.eclipse.papyrus.sysml16.service.types.advice.SetEncapsulatedEditHelperAdvice" target="org.eclipse.papyrus.sysml16.stereotypeinstance.Block" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.SetEncapsulatedEditHelperAdvice">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4hmUkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4hmU0cKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.Activity" target="org.eclipse.papyrus.SysML16.Activity">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4iNYEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4iNYUcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4iNYkcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.FunctionBehavior" target="org.eclipse.papyrus.SysML16.FunctionBehavior">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4iNY0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4i0cEcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4i0cUcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.Interaction" target="org.eclipse.papyrus.SysML16.Interaction">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4i0ckcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4jbgEcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4jbgUcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.OpaqueBehavior" target="org.eclipse.papyrus.SysML16.OpaqueBehavior">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4jbgkcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4jbg0cKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4kCkEcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.ProtocolStateMachine" target="org.eclipse.papyrus.SysML16.ProtocolStateMachine">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4kCkUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4kCkkcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4kCk0cKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.StateMachine" target="org.eclipse.papyrus.SysML16.StateMachine">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4kpoEcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4kpoUcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_p4kpokcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testcase.StateMachine" target="org.eclipse.papyrus.SysML16.AssociationBlock">
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4kpo0cKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_p4lQsEcKEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::Block">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4lQsUcKEemrpM9dj3x64Q" identifier="Allocate_Abstraction.DirectedRelationshipPropertyPathEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.DirectedRelationshipPropertyPathEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Package"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4lQskcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4l3wEcKEemrpM9dj3x64Q" identifier="Allocate_Abstraction.ReorientDirectedRelationshipPPEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ReorientDirectedRelationshipPPEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.Allocate_Abstraction"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4l3wUcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4l3wkcKEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.sysml16.service.types.advice.ConstraintCreationEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConstraintCreationEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="setvaluesadvice:SetValuesAdviceConfiguration" xmi:id="_p4l3w0cKEemrpM9dj3x64Q" description="Set visibility to private " identifier="org.eclipse.papyrus.SysML16.PrivatePackageImport.setPrivate" target="org.eclipse.papyrus.SysML16.PrivatePackageImport">
+ <featuresToSet xmi:type="setvaluesadvice:FeatureToSet" xmi:id="_p4me0EcKEemrpM9dj3x64Q" featureName="visibility">
+ <value xmi:type="setvaluesadvice:ConstantValue" xmi:id="_p4me0UcKEemrpM9dj3x64Q">
+ <valueInstance xmi:type="uml:InstanceValue" xmi:id="_p4me0kcKEemrpM9dj3x64Q">
+ <type xmi:type="uml:Enumeration" href="pathmap://UML_METAMODELS/UML.metamodel.uml#VisibilityKind"/>
+ <instance xmi:type="uml:EnumerationLiteral" href="pathmap://UML_METAMODELS/UML.metamodel.uml#VisibilityKind-private"/>
+ </valueInstance>
+ </value>
+ </featuresToSet>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4me00cKEemrpM9dj3x64Q" description="" identifier="org.eclipse.papyru.sysml16.advice.DeriveReqtClient" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.DeriveReqtClientEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4nF4EcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4nF4UcKEemrpM9dj3x64Q" description="" identifier="org.eclipse.papyru.sysml16.advice.DeriveReqtSupplier" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.DeriveReqtSupplierEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Package"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4nF4kcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="elementtypesconfigurations:AdviceBindingConfiguration" xmi:id="_p4nF40cKEemrpM9dj3x64Q" description="" identifier="org.eclipse.papyru.sysml16.advice.ConnectorPropertyEditHelperAdvice" inheritance="all" editHelperAdviceClassName="org.eclipse.papyrus.sysml16.service.types.advice.ConnectorPropertyEditHelperAdvice">
+ <target xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations#org.eclipse.papyrus.SysML16.ConnectorProperty"/>
+ <matcherConfiguration xmi:type="elementtypesconfigurations:MatcherConfiguration" xmi:id="_p4ns8EcKEemrpM9dj3x64Q" matcherClassName="org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher"/>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="setvaluesadvice:SetValuesAdviceConfiguration" xmi:id="_p4ns8UcKEemrpM9dj3x64Q" description="Set abstract to true " identifier="org.eclipse.papyrus.SysML16.AbstractDefinition.setAbstract" target="org.eclipse.papyrus.SysML16.AbstractDefinition">
+ <featuresToSet xmi:type="setvaluesadvice:FeatureToSet" xmi:id="_p4ns8kcKEemrpM9dj3x64Q" featureName="isAbstract">
+ <value xmi:type="setvaluesadvice:ConstantValue" xmi:id="_p4oUAEcKEemrpM9dj3x64Q">
+ <valueInstance xmi:type="uml:LiteralBoolean" xmi:id="_p4oUAUcKEemrpM9dj3x64Q" value="true"/>
+ </value>
+ </featuresToSet>
+ </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations b/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations
new file mode 100644
index 0000000..467a90a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/model/SysML16.elementtypesconfigurations
@@ -0,0 +1,891 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<elementtypesconfigurations:ElementTypeSetConfiguration xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:applystereotypeadvice="http://www.eclipse.org/papyrus/uml/types/applystereotypeadvice/1.1" xmlns:elementtypesconfigurations="http://www.eclipse.org/papyrus/infra/elementtypesconfigurations/1.2" xmlns:stereotypematcher="http://www.eclipse.org/papyrus/uml/types/stereotypematcher/1.1" xmi:id="org.eclipse.papyrus.sysml16.service.types.elementTypeSet" identifier="org.eclipse.papyrus.sysml16.service.types.elementTypeSet" name="SysML 1.6" metamodelNsURI="http://www.eclipse.org/uml2/5.0.0/UML">
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction" description="" identifier="org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction" name="AcceptChangeStructuralFeatureEventAction" hint="UML::AcceptEventAction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2NsYUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/AcceptEventAction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2OTcEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AcceptEventAction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AddFlowPropertyValueOnNestedPortAction" description="" identifier="org.eclipse.papyrus.SysML16.AddFlowPropertyValueOnNestedPortAction" name="AddFlowPropertyValueOnNestedPortAction" hint="UML::AddStructuralFeatureValueAction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_z0SkgEcNEem3Z70iU-iUnQ" iconPath="/icons/full/obj16/AddStructuralFeatureValueAction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_z0SkgUcNEem3Z70iU-iUnQ" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::AddFlowPropertyValueOnNestedPortAction</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.AddStructuralFeatureValueAction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AdjunctProperty" identifier="org.eclipse.papyrus.SysML16.AdjunctProperty" name="AdjunctProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2OTckcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2O6gEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::AdjunctProperty</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.AllocateActivityPartition" identifier="org.eclipse.papyrus.SysML16.AllocateActivityPartition" name="AllocateActivityPartition" hint="UML::ActivityPartition" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2O6gkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityPartition.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2O6g0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Allocations::AllocateActivityPartition</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityPartition"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Allocate_Abstraction" identifier="org.eclipse.papyrus.SysML16.Allocate_Abstraction" name="Allocate Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2PhkUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2PhkkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Allocations::Allocate</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship" name="Allocate DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2PhlEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2QIoEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Allocations::Allocate</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.BindingConnector" identifier="org.eclipse.papyrus.SysML16.BindingConnector" name="BindingConnector" hint="UML::Connector" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2QIokcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Connector.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2QvsEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::BindingConnector</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Connector"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Block" identifier="org.eclipse.papyrus.SysML16.Block" name="Block" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2QvskcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2RWwEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::Block</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.BoundReference" identifier="org.eclipse.papyrus.SysML16.BoundReference" name="BoundReference" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2RWwkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2RWw0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::BoundReference</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent" identifier="org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent" name="ChangeStructuralFeatureEvent" hint="UML::ChangeEvent" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2R90EcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ChangeEvent.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2R90UcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::ChangeStructuralFeatureEvent</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ChangeEvent"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty" identifier="org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty" name="ClassifierBehaviorProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2R900cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2Sk4EcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::ClassifierBehaviorProperty</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Conform" identifier="org.eclipse.papyrus.SysML16.Conform" name="Conform" hint="UML::Generalization" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2Sk4kcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Generalization.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2Sk40cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ModelElements::Conform</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Generalization"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock" identifier="org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock" name="ConjugatedInterfaceBlock" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_agt7kEcaEem3Z70iU-iUnQ" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_aguioEcaEem3Z70iU-iUnQ" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::InterfaceBlock</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConnectorProperty" identifier="org.eclipse.papyrus.SysML16.ConnectorProperty" name="ConnectorProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2TL8EcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2TL8UcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::ConnectorProperty</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ConstraintBlock" identifier="org.eclipse.papyrus.SysML16.ConstraintBlock" name="ConstraintBlock" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2TL80cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2TzAEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ConstraintBlocks::ConstraintBlock</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Continuous_ActivityEdge" identifier="org.eclipse.papyrus.SysML16.Continuous_ActivityEdge" name="Continuous ActivityEdge" hint="UML::ActivityEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2TzAkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityEdge.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2TzA0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Continuous</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityEdge"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Continuous_ObjectNode" identifier="org.eclipse.papyrus.SysML16.Continuous_ObjectNode" name="Continuous ObjectNode" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2UaEUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2UaEkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Continuous</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Continuous_Parameter" identifier="org.eclipse.papyrus.SysML16.Continuous_Parameter" name="Continuous Parameter" hint="UML::Parameter" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2UaFEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Parameter.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2VBIEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Continuous</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Parameter"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ControlOperator_Behavior" identifier="org.eclipse.papyrus.SysML16.ControlOperator_Behavior" name="ControlOperator Behavior" hint="UML::Behavior" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2VBIkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Behavior.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2VBI0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::ControlOperator</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Behavior"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ControlOperator_Operation" identifier="org.eclipse.papyrus.SysML16.ControlOperator_Operation" name="ControlOperator Operation" hint="UML::Operation" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2VoMUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Operation.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2VoMkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::ControlOperator</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Operation"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Copy_Abstraction" identifier="org.eclipse.papyrus.SysML16.Copy_Abstraction" name="Copy Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2WPQEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2WPQUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Copy</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Copy_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Copy_DirectedRelationship" name="Copy DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2WPQ0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2WPREcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Copy</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction" identifier="org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction" name="DeriveReqt Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2W2UUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2W2UkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::DeriveReqt</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship" name="DeriveReqt DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2XdYEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2XdYUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::DeriveReqt</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DirectedFeature" identifier="org.eclipse.papyrus.SysML16.DirectedFeature" name="DirectedFeature" hint="UML::Feature" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2XdY0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Feature.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2YEcEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::DirectedFeature</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Feature"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath" identifier="org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath" name="DirectedRelationshipPropertyPath" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2YEckcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2YEc0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::DirectedRelationshipPropertyPath</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Discrete_ActivityEdge" identifier="org.eclipse.papyrus.SysML16.Discrete_ActivityEdge" name="Discrete ActivityEdge" hint="UML::ActivityEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2YrgUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityEdge.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2YrgkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Discrete</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityEdge"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Discrete_ObjectNode" identifier="org.eclipse.papyrus.SysML16.Discrete_ObjectNode" name="Discrete ObjectNode" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2ZSkEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2ZSkUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Discrete</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Discrete_Parameter" identifier="org.eclipse.papyrus.SysML16.Discrete_Parameter" name="Discrete Parameter" hint="UML::Parameter" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2ZSk0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Parameter.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2Z5oEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Discrete</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Parameter"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.DistributedProperty" identifier="org.eclipse.papyrus.SysML16.DistributedProperty" name="DistributedProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2Z5okcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2Z5o0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::DistributedProperty</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ElementGroup" identifier="org.eclipse.papyrus.SysML16.ElementGroup" name="ElementGroup" hint="UML::Comment" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2agsEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Comment.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2agsUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ModelElements::ElementGroup</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ElementPropertyPath" identifier="org.eclipse.papyrus.SysML16.ElementPropertyPath" name="ElementPropertyPath" hint="UML::Element" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2ags0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Element.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2bHwEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::ElementPropertyPath</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.EndPathMultiplicity" identifier="org.eclipse.papyrus.SysML16.EndPathMultiplicity" name="EndPathMultiplicity" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2bHwkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2bHw0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::EndPathMultiplicity</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Expose" identifier="org.eclipse.papyrus.SysML16.Expose" name="Expose" hint="UML::Dependency" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2bu0UcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Dependency.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2bu0kcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ModelElements::Expose</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Dependency"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FlowPort" identifier="org.eclipse.papyrus.SysML16.FlowPort" name="FlowPort" hint="UML::Port" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2cV4EcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Port.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2cV4UcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowPort</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Port"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FlowProperty" identifier="org.eclipse.papyrus.SysML16.FlowProperty" name="FlowProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2cV40cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2c88EcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::FlowProperty</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FlowSpecification" identifier="org.eclipse.papyrus.SysML16.FlowSpecification" name="FlowSpecification" hint="UML::Interface" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2c88kcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Interface.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2c880cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::DeprecatedElements::FlowSpecification</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Interface"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.FullPort" identifier="org.eclipse.papyrus.SysML16.FullPort" name="FullPort" hint="UML::Port" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2dkAUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Port.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2dkAkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::FullPort</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Port"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.InterfaceBlock" identifier="org.eclipse.papyrus.SysML16.InterfaceBlock" name="InterfaceBlock" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2dkBEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2eLEEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::InterfaceBlock</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element" identifier="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element" name="InvocationOnNestedPortAction Element" hint="UML::Element" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2eLEkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Element.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2eLE0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::InvocationOnNestedPortAction</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction" identifier="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction" name="InvocationOnNestedPortAction InvocationAction" hint="UML::InvocationAction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2eyIUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/InvocationAction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2eyIkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::InvocationOnNestedPortAction</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InvocationAction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ItemFlow" identifier="org.eclipse.papyrus.SysML16.ItemFlow" name="ItemFlow" hint="UML::InformationFlow" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2fZMEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/InformationFlow.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2fZMUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::ItemFlow</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.InformationFlow"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd" identifier="org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd" name="NestedConnectorEnd ConnectorEnd" hint="UML::ConnectorEnd" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2fZM0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ConnectorEnd.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2fZNEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::NestedConnectorEnd</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ConnectorEnd"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element" identifier="org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element" name="NestedConnectorEnd Element" hint="UML::Element" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2gAQUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Element.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2gAQkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::NestedConnectorEnd</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.NoBuffer" identifier="org.eclipse.papyrus.SysML16.NoBuffer" name="NoBuffer" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2gnUEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2gnUUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::NoBuffer</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Optional" identifier="org.eclipse.papyrus.SysML16.Optional" name="Optional" hint="UML::Parameter" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2gnU0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Parameter.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2hOYEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Optional</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Parameter"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Overwrite" identifier="org.eclipse.papyrus.SysML16.Overwrite" name="Overwrite" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2hOYkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2hOY0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Overwrite</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ParticipantProperty" identifier="org.eclipse.papyrus.SysML16.ParticipantProperty" name="ParticipantProperty" hint="UML::Property" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2h1cUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Property.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2h1ckcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::ParticipantProperty</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Property"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Probability_ActivityEdge" identifier="org.eclipse.papyrus.SysML16.Probability_ActivityEdge" name="Probability ActivityEdge" hint="UML::ActivityEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2icgEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityEdge.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2icgUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Probability</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityEdge"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Probability_ParameterSet" identifier="org.eclipse.papyrus.SysML16.Probability_ParameterSet" name="Probability ParameterSet" hint="UML::ParameterSet" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2icg0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ParameterSet.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2ichEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Probability</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ParameterSet"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Problem" identifier="org.eclipse.papyrus.SysML16.Problem" name="Problem" hint="UML::Comment" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2jDkUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Comment.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2jDkkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ModelElements::Problem</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.PropertySpecificType" identifier="org.eclipse.papyrus.SysML16.PropertySpecificType" name="PropertySpecificType" hint="UML::Classifier" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2jqoEcFEemrpM9dj3x64Q" iconPath="/icons/Classifier.gif" bundleId="org.eclipse.papyrus.uml.service.types"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2jqoUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::PropertySpecificType</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Classifier"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ProxyPort" identifier="org.eclipse.papyrus.SysML16.ProxyPort" name="ProxyPort" hint="UML::Port" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2jqo0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Port.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2jqpEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::ProxyPort</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Port"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Rate_ActivityEdge" identifier="org.eclipse.papyrus.SysML16.Rate_ActivityEdge" name="Rate ActivityEdge" hint="UML::ActivityEdge" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2kRsUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ActivityEdge.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2kRskcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Rate</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ActivityEdge"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Rate_ObjectNode" identifier="org.eclipse.papyrus.SysML16.Rate_ObjectNode" name="Rate ObjectNode" hint="UML::ObjectNode" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2k4wEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/ObjectNode.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2k4wUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Rate</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.ObjectNode"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Rate_Parameter" identifier="org.eclipse.papyrus.SysML16.Rate_Parameter" name="Rate Parameter" hint="UML::Parameter" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2k4w0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Parameter.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2k4xEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Activities::Rate</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Parameter"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Rationale" identifier="org.eclipse.papyrus.SysML16.Rationale" name="Rationale" hint="UML::Comment" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2lf0UcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Comment.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2lf0kcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ModelElements::Rationale</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Comment"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Refine_Abstraction" identifier="org.eclipse.papyrus.SysML16.Refine_Abstraction" name="Refine Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2mG4UcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2mG4kcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Refine</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Refine_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Refine_DirectedRelationship" name="Refine DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2mt8EcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2mt8UcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Refine</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Requirement" identifier="org.eclipse.papyrus.SysML16.Requirement" name="Requirement" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2mt80cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2mt9EcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Requirement</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Satisfy_Abstraction" identifier="org.eclipse.papyrus.SysML16.Satisfy_Abstraction" name="Satisfy Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2nVAUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2nVAkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Satisfy</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship" name="Satisfy DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2n8EEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2n8EUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Satisfy</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Stakeholder" identifier="org.eclipse.papyrus.SysML16.Stakeholder" name="Stakeholder" hint="UML::Classifier" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2n8E0cFEemrpM9dj3x64Q" iconPath="/icons/Classifier.gif" bundleId="org.eclipse.papyrus.uml.service.types"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2n8FEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ModelElements::Stakeholder</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Classifier"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.TestCase_Behavior" identifier="org.eclipse.papyrus.SysML16.TestCase_Behavior" name="TestCase Behavior" hint="UML::Behavior" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2ojIUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Behavior.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2ojIkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::TestCase</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Behavior"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.TestCase_Operation" identifier="org.eclipse.papyrus.SysML16.TestCase_Operation" name="TestCase Operation" hint="UML::Operation" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2pKMEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Operation.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2pKMUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::TestCase</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Operation"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Trace_Abstraction" identifier="org.eclipse.papyrus.SysML16.Trace_Abstraction" name="Trace Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2pKM0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2pKNEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Trace</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Trace_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Trace_DirectedRelationship" name="Trace DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2pxQUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2pxQkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Trace</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element" identifier="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element" name="TriggerOnNestedPort Element" hint="UML::Element" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2qYUEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Element.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2qYUUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::TriggerOnNestedPort</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Element"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger" identifier="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger" name="TriggerOnNestedPort Trigger" hint="UML::Trigger" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2qYU0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Trigger.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2q_YEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::PortsAndFlows::TriggerOnNestedPort</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Trigger"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.ValueType" identifier="org.eclipse.papyrus.SysML16.ValueType" name="ValueType" hint="UML::DataType" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2q_YkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DataType.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2q_Y0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Blocks::ValueType</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DataType"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Verify_Abstraction" identifier="org.eclipse.papyrus.SysML16.Verify_Abstraction" name="Verify Abstraction" hint="UML::Abstraction" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2rmcEcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Abstraction.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2rmcUcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Verify</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Abstraction"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Verify_DirectedRelationship" identifier="org.eclipse.papyrus.SysML16.Verify_DirectedRelationship" name="Verify DirectedRelationship" hint="UML::DirectedRelationship" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2rmc0cFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/DirectedRelationship.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2sNgEcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::Requirements::Verify</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.DirectedRelationship"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.View" identifier="org.eclipse.papyrus.SysML16.View" name="View" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2sNgkcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2sNg0cFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ModelElements::View</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <elementTypeConfigurations xmi:type="elementtypesconfigurations:SpecializationTypeConfiguration" xmi:id="org.eclipse.papyrus.SysML16.Viewpoint" identifier="org.eclipse.papyrus.SysML16.Viewpoint" name="Viewpoint" hint="UML::Class" kind="org.eclipse.gmf.runtime.emf.type.core.IHintedType">
+ <iconEntry xmi:type="elementtypesconfigurations:IconEntry" xmi:id="_G2s0kUcFEemrpM9dj3x64Q" iconPath="/icons/full/obj16/Class.gif" bundleId="org.eclipse.uml2.uml.edit"/>
+ <matcherConfiguration xmi:type="stereotypematcher:StereotypeApplicationMatcherConfiguration" xmi:id="_G2s0kkcFEemrpM9dj3x64Q" profileUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <stereotypesQualifiedNames>SysML::ModelElements::Viewpoint</stereotypesQualifiedNames>
+ </matcherConfiguration>
+ <specializedTypes xmi:type="elementtypesconfigurations:MetamodelTypeConfiguration" href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#org.eclipse.papyrus.uml.Class"/>
+ </elementTypeConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2s0k0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.acceptChangeStructuralFeatureEventAction" target="org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2tboEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::AcceptChangeStructuralFeatureEventAction" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_NxH58EcOEem3Z70iU-iUnQ" identifier="org.eclipse.papyrus.SysML16.addFlowPropertyValueOnNestedPortAction" target="org.eclipse.papyrus.SysML16.AddFlowPropertyValueOnNestedPortAction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_NxJIEEcOEem3Z70iU-iUnQ" stereotypeQualifiedName="SysML::ModelElements::AddFlowPropertyValueOnNestedPortAction" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2tboUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.adjunctProperty" target="org.eclipse.papyrus.SysML16.AdjunctProperty">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2tbokcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::AdjunctProperty" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2tbo0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.allocate" target="org.eclipse.papyrus.SysML16.Allocate_Abstraction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2uCsEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Allocations::Allocate" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2uCsUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.allocate" target="org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2uCskcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Allocations::Allocate" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2uCs0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.allocateActivityPartition" target="org.eclipse.papyrus.SysML16.AllocateActivityPartition">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2upwEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Allocations::AllocateActivityPartition" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2upwUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.bindingConnector" target="org.eclipse.papyrus.SysML16.BindingConnector">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2upwkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::BindingConnector" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2upw0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.block" target="org.eclipse.papyrus.SysML16.Block">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2upxEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::Block" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2vQ0EcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.boundReference" target="org.eclipse.papyrus.SysML16.BoundReference">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2vQ0UcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::BoundReference" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2vQ0kcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.changeStructuralFeatureEvent" target="org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2v34EcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::ChangeStructuralFeatureEvent" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2v34UcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.classifierBehaviorProperty" target="org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2v34kcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ClassifierBehaviorProperty" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2v340cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.conform" target="org.eclipse.papyrus.SysML16.Conform">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2we8EcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Conform" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_qyx00EcaEem3Z70iU-iUnQ" identifier="org.eclipse.papyrus.SysML16.ConjugatedinterfaceBlock" target="org.eclipse.papyrus.SysML16.ConjugatedInterfaceBlock">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_qyx00UcaEem3Z70iU-iUnQ" stereotypeQualifiedName="SysML::PortsAndFlows::ConjugatedInterfaceBlock" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2we8UcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.connectorProperty" target="org.eclipse.papyrus.SysML16.ConnectorProperty">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2we8kcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ConnectorProperty" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2we80cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.constraintBlock" target="org.eclipse.papyrus.SysML16.ConstraintBlock">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xGAEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ConstraintBlocks::ConstraintBlock" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2xGAUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.continuous" target="org.eclipse.papyrus.SysML16.Continuous_ActivityEdge">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xGAkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Continuous" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2xGA0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.continuous" target="org.eclipse.papyrus.SysML16.Continuous_ObjectNode">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xGBEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Continuous" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2xtEEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.continuous" target="org.eclipse.papyrus.SysML16.Continuous_Parameter">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xtEUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Continuous" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2xtEkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.controlOperator" target="org.eclipse.papyrus.SysML16.ControlOperator_Behavior">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2xtE0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::ControlOperator" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2yUIEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.controlOperator" target="org.eclipse.papyrus.SysML16.ControlOperator_Operation">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2yUIUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::ControlOperator" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2yUIkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.copy" target="org.eclipse.papyrus.SysML16.Copy_Abstraction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2yUI0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Copy" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2yUJEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.copy" target="org.eclipse.papyrus.SysML16.Copy_DirectedRelationship">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2y7MEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Copy" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2y7MUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.deriveReqt" target="org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2y7MkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::DeriveReqt" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2y7M0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.deriveReqt" target="org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2ziQEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::DeriveReqt" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2ziQUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.directedFeature" target="org.eclipse.papyrus.SysML16.DirectedFeature">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2ziQkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::DirectedFeature" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2ziQ0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.directedRelationshipPropertyPath" target="org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20JUEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::DirectedRelationshipPropertyPath" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G20JUUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.discrete" target="org.eclipse.papyrus.SysML16.Discrete_ActivityEdge">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20JUkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Discrete" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G20JU0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.discrete" target="org.eclipse.papyrus.SysML16.Discrete_ObjectNode">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20JVEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Discrete" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G20wYEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.discrete" target="org.eclipse.papyrus.SysML16.Discrete_Parameter">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20wYUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Discrete" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G20wYkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.distributedProperty" target="org.eclipse.papyrus.SysML16.DistributedProperty">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G20wY0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::DistributedProperty" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21XcEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.elementGroup" target="org.eclipse.papyrus.SysML16.ElementGroup">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G21XcUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::ElementGroup" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21XckcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.elementPropertyPath" target="org.eclipse.papyrus.SysML16.ElementPropertyPath">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G21Xc0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ElementPropertyPath" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21XdEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.endPathMultiplicity" target="org.eclipse.papyrus.SysML16.EndPathMultiplicity">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G21-gEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::EndPathMultiplicity" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21-gUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.expose" target="org.eclipse.papyrus.SysML16.Expose">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G21-gkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Expose" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G21-g0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.flowPort" target="org.eclipse.papyrus.SysML16.FlowPort">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G22lkEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::DeprecatedElements::FlowPort" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G22lkUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.flowProperty" target="org.eclipse.papyrus.SysML16.FlowProperty">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G22lkkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::FlowProperty" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G22lk0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.flowSpecification" target="org.eclipse.papyrus.SysML16.FlowSpecification">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G23MoEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::DeprecatedElements::FlowSpecification" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G23MoUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.fullPort" target="org.eclipse.papyrus.SysML16.FullPort">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G23MokcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::FullPort" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G23Mo0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.interfaceBlock" target="org.eclipse.papyrus.SysML16.InterfaceBlock">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G23zsEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::InterfaceBlock" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G23zsUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.invocationOnNestedPortAction" target="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G23zskcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::InvocationOnNestedPortAction" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G23zs0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.invocationOnNestedPortAction" target="org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G24awEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::InvocationOnNestedPortAction" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G24awUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.itemFlow_UML::InformationFlow" target="org.eclipse.papyrus.SysML16.ItemFlow">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G24awkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::ItemFlow" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G24aw0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.nestedConnectorEnd" target="org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G24axEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::NestedConnectorEnd" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25B0EcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.nestedConnectorEnd" target="org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G25B0UcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::NestedConnectorEnd" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25B0kcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.noBuffer" target="org.eclipse.papyrus.SysML16.NoBuffer">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G25B00cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::NoBuffer" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25o4EcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.optional" target="org.eclipse.papyrus.SysML16.Optional">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G25o4UcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Optional" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25o4kcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.overwrite" target="org.eclipse.papyrus.SysML16.Overwrite">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G25o40cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Overwrite" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G25o5EcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.participantProperty" target="org.eclipse.papyrus.SysML16.ParticipantProperty">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G26P8EcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ParticipantProperty" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G26P8UcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.probability" target="org.eclipse.papyrus.SysML16.Probability_ActivityEdge">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G26P8kcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Probability" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G26P80cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.probability" target="org.eclipse.papyrus.SysML16.Probability_ParameterSet">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G263AEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Probability" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G263AUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.problem" target="org.eclipse.papyrus.SysML16.Problem">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G263AkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Problem" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G263A0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.propertySpecificType" target="org.eclipse.papyrus.SysML16.PropertySpecificType">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G263BEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::PropertySpecificType" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G27eEEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.proxyPort" target="org.eclipse.papyrus.SysML16.ProxyPort">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G27eEUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::ProxyPort" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G27eEkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.rate" target="org.eclipse.papyrus.SysML16.Rate_ActivityEdge">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G27eE0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Rate" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G28FIEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.rate" target="org.eclipse.papyrus.SysML16.Rate_ObjectNode">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G28FIUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Rate" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G28FIkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.rate" target="org.eclipse.papyrus.SysML16.Rate_Parameter">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G28FI0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Activities::Rate" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G28sMEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.rationale" target="org.eclipse.papyrus.SysML16.Rationale">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G28sMUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Rationale" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G28sMkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.refine" target="org.eclipse.papyrus.SysML16.Refine_Abstraction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G28sM0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Refine" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G29TQEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.refine" target="org.eclipse.papyrus.SysML16.Refine_DirectedRelationship">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G29TQUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Refine" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G29TQkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.requirement" target="org.eclipse.papyrus.SysML16.Requirement">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G29TQ0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Requirement" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G29TREcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.satisfy" target="org.eclipse.papyrus.SysML16.Satisfy_Abstraction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G296UEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Satisfy" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G296UUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.satisfy" target="org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G296UkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Satisfy" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G296U0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.stakeholder" target="org.eclipse.papyrus.SysML16.Stakeholder">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2-hYEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Stakeholder" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2-hYUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testCase" target="org.eclipse.papyrus.SysML16.TestCase_Behavior">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2-hYkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2-hY0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.testCase" target="org.eclipse.papyrus.SysML16.TestCase_Operation">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2-hZEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::TestCase" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2_IcEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.trace" target="org.eclipse.papyrus.SysML16.Trace_Abstraction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2_IcUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Trace" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2_IckcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.trace" target="org.eclipse.papyrus.SysML16.Trace_DirectedRelationship">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2_Ic0cFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Trace" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2_vgEcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.triggerOnNestedPort" target="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G2_vgUcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::TriggerOnNestedPort" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G2_vgkcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.triggerOnNestedPort" target="org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3AWkEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::PortsAndFlows::TriggerOnNestedPort" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3AWkUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.valueType" target="org.eclipse.papyrus.SysML16.ValueType">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3AWkkcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Blocks::ValueType" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3AWk0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.verify" target="org.eclipse.papyrus.SysML16.Verify_Abstraction">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3A9oEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Verify" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3A9oUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.verify" target="org.eclipse.papyrus.SysML16.Verify_DirectedRelationship">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3A9okcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::Requirements::Verify" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3A9o0cFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.view" target="org.eclipse.papyrus.SysML16.View">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3BksEcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::View" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+ <adviceBindingsConfigurations xmi:type="applystereotypeadvice:ApplyStereotypeAdviceConfiguration" xmi:id="_G3BksUcFEemrpM9dj3x64Q" identifier="org.eclipse.papyrus.SysML16.viewpoint" target="org.eclipse.papyrus.SysML16.Viewpoint">
+ <stereotypesToApply xmi:type="applystereotypeadvice:StereotypeToApply" xmi:id="_G3BkskcFEemrpM9dj3x64Q" stereotypeQualifiedName="SysML::ModelElements::Viewpoint" updateName="true">
+ <requiredProfiles>SysML</requiredProfiles>
+ </stereotypesToApply>
+ </adviceBindingsConfigurations>
+</elementtypesconfigurations:ElementTypeSetConfiguration>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.properties b/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.properties
new file mode 100644
index 0000000..13f8dd8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.properties
@@ -0,0 +1,17 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Service Type
+Bundle-Description=This plug-in contains the SyML 1.6 element types.
+Bundle-Vendor=Eclipse Modeling Project
+
+
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.xml b/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.xml
new file mode 100644
index 0000000..e9d1215
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/plugin.xml
@@ -0,0 +1,36 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+
+ Contributors:
+ Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+
+-->
+
+<plugin>
+ <extension
+ point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
+ <elementTypeSet
+ clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
+ path="model/SysML16.elementtypesconfigurations">
+ </elementTypeSet>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.infra.types.core.elementTypeSetConfiguration">
+ <elementTypeSet
+ clientContextID="org.eclipse.papyrus.infra.services.edit.TypeContext"
+ path="model/SysML16-extension.elementtypesconfigurations">
+ </elementTypeSet>
+ </extension>
+
+</plugin>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/pom.xml b/plugins/core/org.eclipse.papyrus.sysml16.service.types/pom.xml
new file mode 100644
index 0000000..4ede0e6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.sysml16.core</artifactId>
+ <groupId>org.eclipse.papyrus.sysml</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.sysml16.service.types</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <name>org.eclipse.papyrus.sysml16.service.types</name>
+ <description>This plug-in contains the SyML 1.6 element types. Papyrus element type is the model based approach for managing object life cycle (based on eclipse gmf framework)</description>
+</project>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/Activator.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/Activator.java
new file mode 100644
index 0000000..791685a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/Activator.java
@@ -0,0 +1,30 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types;
+
+import org.eclipse.core.runtime.Plugin;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends Plugin {
+
+ /**
+ * The plug-in ID.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml16.service.types"; //$NON-NLS-1$
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ActorPartEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ActorPartEditHelperAdvice.java
new file mode 100644
index 0000000..f38d9e8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ActorPartEditHelperAdvice.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+
+/**
+ * The creation of element can imply launch of popup.
+ *
+ * It must be possible to let the possibility to add a popup to create actor Part.
+ */
+public class ActorPartEditHelperAdvice extends AbstractEditHelperAdvice {
+
+
+ /**
+ * Parameter id used to pass the command for setting the type of the property
+ */
+ public static final String SET_ACTOR_ICOMMAND = "SET_ACTOR_ICOMMAND"; //$NON-NLS-1$
+
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+ Object parameter = request.getParameter(SET_ACTOR_ICOMMAND);
+
+ if (parameter instanceof ICommand) {
+ return (ICommand) parameter;
+ }
+ return super.getAfterConfigureCommand(request);
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/AfterConfigureCommandEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/AfterConfigureCommandEditHelperAdvice.java
new file mode 100644
index 0000000..f985e93
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/AfterConfigureCommandEditHelperAdvice.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+
+/**
+ * The EditHelperAdvice class used for:
+ * The property value can imply to launch a popup
+ *
+ * The reference can imply to launch a popup
+ *
+ * The part can imply to launch a popup
+ *
+ * The flowproperty value can imply to launch a popup
+ */
+public class AfterConfigureCommandEditHelperAdvice extends AbstractEditHelperAdvice {
+
+
+ /**
+ * Parameter id used to pass the command for setting the type of the property
+ */
+ public static final String AFTER_CONFIGURE_COMMAND = "AFTER_CONFIGURE_COMMAND"; //$NON-NLS-1$
+
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+ Object parameter = request.getParameter(AFTER_CONFIGURE_COMMAND);
+
+ if (parameter instanceof ICommand) {
+ return (ICommand) parameter;
+ }
+ return super.getAfterConfigureCommand(request);
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformCreationEditHelperAdvice.java
new file mode 100644
index 0000000..456e82d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformCreationEditHelperAdvice.java
@@ -0,0 +1,121 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Iterator;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.1 Conform
+ * the service edit must implement the following constraints
+ * [1] The general classifier must be an element stereotyped by Viewpoint.
+ * [2] The specific classifier must be an element that is stereotyped by View.
+ *
+ *7.3.2.7 View
+ *[1] A view must only conform to a single viewpoint.
+ *
+ */
+public class ConformCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ //only CreateRelationshipRequest are interested for conform
+ if(request instanceof CreateRelationshipRequest){
+ CreateRelationshipRequest createRelationshipRequest=(CreateRelationshipRequest)request;
+ //only elementType conform are interested for conform
+ IElementType elementType=createRelationshipRequest.getElementType();
+ if (elementType instanceof ISpecializationType){
+ List<IElementType> elementTypesHierarchy= new ArrayList<>();
+ elementTypesHierarchy.add(elementType);
+ ISpecializationType iSpecializationType=(ISpecializationType)elementType;
+ elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+ if(elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONFORM))){
+ return approveCreateRelationshipRequest(createRelationshipRequest);
+ }
+ }
+ }
+ return super.approveRequest(request);
+ }
+
+ /**
+ * is the createRelationshipRequest on Conform (or one sub specialization is approved)
+ * @param createRelationshipRequest
+ * @return
+ */
+ private boolean approveCreateRelationshipRequest(CreateRelationshipRequest createRelationshipRequest) {
+ //test source
+ EObject source = createRelationshipRequest.getSource();
+ if (!(source instanceof Classifier)){
+ return false;
+ }
+ else{
+ // this is a view, but has it a conform link?
+ Conform conformLink=null;
+ Classifier viewBaseClass= (Classifier)source;
+ // Find Conform link
+ EList<Generalization> generalizations = viewBaseClass.getGeneralizations();
+ if (generalizations != null) {
+ Iterator<Generalization> itGen = generalizations.iterator();
+ while (itGen.hasNext() && (conformLink == null)) {
+ conformLink = UMLUtil.getStereotypeApplication(itGen.next(), Conform.class);
+ }
+ }
+ //Test to verify if the view has already a conform link.
+ if(conformLink!=null){
+ return false;
+ }
+ }
+ //the source is ok
+ if( UMLUtil.getStereotypeApplication((Classifier)source, View.class)==null){
+ return false;
+ }
+
+ //test target
+ EObject target = createRelationshipRequest.getTarget();
+ if(target==null){
+ return true;
+ }
+ if (!(target instanceof Classifier)){
+ return false;
+ }
+ return UMLUtil.getStereotypeApplication((Classifier)target, Viewpoint.class)!=null;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformReorientEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformReorientEditHelperAdvice.java
new file mode 100644
index 0000000..c8cc808
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConformReorientEditHelperAdvice.java
@@ -0,0 +1,88 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.Iterator;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.1 Conform
+ * the service edit must implement the following constraints
+ * [1] The general classifier must be an element stereotyped by Viewpoint.
+ * [2] The specific classifier must be an element that is stereotyped by View.
+ *
+ * 7.3.2.7 View
+ *A view must only conform to a single viewpoint.
+ *
+ */
+public class ConformReorientEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ if(!(request instanceof ReorientRelationshipRequest)){
+ return super.approveRequest(request);
+ }
+ ReorientRelationshipRequest reorientRelationshipRequest= (ReorientRelationshipRequest) request;
+ EObject newRelationshipEnd = reorientRelationshipRequest.getNewRelationshipEnd();
+ if (!(newRelationshipEnd instanceof Classifier)){
+ return false;
+ }
+
+ Classifier newRelationshipEndClassifier = (Classifier) newRelationshipEnd ;
+ //SOURCE
+ if(ReorientRelationshipRequest.REORIENT_SOURCE==reorientRelationshipRequest.getDirection()){
+ if( UMLUtil.getStereotypeApplication(newRelationshipEndClassifier, View.class)!=null){
+ // this is a view, but has it a conform link?
+ Conform conformLink=null;
+ // Find Conform link
+ EList<Generalization> generalizations = newRelationshipEndClassifier.getGeneralizations();
+ if (generalizations != null) {
+ Iterator<Generalization> itGen = generalizations.iterator();
+ while (itGen.hasNext() && (conformLink == null)) {
+ conformLink = UMLUtil.getStereotypeApplication(itGen.next(), Conform.class);
+ }
+ }
+ //Test to verify if the view has already a conform link.
+ if(conformLink!=null){
+ return false;
+ }
+ return true;
+ }
+ }else{//TARGET
+ if( UMLUtil.getStereotypeApplication(newRelationshipEndClassifier, Viewpoint.class)!=null){
+ return true;
+ }
+ }
+ return false;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorCreationEditHelperAdvice.java
new file mode 100644
index 0000000..2a97e35
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorCreationEditHelperAdvice.java
@@ -0,0 +1,155 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.Arrays;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.common.core.command.UnexecutableCommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.service.types.command.UpdateNestedPathConnectorEnd;
+import org.eclipse.papyrus.sysml16.service.types.util.ConnectorUtil;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.sysml16.service.types.util.UMLConnectorUtils;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterUtils;
+import org.eclipse.uml2.uml.ConnectableElement;
+
+/**
+ * 8.3.2.3 Block
+ * the service edit must implement the following constraints
+ * isEncapsulated: Boolean [0..1]
+ * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or
+ * directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of
+ * its internal structure via deep-nested connector ends.
+ */
+public class ConnectorCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ private UMLConnectorUtils utils = new UMLConnectorUtils();
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeCreateRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getBeforeCreateRelationshipCommand(CreateRelationshipRequest request) {
+
+ EObject source = request.getSource();
+ EObject target = request.getTarget();
+ EObject container = request.getContainer();
+ View sourceView = RequestParameterUtils.getSourceView(request);
+ View targetView = RequestParameterUtils.getTargetView(request);
+
+ // Restrict this advice action to the end of Connector creation gesture (before clicking on target)
+ // in order to add SysML specific constraint
+ if ((Arrays.asList(request.getElementType().getAllSuperTypes()).contains(UMLElementTypes.CONNECTOR))
+ && (source != null) && (target != null) && (container != null)) {
+
+ // Restrict action to SysML Connector (meaning owned by Block)
+ if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK)).getMatcher().matches(container)
+ || ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK)).getMatcher().matches(container)) {
+ // If the source or target view is enclosed in a structure encapsulated view, forbid creation.
+ if (ConnectorUtil.isCrossingEncapsulation(sourceView, targetView)
+ || ConnectorUtil.isCrossingEncapsulation(targetView, sourceView)) {
+ return UnexecutableCommand.INSTANCE;
+ }
+ if (canCreate(source, target, sourceView, targetView)) {
+ request.setParameter(org.eclipse.papyrus.uml.service.types.utils.RequestParameterConstants.UML_STRICT, false);
+ }
+ }
+ }
+ return super.getBeforeCreateRelationshipCommand(request);
+ }
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterCreateRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getAfterCreateRelationshipCommand(CreateRelationshipRequest request) {
+
+ ICommand defaultCommand = super.getAfterCreateRelationshipCommand(request);
+
+ EObject container = request.getContainer();
+ View sourceView = RequestParameterUtils.getSourceView(request);
+ View targetView = RequestParameterUtils.getTargetView(request);
+
+ // Restrict this advice action to the end of Connector creation gesture (before clicking on target)
+ // in order to add SysML specific constraint
+ if ((Arrays.asList(request.getElementType().getAllSuperTypes()).contains(UMLElementTypes.CONNECTOR))
+ && (request.getSource() != null) && (request.getTarget() != null) && (container != null)) {
+ // Restrict action to SysML Connector (meaning owned by Block)
+ if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK)).getMatcher().matches(container)
+ || ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK)).getMatcher().matches(container)) {
+ UpdateNestedPathConnectorEnd updateNestedPathConnectorEndSource = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Source", sourceView, request, true);
+ defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndSource);
+ UpdateNestedPathConnectorEnd updateNestedPathConnectorEndTarget = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Target", targetView, request, false);
+ defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndTarget);
+ }
+ }
+
+ return defaultCommand;
+ }
+
+ /**
+ * Test if the relationship creation is allowed.
+ *
+ * @param source
+ * the relationship source can be null
+ * @param target
+ * the relationship target can be null
+ * @param sourceView
+ * the relationship graphical source can be null
+ * @param targetView
+ * the relationship graphical target can be null
+ * @return true if the creation is allowed
+ */
+ //FIXME test creation should be done in approve request
+ private boolean canCreate(EObject source, EObject target, View sourceView, View targetView) {
+
+ if ((source != null) && !(source instanceof ConnectableElement)) {
+ return false;
+ }
+
+ if ((target != null) && !(target instanceof ConnectableElement)) {
+ return false;
+ }
+
+ if ((sourceView != null) && (targetView != null)) {
+ // Cannot create a connector from a view representing a Part to its own Port (or the opposite)
+ if ((sourceView.getChildren().contains(targetView)) || (targetView.getChildren().contains(sourceView))) {
+ return false;
+ }
+
+ // Cannot connect a Part to one of its (possibly indirect) containment, must connect to one of its Port.
+ if (utils.getStructureContainers(sourceView).contains(targetView) || utils.getStructureContainers(targetView).contains(sourceView)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorPropertyEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorPropertyEditHelperAdvice.java
new file mode 100644
index 0000000..d875410
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorPropertyEditHelperAdvice.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.commands.ConfigureElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * The EditHelperAdvice class used for ConnectorProperty
+ * [3]The aggregation of a property stereotyped by ConnectorProperty must be composite.
+ */
+public class ConnectorPropertyEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ @Override
+ protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+ final Property property = (Property) request.getElementToConfigure();
+ return new ConfigureElementCommand(request) {
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
+ property.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+ return CommandResult.newOKCommandResult(property);
+ }
+ };
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorReorientEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorReorientEditHelperAdvice.java
new file mode 100644
index 0000000..892050c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConnectorReorientEditHelperAdvice.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.service.types.command.UpdateNestedPathConnectorEnd;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterUtils;
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * 8.3.2.3 Block
+ * the service edit must implement the following constraints
+ * isEncapsulated: Boolean [0..1]
+ * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or
+ * directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of
+ * its internal structure via deep-nested connector ends.
+ */
+public class ConnectorReorientEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * Update the nested path from the NestedConnectorEnd stereotype
+ * ( Remove the stereotype if the new nested path is empty)
+ *
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterReorientRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getAfterReorientRelationshipCommand(final ReorientRelationshipRequest request) {
+ ICommand defaultCommand = super.getAfterReorientRelationshipCommand(request);
+ Connector connector = (Connector) request.getRelationship();
+ // Restrict action to SysML Connector (meaning owned by Block)
+ EObject eContainer = connector.eContainer();
+ if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK)).getMatcher().matches(eContainer)
+ || ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK)).getMatcher().matches(eContainer)) {
+ View reconnectedEndView = RequestParameterUtils.getReconnectedEndView(request);
+ if (reconnectedEndView != null) {
+ boolean isSourceReorientation = request.getDirection() == ReorientRequest.REORIENT_SOURCE;
+ UpdateNestedPathConnectorEnd updateNestedPathConnectorEndSource = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Reconnected End", reconnectedEndView, request, isSourceReorientation);
+ defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndSource);
+ }
+ }
+ return defaultCommand;
+ }
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+ * After a re-configuration update the NestedPathConnectorEnd
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+ ICommand defaultCommand = super.getAfterConfigureCommand(request);
+ View sourceView = RequestParameterUtils.getSourceView(request);
+ View targetView = RequestParameterUtils.getTargetView(request);
+ if (request.getElementToConfigure() instanceof Connector) {
+ Connector connector = (Connector) request.getElementToConfigure();
+ EObject eContainer = connector.eContainer();
+ if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK)).getMatcher().matches(eContainer)
+ || ((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK)).getMatcher().matches(eContainer)) {
+ if (sourceView != null) {
+ UpdateNestedPathConnectorEnd updateNestedPathConnectorEndSource = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Source", sourceView, request, true);
+ defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndSource);
+ }
+ if (targetView != null) {
+ UpdateNestedPathConnectorEnd updateNestedPathConnectorEndTarget = new UpdateNestedPathConnectorEnd("UpdateNestedPathConnectorEnd Target", targetView, request, false);
+ defaultCommand = CompositeCommand.compose(defaultCommand, updateNestedPathConnectorEndTarget);
+ }
+ }
+ }
+ return defaultCommand;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintCreationEditHelperAdvice.java
new file mode 100644
index 0000000..85d1f71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintCreationEditHelperAdvice.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.Arrays;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.element.UMLElementTypes;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * This advice is used to redirect creation of constraint inside a property to the type of the property
+ */
+public class ConstraintCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#configureRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+ *
+ * @param request
+ */
+ @Override
+ public void configureRequest(IEditCommandRequest request) {
+ if (request instanceof CreateElementRequest) {
+ // check the element to create is a sub kind of UML Constraint
+ CreateElementRequest createElementRequest = (CreateElementRequest) request;
+ if (Arrays.asList(createElementRequest.getElementType().getAllSuperTypes()).contains(UMLElementTypes.CONSTRAINT)) {
+ // check the container as Constraint Block property
+ if (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY)).getMatcher().matches(createElementRequest.getContainer())) {
+ if (createElementRequest.getContainer() instanceof Property) {
+ // this line is very important
+ // change the context ok, but the feature must be change in order to create a port inside the class
+ createElementRequest.setContainmentFeature(UMLPackage.eINSTANCE.getNamespace_OwnedRule());
+ Property p = (Property) createElementRequest.getContainer();
+ if (p.getType() != null) {
+ createElementRequest.setContainer(p.getType());
+ }
+
+ }
+ }
+ }
+ }
+
+ super.configureRequest(request);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintPropertyEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintPropertyEditHelperAdvice.java
new file mode 100644
index 0000000..4e603ad
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ConstraintPropertyEditHelperAdvice.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+
+/**
+ * The EditHelperAdvice class used for ConstraintProperty
+ * Get the command from graphical element type to type the property by a constraint block
+ */
+public class ConstraintPropertyEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * Parameter id used to pass the command for setting the type of the property
+ */
+ public static final String SET_CONSTRAINT_ICOMMAND = "SET_CONSTRAINT_ICOMMAND"; //$NON-NLS-1$
+
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getAfterConfigureCommand(ConfigureRequest request) {
+ Object parameter = request.getParameter(SET_CONSTRAINT_ICOMMAND);
+
+ if (parameter instanceof ICommand) {
+ return (ICommand) parameter;
+ }
+ return super.getAfterConfigureCommand(request);
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtClientEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtClientEditHelperAdvice.java
new file mode 100644
index 0000000..16773d7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtClientEditHelperAdvice.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.2 DeriveReqt (SysML 1.6)
+ * Constraints
+ * [2] The client must be an element stereotyped by «requirement» or one of «requirement» subtypes.
+ */
+public class DeriveReqtClientEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ // only CreateRelationshipRequest are interested for conform
+ if (request instanceof CreateRelationshipRequest) {
+ CreateRelationshipRequest createRelationshipRequest = (CreateRelationshipRequest) request;
+ // only elementType conform are interested for conform
+ IElementType elementType = createRelationshipRequest.getElementType();
+ if (elementType instanceof ISpecializationType) {
+ if (isSpecializationof((ISpecializationType) elementType, SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_ABSTRACTION) ||
+ isSpecializationof((ISpecializationType) elementType, SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_DIRECTEDRELATIONSHIP)) {
+ return approveCreateRelationshipRequest(createRelationshipRequest);
+ }
+ }
+ }
+ return super.approveRequest(request);
+ }
+
+ /**
+ * Client (source) of the createRelationshipRequest should be a requirement
+ *
+ * @param createRelationshipRequest
+ * @return
+ */
+ private boolean approveCreateRelationshipRequest(CreateRelationshipRequest createRelationshipRequest) {
+ EObject source = createRelationshipRequest.getSource();
+ return (source instanceof Classifier) && UMLUtil.getStereotypeApplication((Classifier) source, Requirement.class) != null;
+ }
+
+ /**
+ * Check if iSpecializationType is a specialization of elementTypeId
+ *
+ * @param iSpecializationType
+ * @param elementTypeId
+ * @return
+ */
+ // FIXME : this utility should be provided by the elementType API
+ private boolean isSpecializationof(ISpecializationType iSpecializationType, String elementTypeId) {
+ List<IElementType> elementTypesHierarchy = new ArrayList<>();
+ elementTypesHierarchy.add(iSpecializationType);
+ elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+ return elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(elementTypeId));
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtSupplierEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtSupplierEditHelperAdvice.java
new file mode 100644
index 0000000..2d801b4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DeriveReqtSupplierEditHelperAdvice.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.2 DeriveReqt (SysML 1.6)
+ * Constraints
+ * [1] The supplier must be an element stereotyped by «requirement» or one of «requirement» subtypes.
+ */
+public class DeriveReqtSupplierEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#approveRequest(org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ public boolean approveRequest(IEditCommandRequest request) {
+ // only CreateRelationshipRequest are interested for conform
+ if (request instanceof CreateRelationshipRequest) {
+ CreateRelationshipRequest createRelationshipRequest = (CreateRelationshipRequest) request;
+ // only elementType conform are interested for conform
+ IElementType elementType = createRelationshipRequest.getElementType();
+ if (elementType instanceof ISpecializationType) {
+ if (isSpecializationof((ISpecializationType) elementType, SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_ABSTRACTION) ||
+ isSpecializationof((ISpecializationType) elementType, SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_DIRECTEDRELATIONSHIP)) {
+ return approveCreateRelationshipRequest(createRelationshipRequest);
+ }
+ }
+ }
+ return super.approveRequest(request);
+ }
+
+ /**
+ * supplier (target) of the createRelationshipRequest should be a requirement
+ *
+ * @param createRelationshipRequest
+ * @return
+ */
+ private boolean approveCreateRelationshipRequest(CreateRelationshipRequest createRelationshipRequest) {
+ EObject target = createRelationshipRequest.getTarget();
+ return (target instanceof Classifier) && UMLUtil.getStereotypeApplication((Classifier) target, Requirement.class) != null;
+ }
+
+ /**
+ * Check if iSpecializationType is a specialization of elementTypeId
+ *
+ * @param iSpecializationType
+ * @param elementTypeId
+ * @return
+ */
+ // FIXME : this utility should be provided by the elementType API
+ private boolean isSpecializationof(ISpecializationType iSpecializationType, String elementTypeId) {
+ List<IElementType> elementTypesHierarchy = new ArrayList<>();
+ elementTypesHierarchy.add(iSpecializationType);
+ elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+ return elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(elementTypeId));
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DirectedRelationshipPropertyPathEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DirectedRelationshipPropertyPathEditHelperAdvice.java
new file mode 100644
index 0000000..70b7ddf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/DirectedRelationshipPropertyPathEditHelperAdvice.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.service.types.command.SetDirectedRelationshipPropertyPathCommand;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToCreateElementEditCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToIEditCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterUtils;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath
+ * sourcePropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the source of the directed relationship in the context of the block specified by the
+ * sourceContext property. The ordering of properties is from a property of the sourceContext block, through a property
+ * of each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * source of the directed relationship. The source is not included in the propertyPath list. The same property might
+ * appear more than once because a block can own a property with the same or specialized block as a type.
+ * • targetPropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the target of the directed relationship in the context of the block specified by the
+ * targetContext property. The ordering of properties is from a property of the targetContext block, through a property of
+ * each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * target of the directed relationship. The target is not included in the propertyPath list. The same property might appear
+ * more than once because a block can own a property with the same or specialized block as a type.
+ * • sourceContext: Classifier [0.1]
+ * Gives the context for sourcePropertyPath to begin from.
+ * • targetContext: Classifier [0.1]
+ * Gives the context for targetPropertyPath to begin from.
+ *
+ */
+public class DirectedRelationshipPropertyPathEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterCreateRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getAfterCreateRelationshipCommand(CreateRelationshipRequest request) {
+
+ ICommand defaultCommand = super.getAfterCreateRelationshipCommand(request);
+ View sourceView = RequestParameterUtils.getSourceView(request);
+ View targetView = RequestParameterUtils.getTargetView(request);
+ if (request.getElementType() instanceof ISpecializationType) {
+ // get all specializations from elementTypes
+ List<IElementType> elementTypesHierarchy = new ArrayList<>();
+ elementTypesHierarchy.add(request.getElementType());
+ ISpecializationType iSpecializationType = (ISpecializationType) request.getElementType();
+ elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+
+ if ((elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION))) ||
+ (elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REFINE_ABSTRACTION))) ||
+ (elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_TRACE_ABSTRACTION)))) {
+
+ if (sourceView!=null && sourceView.getElement() instanceof Property) {
+ SetDirectedRelationshipPropertyPathCommand setPropertyPathCommand = new SetDirectedRelationshipPropertyPathCommand(request.getEditingDomain(), sourceView, true);
+ EMFToIEditCommandWrapper editCommandWrapper = new EMFToCreateElementEditCommandWrapper(request.getContainer(), request, setPropertyPathCommand);
+ defaultCommand = CompositeCommand.compose(defaultCommand, editCommandWrapper);
+ }
+
+ if (targetView!=null && targetView.getElement() instanceof Property) {
+ SetDirectedRelationshipPropertyPathCommand setPropertyPathCommand = new SetDirectedRelationshipPropertyPathCommand(request.getEditingDomain(), targetView, false);
+ EMFToIEditCommandWrapper editCommandWrapper = new EMFToCreateElementEditCommandWrapper(request.getContainer(), request, setPropertyPathCommand);
+ defaultCommand = CompositeCommand.compose(defaultCommand, editCommandWrapper);
+ }
+ }
+ }
+ return defaultCommand;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ElementGroupEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ElementGroupEditHelperAdvice.java
new file mode 100644
index 0000000..b4e2d0d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ElementGroupEditHelperAdvice.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+
+/**
+ * 7.3.2. ElementGroup
+ * /member: Element[0..*]
+ * Set specifying the members of the group.
+ * Derived from Comment::annotatedElement.
+ * orderedMember: Element[0..*] {ordered, subsets member}
+ * Organize member according to an arbitrary order.
+ *
+ */
+public class ElementGroupEditHelperAdvice extends AbstractEditHelperAdvice {
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/PartCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/PartCreationEditHelperAdvice.java
new file mode 100644
index 0000000..83a810a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/PartCreationEditHelperAdvice.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.sysml16.service.types.command.CreateAssociationCommand;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.AggregationKind;
+
+/**
+ *
+ *8.3.2.3 Block
+ *[1] For an association in which both ends are typed by blocks, the number of ends must be exactly two.
+ *
+ *[3] In the UML metamodel on which SysML is built, any instance of the Property metaclass that is typed by a block (a Class
+ *with the «block» stereotype applied) and which is owned by an Association may not have a name and may not be defined
+ *as a navigable owned end of the association. (While the Property has a “name” property as defined by its NamedElement
+ *superclass, the value of the “name” property, which is optional, must be missing.)
+ *
+ *[4] In the UML metamodel on which SysML is built, a Property that is typed by a block must be defined as an end of an association.
+ *(An inverse end of this association, whether owned by another block or the association itself, must always be present
+ *so there is always a metamodel element to record the inverse multiplicity of the reference.)
+ */
+public class PartCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected org.eclipse.gmf.runtime.common.core.command.ICommand getAfterConfigureCommand(final ConfigureRequest request) {
+ IElementType elementType=request.getTypeToConfigure();
+
+ if (elementType instanceof ISpecializationType){
+ List<IElementType> elementTypesHierarchy= new ArrayList<>();
+ elementTypesHierarchy.add(elementType);
+ ISpecializationType iSpecializationType=(ISpecializationType)elementType;
+ elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+
+ //this is part
+ if(elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_PART))){
+ return new CreateAssociationCommand( request, AggregationKind.COMPOSITE_LITERAL);
+ }
+
+ }
+ return super.getAfterConfigureCommand(request);
+
+ }
+
+ }
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/QuantityKindEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/QuantityKindEditHelperAdvice.java
new file mode 100644
index 0000000..8ea6e23
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/QuantityKindEditHelperAdvice.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.sysml16.service.types.command.InstanceSpecificationWithSlotConfigureElementCommand;
+import org.eclipse.papyrus.sysml16.util.QUDVUtil;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * The helperadvice class used for QuantityKind.
+ * - Init the type of the instance specification
+ * - create all slot corresponding to quantityKind attributes
+ */
+public class QuantityKindEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+ Classifier quantityKindClassifier = QUDVUtil.getClassifierByNameSpaceFromQUDV(QUDVUtil.UNIT_AND_QUANTITY_KIND, QUDVUtil.QUANTITY_KIND);
+ return new InstanceSpecificationWithSlotConfigureElementCommand(request,quantityKindClassifier);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReferenceCreationEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReferenceCreationEditHelperAdvice.java
new file mode 100644
index 0000000..1ccdedf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReferenceCreationEditHelperAdvice.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.IElementType;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.sysml16.service.types.command.CreateAssociationCommand;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.uml2.uml.AggregationKind;
+
+/**
+ * 8.3.2.3 Block
+ * [1] For an association in which both ends are typed by blocks, the number of ends must be exactly two.
+ *
+ * [3] In the UML metamodel on which SysML is built, any instance of the Property metaclass that is typed by a block (a Class
+ * with the «block» stereotype applied) and which is owned by an Association may not have a name and may not be defined
+ * as a navigable owned end of the association. (While the Property has a “name” property as defined by its NamedElement
+ * superclass, the value of the “name” property, which is optional, must be missing.)
+ *
+ * [4] In the UML metamodel on which SysML is built, a Property that is typed by a block must be defined as an end of an association.
+ * (An inverse end of this association, whether owned by another block or the association itself, must always be present
+ * so there is always a metamodel element to record the inverse multiplicity of the reference.)
+ **/
+public class ReferenceCreationEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected org.eclipse.gmf.runtime.common.core.command.ICommand getAfterConfigureCommand(final ConfigureRequest request) {
+ IElementType elementType = request.getTypeToConfigure();
+
+ if (elementType instanceof ISpecializationType) {
+ List<IElementType> elementTypesHierarchy = new ArrayList<>();
+ elementTypesHierarchy.add(elementType);
+ ISpecializationType iSpecializationType = (ISpecializationType) elementType;
+ elementTypesHierarchy.addAll(Arrays.asList(iSpecializationType.getAllSuperTypes()));
+
+ // this is a reference
+ if (elementTypesHierarchy.contains(ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REFERENCE))) {
+ return new CreateAssociationCommand(request, AggregationKind.SHARED_LITERAL);
+ }
+
+ }
+ return super.getAfterConfigureCommand(request);
+
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReorientDirectedRelationshipPPEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReorientDirectedRelationshipPPEditHelperAdvice.java
new file mode 100644
index 0000000..79daacd
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/ReorientDirectedRelationshipPPEditHelperAdvice.java
@@ -0,0 +1,76 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.ElementTypeRegistry;
+import org.eclipse.gmf.runtime.emf.type.core.ISpecializationType;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.service.types.command.SetDirectedRelationshipPropertyPathCommand;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToIEditCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToReorientRelationshipEditCommandWrapper;
+import org.eclipse.papyrus.sysml16.service.types.util.SysMLServiceTypeUtil;
+import org.eclipse.papyrus.uml.service.types.utils.RequestParameterUtils;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath
+ * sourcePropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the source of the directed relationship in the context of the block specified by the
+ * sourceContext property. The ordering of properties is from a property of the sourceContext block, through a property
+ * of each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * source of the directed relationship. The source is not included in the propertyPath list. The same property might
+ * appear more than once because a block can own a property with the same or specialized block as a type.
+ * • targetPropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the target of the directed relationship in the context of the block specified by the
+ * targetContext property. The ordering of properties is from a property of the targetContext block, through a property of
+ * each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * target of the directed relationship. The target is not included in the propertyPath list. The same property might appear
+ * more than once because a block can own a property with the same or specialized block as a type.
+ * • sourceContext: Classifier [0.1]
+ * Gives the context for sourcePropertyPath to begin from.
+ * • targetContext: Classifier [0.1]
+ * Gives the context for targetPropertyPath to begin from.
+ */
+public class ReorientDirectedRelationshipPPEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getAfterReorientRelationshipCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getAfterReorientRelationshipCommand(ReorientRelationshipRequest request) {
+ ICommand defaultCommand = super.getAfterReorientRelationshipCommand(request);
+ int reorientDirection = request.getDirection();
+ View newEndView = RequestParameterUtils.getReconnectedEndView(request);
+ if ((((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION)).getMatcher().matches(request.getRelationship())) ||
+ (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_REFINE_ABSTRACTION)).getMatcher().matches(request.getRelationship())) ||
+ (((ISpecializationType) ElementTypeRegistry.getInstance().getType(SysMLServiceTypeUtil.ORG_ECLIPSE_PAPYRUS_SYSML16_TRACE_ABSTRACTION)).getMatcher().matches(request.getRelationship()))) {
+ boolean isSource = ReorientRequest.REORIENT_SOURCE == reorientDirection;
+ if (newEndView.getElement() instanceof Property) {
+ SetDirectedRelationshipPropertyPathCommand setPropertyPathCommand = new SetDirectedRelationshipPropertyPathCommand(request.getEditingDomain(), newEndView, isSource);
+ EMFToIEditCommandWrapper editCommandWrapper = new EMFToReorientRelationshipEditCommandWrapper(request.getRelationship(), request, setPropertyPathCommand);
+ defaultCommand = CompositeCommand.compose(defaultCommand, editCommandWrapper);
+ }
+ }
+ return defaultCommand;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/SetEncapsulatedEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/SetEncapsulatedEditHelperAdvice.java
new file mode 100644
index 0000000..49bce80
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/SetEncapsulatedEditHelperAdvice.java
@@ -0,0 +1,142 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Set;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.gmf.runtime.common.core.command.CompositeCommand;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.core.util.EMFCoreUtil;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyDependentsRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.SetRequest;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * 8.3.2.3 Block
+ * the service edit must implement the following constraints
+ * isEncapsulated: Boolean [0..1]
+ * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or
+ * directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of
+ * its internal structure via deep-nested connector ends.
+ *
+ * <pre>
+ * This advice is used to remove inconsistent {@link Connector} when a related {@link Block}
+ * is set as encapsulated ({@link Block#isEncapsulated()} property).
+ * </pre>
+ */
+public class SetEncapsulatedEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * <pre>
+ * {@inheritDoc}
+ *
+ * Returns the command to destroy any {@link Connector} breaking encapsulation rules.
+ * </pre>
+ *
+ * @param request
+ * the request to modify the model
+ * @return
+ * the command to destroy the views of the parts which are not owned by the new type
+ *
+ */
+ @Override
+ protected ICommand getBeforeSetCommand(SetRequest request) {
+ ICommand setCommand = super.getBeforeSetCommand(request);
+ Set<Connector> connectorToDelete = new HashSet<>();
+
+ EObject elementToEdit = request.getElementToEdit();
+ if ((elementToEdit instanceof Block) && (request.getFeature() == BlocksPackage.eINSTANCE.getBlock_IsEncapsulated())) {
+
+ Block blockApp = (Block) elementToEdit;
+ Boolean setAsEncapsulated = (request.getValue() instanceof Boolean) ? (Boolean) request.getValue() : false;
+ if (!blockApp.isEncapsulated() && setAsEncapsulated) {
+
+ for (Property property : getPropertyTypedByBlock(blockApp)) {
+ for (NestedConnectorEnd nestedEnd : getRelatedNestedConnectorEnd(property)) {
+ ConnectorEnd end = nestedEnd.getBase_ConnectorEnd();
+ Connector connector = (end != null) ? (Connector) end.eContainer() : null;
+ if (connector != null) {
+ connectorToDelete.add(connector);
+ }
+ }
+ }
+ }
+ }
+
+ // Add connector destroy command if needed
+ if (!(connectorToDelete.isEmpty())) {
+ DestroyDependentsRequest req = new DestroyDependentsRequest(request.getEditingDomain(), elementToEdit, false);
+ req.setClientContext(request.getClientContext());
+ req.addParameters(request.getParameters());
+ ICommand connectorDestroyCommand = req.getDestroyDependentsCommand(connectorToDelete);
+ if (connectorDestroyCommand != null) {
+ setCommand = CompositeCommand.compose(connectorDestroyCommand, setCommand);
+ }
+ }
+
+ return setCommand;
+ }
+
+ /**
+ * Get any {@link Property} typed by the given {@link Block} (its base class).
+ *
+ * @param block
+ * the block.
+ * @return a collection of {@link Property}
+ */
+ private Collection<Property> getPropertyTypedByBlock(Block block) {
+ EReference[] eRefs = new EReference[] { UMLPackage.eINSTANCE.getTypedElement_Type() };
+
+ Collection<?> references = EMFCoreUtil.getReferencers(block.getBase_Class(), eRefs);
+ List<Property> propertyReferences = new LinkedList<>();
+ for (Object reference : references) {
+ if (reference instanceof Property) {
+ propertyReferences.add((Property) reference);
+ }
+ }
+
+ return propertyReferences;
+ }
+
+ /**
+ * Get any {@link NestedConnectorEnd} stereotype application that holds the property in its path.
+ *
+ * @param property
+ * the property that should be in the path.
+ * @return a collection of {@link NestedConnectorEnd}
+ */
+ @SuppressWarnings("unchecked")
+ private Collection<NestedConnectorEnd> getRelatedNestedConnectorEnd(Property property) {
+ EReference[] eRefs = new EReference[] { BlocksPackage.eINSTANCE.getElementPropertyPath_PropertyPath() };
+
+ Collection<NestedConnectorEnd> references = EMFCoreUtil.getReferencers(property, eRefs);
+ return (references != null) ? references : Collections.unmodifiableList(new ArrayList<NestedConnectorEnd>());
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/UnitEditHelperAdvice.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/UnitEditHelperAdvice.java
new file mode 100644
index 0000000..3e949f4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/advice/UnitEditHelperAdvice.java
@@ -0,0 +1,43 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.advice;
+
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.papyrus.sysml16.service.types.command.InstanceSpecificationWithSlotConfigureElementCommand;
+import org.eclipse.papyrus.sysml16.util.QUDVUtil;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * The helper advice class used for Unit.
+ * - Init the type of the instance specification
+ * - create all slot corresponding to Unit attributes
+ */
+public class UnitEditHelperAdvice extends AbstractEditHelperAdvice {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.edithelper.AbstractEditHelperAdvice#getBeforeConfigureCommand(org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest)
+ *
+ * @param request
+ * @return
+ */
+ @Override
+ protected ICommand getBeforeConfigureCommand(ConfigureRequest request) {
+ Classifier unitClassifier = QUDVUtil.getClassifierByNameSpaceFromQUDV(QUDVUtil.UNIT_AND_QUANTITY_KIND, QUDVUtil.UNIT);
+ return new InstanceSpecificationWithSlotConfigureElementCommand(request,unitClassifier);
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/CreateAssociationCommand.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/CreateAssociationCommand.java
new file mode 100644
index 0000000..796240d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/CreateAssociationCommand.java
@@ -0,0 +1,100 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.ConfigureElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Package;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLFactory;
+
+/**
+ * This class is used to create an association from a property
+ */
+public class CreateAssociationCommand extends ConfigureElementCommand {
+
+ private final AggregationKind aggregationKind;
+
+ /**
+ * Constructor using default Aggregation
+ *
+ * @param request
+ * @param aggregationKind
+ */
+ public CreateAssociationCommand(ConfigureRequest request) {
+ this(request,AggregationKind.NONE_LITERAL);
+ }
+
+ /**
+ * Constructor.
+ *
+ * @param request
+ * @param aggregationKind
+ */
+ public CreateAssociationCommand(ConfigureRequest request, AggregationKind aggregationKind) {
+ super(request);
+ this.aggregationKind = aggregationKind;
+ }
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand#canExecute()
+ *
+ * @return
+ */
+ @Override
+ public boolean canExecute() {
+ if (aggregationKind!= null && (getElementToEdit() instanceof Property)) {
+ return super.canExecute();
+ }
+ return false;
+ }
+
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
+ Property sourcePart = (Property) getElementToEdit();
+
+ // set the aggregation
+ if (sourcePart != null) {
+ sourcePart.setAggregation(aggregationKind);
+
+ // construct the Association
+ if (sourcePart.getType() != null) {
+
+ // Create association between element owner and element type
+ Type sourceType = (Type) sourcePart.getOwner();
+ Package associationContainer = sourceType.getNearestPackage();
+
+ // Create targetProperty
+ Property targetProperty = UMLFactory.eINSTANCE.createProperty();
+ targetProperty.setType(sourceType);
+
+ Association association = UMLFactory.eINSTANCE.createAssociation();
+ association.setPackage(associationContainer);
+ association.getMemberEnds().add(sourcePart);
+ association.getOwnedEnds().add(targetProperty);
+ association.getMemberEnds().add(targetProperty);
+ }
+ }
+ return CommandResult.newOKCommandResult(sourcePart);
+ }
+}
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/InstanceSpecificationWithSlotConfigureElementCommand.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/InstanceSpecificationWithSlotConfigureElementCommand.java
new file mode 100644
index 0000000..b98b78f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/InstanceSpecificationWithSlotConfigureElementCommand.java
@@ -0,0 +1,84 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.command;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.ConfigureElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Slot;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.UMLPackage;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * A command to configure an instance specification from a classifier
+ */
+public class InstanceSpecificationWithSlotConfigureElementCommand extends ConfigureElementCommand {
+
+ private Classifier classifier;
+
+ /**
+ * Configure the instance specification to use this classifier
+ *
+ * @param request
+ * @param classifier
+ */
+ public InstanceSpecificationWithSlotConfigureElementCommand(ConfigureRequest request,Classifier classifier) {
+ super(request);
+ this.classifier = classifier;
+ }
+
+
+ /**
+ * Add the classifier to the instance specification and create slots for each attributes
+ *
+ * @see org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+ *
+ * @param monitor
+ * @param info
+ * @return
+ * @throws ExecutionException
+ */
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ final InstanceSpecification instanceSpecification = (InstanceSpecification) getElementToEdit();
+ if (classifier != null){
+ // set instance classifier
+ instanceSpecification.getClassifiers().add(classifier);
+ EList<Property> attributes = classifier.getAttributes();
+ // create the slots
+ for (Property property : attributes) {
+ Slot slot = instanceSpecification.createSlot();
+ Type type = property.getType();
+ if (type!=null){
+ ValueSpecification valueSpecification = slot.createValue(property.getName(), type, UMLPackage.eINSTANCE.getInstanceValue());
+ valueSpecification.setType(type);
+ }else {
+ slot.createValue(property.getName(), null, UMLPackage.eINSTANCE.getLiteralString());
+ }
+ slot.setDefiningFeature(property);
+ }
+ }
+ return CommandResult.newOKCommandResult(instanceSpecification);
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/SetDirectedRelationshipPropertyPathCommand.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/SetDirectedRelationshipPropertyPathCommand.java
new file mode 100644
index 0000000..a0e8e78
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/SetDirectedRelationshipPropertyPathCommand.java
@@ -0,0 +1,114 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.papyrus.sysml16.service.types.command.wrapper.IEMFElementToEditCommand;
+import org.eclipse.papyrus.sysml16.service.types.util.PropertyPathUtil;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath
+ * sourcePropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the source of the directed relationship in the context of the block specified by the
+ * sourceContext property. The ordering of properties is from a property of the sourceContext block, through a property
+ * of each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * source of the directed relationship. The source is not included in the propertyPath list. The same property might
+ * appear more than once because a block can own a property with the same or specialized block as a type.
+ * • targetPropertyPath: Property [0..*] {ordered, nonunique}
+ * A series of properties that identifies the target of the directed relationship in the context of the block specified by the
+ * targetContext property. The ordering of properties is from a property of the targetContext block, through a property of
+ * each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * target of the directed relationship. The target is not included in the propertyPath list. The same property might appear
+ * more than once because a block can own a property with the same or specialized block as a type.
+ * • sourceContext: Classifier [0.1]
+ * Gives the context for sourcePropertyPath to begin from.
+ * • targetContext: Classifier [0.1]
+ * Gives the context for targetPropertyPath to begin from.
+ */
+public class SetDirectedRelationshipPropertyPathCommand extends RecordingCommand implements IEMFElementToEditCommand {
+
+ protected Element directedRelationShipPropertyPath = null;
+ protected View sourceView = null;
+ protected boolean isSource;
+
+ /**
+ * Constructor.
+ *
+ * @param domain
+ * @param view
+ * the view that reference the semantic element, it is need to calculus the context...
+ * @param isSource
+ * if true fill information about the source, false fill information about the target
+ */
+ public SetDirectedRelationshipPropertyPathCommand(TransactionalEditingDomain domain, View view, boolean isSource) {
+ super(domain);
+ this.sourceView = view;
+ this.isSource = isSource;
+ }
+
+ /**
+ * @see org.eclipse.emf.common.command.AbstractCommand#canExecute()
+ *
+ * @return
+ */
+ @Override
+ public boolean canExecute() {
+ if (directedRelationShipPropertyPath == null || sourceView == null) {
+ return false;
+ }
+ return super.canExecute();
+ }
+
+ /**
+ * @see org.eclipse.emf.transaction.RecordingCommand#doExecute()
+ *
+ */
+ @Override
+ protected void doExecute() {
+ if (canExecute()) {
+ if (isSource) {
+ DirectedRelationshipPropertyPath stereotypeApplication = UMLUtil.getStereotypeApplication(directedRelationShipPropertyPath, DirectedRelationshipPropertyPath.class);
+ stereotypeApplication.getSourcePropertyPath().clear();
+ stereotypeApplication.getSourcePropertyPath().addAll(PropertyPathUtil.getPropertyPath(sourceView));
+ stereotypeApplication.setSourceContext(PropertyPathUtil.getCompositeContext(sourceView));
+ } else {
+ DirectedRelationshipPropertyPath stereotypeApplication = UMLUtil.getStereotypeApplication(directedRelationShipPropertyPath, DirectedRelationshipPropertyPath.class);
+ stereotypeApplication.getTargetPropertyPath().clear();
+ stereotypeApplication.getTargetPropertyPath().addAll(PropertyPathUtil.getPropertyPath(sourceView));
+ stereotypeApplication.setTargetContext(PropertyPathUtil.getCompositeContext(sourceView));
+ }
+ }
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml16.service.types.command.wrapper.IEMFElementToEditCommand#SetElementToEdit(org.eclipse.emf.ecore.EObject)
+ *
+ * @param eObject
+ */
+ @Override
+ public void setElementToEdit(EObject eObject) {
+ if (eObject instanceof Element) {
+ directedRelationShipPropertyPath = (Element) eObject;
+ }
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/UpdateNestedPathConnectorEnd.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/UpdateNestedPathConnectorEnd.java
new file mode 100644
index 0000000..5dfff1b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/UpdateNestedPathConnectorEnd.java
@@ -0,0 +1,172 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.command;
+
+import java.util.List;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.util.EcoreUtil;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ConfigureRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateRelationshipRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml16.service.types.util.ConnectorUtil;
+import org.eclipse.papyrus.uml.service.types.utils.ConnectorUtils;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+import org.eclipse.uml2.uml.util.UMLUtil.StereotypeApplicationHelper;
+
+/**
+ * NestedConnectorEnd
+ *
+ * The NestedConnectorEnd stereotype of UML ConnectorEnd extends a UML ConnectorEnd so that the connected property
+ * may be identified by a multi-level path of accessible properties from the block that owns the connector. The propertyPath
+ * inherited from ElementPropertyPath gives a series of properties that identifies the connected property in the context of the
+ * block that owns the connector.
+ *
+ * The ordering of properties is from a property of the block that owns the connector, through
+ * a property of each intermediate block that types the preceding property, ending in a property with a type that owns or
+ * inherits the property that is the role of the connector end (the property that the connector graphically attaches to at that
+ * end). The property that is the role of the connector end is not included in the propertyPath list.
+ */
+public class UpdateNestedPathConnectorEnd extends EditElementCommand {
+
+ /**
+ * The current ConnectorEnd is the source of the Connector
+ */
+ private Boolean isSource;
+
+ @Deprecated // deprecated in 1.1.0
+ public UpdateNestedPathConnectorEnd(String label, EObject elementToEdit, IEditCommandRequest request) {
+ super(label, elementToEdit, request);
+ }
+
+ public UpdateNestedPathConnectorEnd(String label, EObject elementToEdit, IEditCommandRequest request, boolean isSource) {
+ super(label, elementToEdit, request);
+ this.isSource = isSource;
+ }
+
+ /**
+ * Check that the command access the connector and that the we have a view for NestedConnectorEnd target.
+ */
+ @Override
+ public boolean canExecute() {
+ return getElementToEdit() instanceof View && super.canExecute();
+ }
+
+ /**
+ * Get the class owning the connector that owns the connector end
+ *
+ * @param connectorEnd
+ * @return
+ */
+ private org.eclipse.uml2.uml.Class getConnectorClass(ConnectorEnd connectorEnd) {
+ Element connectorEndOwner = connectorEnd.getOwner();
+ if (connectorEndOwner instanceof Connector) {
+ Connector connector = (Connector) connectorEndOwner;
+ Element connectorOwner = connector.getOwner();
+ if (connectorOwner instanceof org.eclipse.uml2.uml.Class) {
+ return (org.eclipse.uml2.uml.Class) connectorOwner;
+ }
+ }
+ return null;
+ }
+
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor monitor, IAdaptable info) throws ExecutionException {
+ if (!(canExecute() && getConnector() != null)) {
+ throw new ExecutionException("Can't update NesteConnectorEnd, missing View or connector."); //$NON-NLS-1$
+ }
+ EList<ConnectorEnd> ends = getConnector().getEnds();
+ if (ends != null && ends.size() > 1) {
+ ConnectorEnd connectorEnd = null;
+ View elementToEdit = (View) getElementToEdit();
+ connectorEnd = getCalculatedConnectorEnd();
+ if (connectorEnd != null) {
+ List<Property> nestedPath = ConnectorUtil.getNestedPath(getConnectorClass(connectorEnd), elementToEdit);
+ NestedConnectorEnd nestedConnectorEnd = UMLUtil.getStereotypeApplication(connectorEnd, NestedConnectorEnd.class);
+
+ if (nestedPath.isEmpty()) {
+ if (nestedConnectorEnd != null) {
+ EcoreUtil.delete(nestedConnectorEnd, true);// Remove stereotype if applied
+ }
+ } else {
+ if (nestedConnectorEnd == null) {
+ nestedConnectorEnd = (NestedConnectorEnd) StereotypeApplicationHelper.getInstance(null).applyStereotype(connectorEnd, BlocksPackage.eINSTANCE.getNestedConnectorEnd(),null);
+ }
+ // set new path if different from existing
+ if (!nestedConnectorEnd.getPropertyPath().equals(nestedPath)) {
+ nestedConnectorEnd.getPropertyPath().clear();
+ nestedConnectorEnd.getPropertyPath().addAll(nestedPath);
+ }
+ }
+ }
+ }
+ return CommandResult.newOKCommandResult(getElementToEdit());
+ }
+
+
+ private Connector getConnector() {
+ if (getRequest() instanceof CreateRelationshipRequest) {
+ return (Connector) ((CreateRelationshipRequest) getRequest()).getNewElement();
+ } else if (getRequest() instanceof ReorientRelationshipRequest) {
+ return (Connector) ((ReorientRelationshipRequest) getRequest()).getRelationship();
+ } else if (getRequest() instanceof ConfigureRequest) {
+ return (Connector) ((ConfigureRequest) getRequest()).getElementToConfigure();
+ }
+ return null;
+ }
+
+ /**
+ * Get the calculated connector end
+ *
+ * @return the calculated connector end or null is isSource is null
+ */
+ private ConnectorEnd getCalculatedConnectorEnd() {
+ Connector connector = getConnector();
+ EList<ConnectorEnd> ends = getConnector().getEnds();
+ if (ends != null && ends.size() > 1) {
+ if (isSource != null) {
+ if (isSource) {
+ return new ConnectorUtils().getSourceConnectorEnd(connector);
+ } else {
+ return new ConnectorUtils().getTargetConnectorEnd(connector);
+ }
+ } else {
+ View elementToEdit = (View) getElementToEdit();
+ ConnectorEnd connectorEndSource = ends.get(0);
+ if (elementToEdit.getElement().equals(connectorEndSource.getRole())) {
+ return connectorEndSource;
+ } else {
+ return ends.get(1);
+ }
+ }
+ }
+ return null;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToCreateElementEditCommandWrapper.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToCreateElementEditCommandWrapper.java
new file mode 100644
index 0000000..d99e096
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToCreateElementEditCommandWrapper.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command.wrapper;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
+
+/**
+ * This class is a specialization to wrap creation command of editCommand (element or relationship).
+ */
+public class EMFToCreateElementEditCommandWrapper extends EMFToIEditCommandWrapper {
+
+ /**
+ * Constructor.
+ *
+ * @param label
+ * @param elementToEdit
+ * the element to edit maybe different to the created element! it could be the container ...
+ * @param request
+ * the {@link org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest}
+ * @param emfCommand
+ * the EMF command that is wrapped see {@link IEMFElementToEditCommand}
+ */
+ public EMFToCreateElementEditCommandWrapper(EObject elementToEdit, CreateElementRequest request, IEMFElementToEditCommand emfCommand) {
+ super(elementToEdit, request, emfCommand);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToIEditCommandWrapper#getEMFElementToEdit()
+ *
+ * @return
+ */
+ @Override
+ protected EObject getEMFElementToEdit() {
+ return ((CreateElementRequest) getRequest()).getNewElement();
+
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToIEditCommandWrapper.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToIEditCommandWrapper.java
new file mode 100644
index 0000000..d1bdf84
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToIEditCommandWrapper.java
@@ -0,0 +1,72 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command.wrapper;
+
+import org.eclipse.core.commands.ExecutionException;
+import org.eclipse.core.runtime.IAdaptable;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.emf.type.core.commands.EditElementCommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest;
+
+/**
+ * This class is used to delegate the execution to a emf command as recording command...
+ */
+public abstract class EMFToIEditCommandWrapper extends EditElementCommand {
+
+ /** the wrapped EMF command **/
+ protected IEMFElementToEditCommand emfCommand;
+
+ /**
+ * Constructor.
+ *
+ * @param label
+ * @param elementToEdit
+ * the element to edit maybe different to the created element! it could be the container ...
+ * @param request
+ * the {@link IEditCommandRequest}
+ * @param emfCommand
+ * the EMF command that is wrapped see {@link IEMFElementToEditCommand}
+ */
+ protected EMFToIEditCommandWrapper(EObject elementToEdit, IEditCommandRequest request, IEMFElementToEditCommand emfCommand) {
+ super(emfCommand.getLabel(), elementToEdit, request);
+ this.emfCommand = emfCommand;
+ }
+
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.commands.core.command.AbstractTransactionalCommand#doExecuteWithResult(org.eclipse.core.runtime.IProgressMonitor, org.eclipse.core.runtime.IAdaptable)
+ *
+ * @param arg0
+ * @param arg1
+ * @return
+ * @throws ExecutionException
+ */
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor arg0, IAdaptable arg1) throws ExecutionException {
+ emfCommand.setElementToEdit(getEMFElementToEdit());
+ if (emfCommand.canExecute()) {
+ emfCommand.execute();
+ }
+ return CommandResult.newOKCommandResult(getEMFElementToEdit());
+ }
+
+ /**
+ * get the real element that will be created or modified not the container
+ */
+ protected abstract EObject getEMFElementToEdit();
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToReorientRelationshipEditCommandWrapper.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToReorientRelationshipEditCommandWrapper.java
new file mode 100644
index 0000000..de29d61
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/EMFToReorientRelationshipEditCommandWrapper.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command.wrapper;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.requests.ReorientRelationshipRequest;
+
+/**
+ * This class is a specialization to wrap re-orient command of editCommand.
+ */
+public class EMFToReorientRelationshipEditCommandWrapper extends EMFToIEditCommandWrapper {
+
+ /**
+ * Constructor.
+ *
+ * @param label
+ * @param elementToEdit
+ * the element to edit maybe different to the created element! it could be the container ...
+ * @param request
+ * the {@link org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest}
+ * @param emfCommand
+ * the EMF command that is wrapped see {@link IEMFElementToEditCommand}
+ */
+ public EMFToReorientRelationshipEditCommandWrapper(EObject elementToEdit, ReorientRelationshipRequest request, IEMFElementToEditCommand emfCommand) {
+ super(elementToEdit, request, emfCommand);
+ }
+
+ /**
+ * @see org.eclipse.papyrus.sysml16.service.types.command.wrapper.EMFToIEditCommandWrapper#getEMFElementToEdit()
+ *
+ * @return
+ */
+ @Override
+ protected EObject getEMFElementToEdit() {
+ return ((ReorientRelationshipRequest) getRequest()).getRelationship();
+
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/IEMFElementToEditCommand.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/IEMFElementToEditCommand.java
new file mode 100644
index 0000000..a5ac492
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/command/wrapper/IEMFElementToEditCommand.java
@@ -0,0 +1,35 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.command.wrapper;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * This class is used in the context of @see {@link IEMFElementToEditCommand}
+ * This command will modified an element that must be given in parameter of the operation <B>setElementToEdit</B>
+ */
+public interface IEMFElementToEditCommand extends Command {
+
+ /**
+ * set the element that will be modified in this EMF command, typically request.getNewElement() from {@link org.eclipse.gmf.runtime.emf.type.core.requests.IEditCommandRequest}
+ *
+ * @param eObject
+ * EOject that will be modified in this EMF command.
+ */
+ void setElementToEdit(EObject eObject);
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ActorPartPropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ActorPartPropertyMatcher.java
new file mode 100644
index 0000000..40eb6c5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ActorPartPropertyMatcher.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * Test if current {@link Property} is a {@link Actor} Part
+ */
+public class ActorPartPropertyMatcher implements IElementMatcher {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ boolean isMatch = false;
+ if ((eObject instanceof Property) && !(eObject instanceof Port)) {
+ Property element = (Property) eObject;
+ // The property is necessary a composition and has a type
+ if ((element.getType() != null) && (element.getAggregation() == AggregationKind.COMPOSITE_LITERAL)) {
+ // Moreover its type has to be a Actor
+ isMatch = element.getType() instanceof Actor;
+ }
+ }
+ return isMatch;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ConstraintPropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ConstraintPropertyMatcher.java
new file mode 100644
index 0000000..e1a4a5f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ConstraintPropertyMatcher.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if type {@link Type} is a {@link ConstraintBlock}
+ */
+public class ConstraintPropertyMatcher implements IElementMatcher {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+ *
+ * @param eObject
+ * @return
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ if (eObject instanceof Property) {
+ Property property = (Property) eObject;
+ Type type= property.getType();
+ if(type instanceof Class && UMLUtil.getStereotypeApplication(type, ConstraintBlock.class)!=null){
+ return true;
+ }
+ }
+
+ return false;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInMatcher.java
new file mode 100644
index 0000000..170e580
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInMatcher.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Port} is a {@link FlowPort} with IN direction
+ */
+public class FlowPortInMatcher implements IElementMatcher {
+
+ /**
+ * Test if the parameter match a FlowPortIn, so if it :
+ * - is a Uml Port
+ * - has the Flow Port stereotype applied
+ * - the direction of the applied FlowPort is IN
+ *
+ * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+ *
+ * @param eObject
+ * @return
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ boolean isFlowPortIn = false;
+ if (eObject instanceof Port) {
+ Port port = (Port) eObject;
+ FlowPort flowPort = UMLUtil.getStereotypeApplication(port, FlowPort.class);
+ if ((flowPort != null) && (flowPort.getDirection() == FlowDirectionKind.IN)) {
+ isFlowPortIn = true;
+ }
+ }
+ return isFlowPortIn;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInOutMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInOutMatcher.java
new file mode 100644
index 0000000..9ad6fe7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortInOutMatcher.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Port} is a {@link FlowPort} with INOUT direction
+ */
+public class FlowPortInOutMatcher implements IElementMatcher {
+
+ /**
+ * Test if the parameter match a FlowPortINOut, so if it :
+ * - is a Uml Port
+ * - has the Flow Port stereotype applied
+ * - the direction of the applied FlowPort is INOUT
+ *
+ * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+ *
+ * @param eObject
+ * @return
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ boolean isFlowPortInOut = false;
+ if (eObject instanceof Port) {
+ Port port = (Port) eObject;
+ FlowPort flowPort = UMLUtil.getStereotypeApplication(port, FlowPort.class);
+ if ((flowPort != null) && (flowPort.getDirection() == FlowDirectionKind.INOUT)) {
+ isFlowPortInOut = true;
+ }
+ }
+ return isFlowPortInOut;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortNAMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortNAMatcher.java
new file mode 100644
index 0000000..262bb8a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortNAMatcher.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Port} is a non atomic {@link FlowPort}.
+ */
+public class FlowPortNAMatcher implements IElementMatcher {
+
+ /**
+ * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+ *
+ * @param eObject
+ * @return
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ boolean isFlowPortNa = false;
+ if (eObject instanceof Port) {
+ Port port = (Port) eObject;
+ FlowPort flowPort = UMLUtil.getStereotypeApplication(port, FlowPort.class);
+ if ((flowPort != null) && (!flowPort.isAtomic())) {
+ isFlowPortNa = true;
+ }
+ }
+ return isFlowPortNa;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortOutMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortOutMatcher.java
new file mode 100644
index 0000000..43cf899
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/FlowPortOutMatcher.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.deprecatedelements.FlowPort;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowDirectionKind;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Port} is a {@link FlowPort} with OUT direction
+ */
+public class FlowPortOutMatcher implements IElementMatcher {
+
+ /**
+ * Test if the parameter match a FlowPortOut, so if it :
+ * - is a Uml Port
+ * - has the Flow Port stereotype applied
+ * - the direction of the applied FlowPort is OUT
+ *
+ * @see org.eclipse.gmf.runtime.emf.type.core.IElementMatcher#matches(org.eclipse.emf.ecore.EObject)
+ *
+ * @param eObject
+ * @return
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ boolean isFlowPortOut = false;
+ if (eObject instanceof Port) {
+ Port port = (Port) eObject;
+ FlowPort flowPort = UMLUtil.getStereotypeApplication(port, FlowPort.class);
+ if ((flowPort != null) && (flowPort.getDirection() == FlowDirectionKind.OUT)) {
+ isFlowPortOut = true;
+ }
+ }
+ return isFlowPortOut;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/PartPropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/PartPropertyMatcher.java
new file mode 100644
index 0000000..ae7e6ba
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/PartPropertyMatcher.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Property} is a {@link Block} Part
+ */
+public class PartPropertyMatcher implements IElementMatcher {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ boolean isMatch = false;
+ if ((eObject instanceof Property) && !(eObject instanceof Port)) {
+ Property element = (Property) eObject;
+ // The property is necessary a composition and has a type
+ Type type = element.getType();
+ if (type != null && (element.getAggregation() == AggregationKind.COMPOSITE_LITERAL)) {
+ // Moreover its type has to be a Block (type is tested as class before for performance)
+ isMatch = type instanceof Class && UMLUtil.getStereotypeApplication(type, Block.class) != null;
+ }
+ }
+ return isMatch;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ReferencePropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ReferencePropertyMatcher.java
new file mode 100644
index 0000000..39e0e59
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ReferencePropertyMatcher.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Property} is a {@link Block} Reference
+ */
+public class ReferencePropertyMatcher implements IElementMatcher {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ boolean isMatch = false;
+ if ((eObject instanceof Property) && !(eObject instanceof Port)) {
+ Property element = (Property) eObject;
+ // The property is not a composition and has a type
+ Type type = element.getType();
+ if (type != null && (element.getAggregation() != AggregationKind.COMPOSITE_LITERAL)) {
+ // Moreover its type has to be a Block (type is tested as class before for performance)
+ isMatch = type instanceof Class && (UMLUtil.getStereotypeApplication(type, Block.class) != null);
+ }
+ }
+ return isMatch;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ValuePropertyMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ValuePropertyMatcher.java
new file mode 100644
index 0000000..2b325a1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/ValuePropertyMatcher.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Test if current {@link Property} is a value.
+ */
+public class ValuePropertyMatcher implements IElementMatcher {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ boolean isMatch = false;
+ if ((eObject instanceof Property) && !(eObject instanceof Port)) {
+ Property element = (Property) eObject;
+ // The property is necessary a composition and has a type
+ Type type = element.getType();
+ if (type != null && (element.getAggregation() == AggregationKind.COMPOSITE_LITERAL)) {
+
+ // Moreover its type has either to be a DataType or a ValueType
+ // (for performance avoid when possible to look for stereotype)
+ if (type instanceof DataType || UMLUtil.getStereotypeApplication(type, ValueType.class) != null) {
+ isMatch = true;
+ }
+
+
+ }
+ }
+ return isMatch;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/internal/SysML16ProfileMatcher.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/internal/SysML16ProfileMatcher.java
new file mode 100644
index 0000000..4c96e7d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/matcher/internal/SysML16ProfileMatcher.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.matcher.internal;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+import org.eclipse.papyrus.sysml16.util.SysMLResource;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Model;
+import org.eclipse.uml2.uml.Profile;
+
+/**
+ * org.eclipse.papyrus.sysml16.service.types.matcher.internal.SysML16ProfileMatcher
+ */
+public class SysML16ProfileMatcher implements IElementMatcher {
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public boolean matches(EObject eObject) {
+ if (!(eObject instanceof Element)) {
+ return false;
+ }
+ Element element = (Element) eObject;
+ Model model = element.getModel();
+ if (model == null) {
+ return false;
+ }
+
+ EList<Profile> allAppliedProfiles = model.getAllAppliedProfiles();
+ if (allAppliedProfiles!=null){
+ List<String> appliedProfileByUri = new ArrayList<>();
+ for (Profile appliedProfile : allAppliedProfiles) {
+ appliedProfileByUri.add(appliedProfile.getURI());
+ }
+
+ if (!appliedProfileByUri.contains(SysMLResource.PROFILE_URI)) {
+ return false;
+ }
+ }
+ return true;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/ConnectorUtil.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/ConnectorUtil.java
new file mode 100644
index 0000000..6e574eb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/ConnectorUtil.java
@@ -0,0 +1,291 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.diagram.core.util.ViewUtil;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.StructuredClassifier;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * Utility class for Connector
+ */
+public class ConnectorUtil {
+
+ public static final UMLConnectorUtils umlUtility = new UMLConnectorUtils(); // TODO all methods should be static in an utility class
+
+ /**
+ * the key used to store the nested path as parameter of the request. The value will be a List of {@link Property}
+ */
+ public static final String NESTED_CONNECTOR_END_PATH = "connectorEndPath"; //$NON-NLS-1$
+
+ /** the separator used in the role path to distinguish the part. */
+ public static final String PART_SEPARATOR = "."; //$NON-NLS-1$
+
+ /** allow to know if a string contains others characters than a-z A-Z 0-9 and _. */
+ public static final String HAS_NO_WORD_CHAR_REGEX = "\\W+"; //$NON-NLS-1$
+
+ /** String used to delimit a name with contains special chars. */
+ public static final String STRING_DELIMITER = "\'"; //$NON-NLS-1$
+
+ /**
+ * Utility class avoid instantiation.
+ *
+ */
+ private ConnectorUtil() {
+ }
+
+ /**
+ * Gets the encapsulated container.
+ *
+ * @param view
+ * the view
+ * @return the nearest encapsulated structure container or null
+ */
+ public static View getEncapsulatedContainer(View view) {
+ View encapsulatedContainer = null;
+
+ for (View containerView : umlUtility.getStructureContainers(view)) {
+
+ if (view == containerView) {
+ continue;
+ }
+
+ if ((view.getElement() instanceof Port) && (containerView.getChildren().contains(view))) {
+ continue;
+ }
+
+ StructuredClassifier structuredClassifier = umlUtility.getStructuredClassifier(containerView);
+ Block block = UMLUtil.getStereotypeApplication(structuredClassifier, Block.class);
+ if (block != null && block.isEncapsulated()) {
+ encapsulatedContainer = containerView;
+ break;
+ }
+ }
+
+ return encapsulatedContainer;
+ }
+
+ /**
+ * Test if an encapsulation crossing is required to connect the checked end to the opposite end.
+ *
+ * @param checkedEnd
+ * the checked end view.
+ * @param oppositeEnd
+ * the opposite end view.
+ * @return true if the gesture break encapsulation rule.
+ */
+ public static boolean isCrossingEncapsulation(View checkedEnd, View oppositeEnd) {
+ boolean isCrossingEncapsulation = false;
+
+ View encapsulatedContainer = getEncapsulatedContainer(checkedEnd);
+ if (encapsulatedContainer != null) {
+ View containerView = umlUtility.deduceViewContainer(checkedEnd, oppositeEnd);
+ List<View> containers = umlUtility.getStructureContainers(checkedEnd);
+
+ if (containers.indexOf(encapsulatedContainer) < containers.indexOf(containerView)) {
+ isCrossingEncapsulation = true;
+ }
+ }
+
+ return isCrossingEncapsulation;
+ }
+
+
+ /**
+ * Gets the role path.
+ *
+ * @param end
+ * the connector end
+ * @return the role path
+ * the path for the role of the connector end (without using label provider)
+ */
+ public static final String getRolePath(final ConnectorEnd end) {
+ final NestedConnectorEnd nestedConnectorEnd = UMLUtil.getStereotypeApplication(end, NestedConnectorEnd.class);
+ final ConnectableElement role = end.getRole();
+ final StringBuilder rolePath = new StringBuilder();
+ if (role != null) {
+ if (nestedConnectorEnd != null) {
+ final List<Property> properties = nestedConnectorEnd.getPropertyPath();
+ for (final Property current : properties) {
+ rolePath.append(UMLConnectorUtils.getNameWithQuotes(current));
+ rolePath.append(UMLConnectorUtils.PART_SEPARATOR);
+ }
+ } else {
+ // when the stereotype is applied, the Property for partWithPort is included in the stereotype#path
+ final Property partWithPort = end.getPartWithPort();
+ if (partWithPort != null) {
+ rolePath.append(UMLConnectorUtils.getNameWithQuotes(partWithPort));
+ rolePath.append(UMLConnectorUtils.PART_SEPARATOR);
+ }
+ }
+ rolePath.append(UMLConnectorUtils.getNameWithQuotes(role));
+ }
+
+ return rolePath.toString();
+ }
+
+
+
+ /**
+ * Checks if is crossing encapsulation.
+ *
+ * @param nestedPath
+ * the nested path
+ * @return true, if is crossing encapsulation <code>true</code> if we are breaking encapsulation (see SysML rules in SysML Standard 1.2, p.44):
+ * isEncapsulated: Boolean [0..1] If true, then the block is treated as a black box; a part typed by this black box can only be connected
+ * via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to
+ * elements of its internal structure via deep-nested connector ends.
+ */
+ public static final boolean isCrossingEncapuslation(final List<Property> nestedPath) {
+ for (final ConnectableElement current : nestedPath) {
+ final Type type = current.getType();
+ if (type != null) {
+ final Block block = UMLUtil.getStereotypeApplication(type, Block.class);
+ if (block != null && block.isEncapsulated()) {
+ return true;
+ }
+ }
+ }
+ return false;
+ }
+
+ /**
+ * Can display existing connector between views according to nested paths.
+ *
+ * @param connector
+ * a connector existing in the model
+ * @param sourceView
+ * a potential source for this connector
+ * @param targetView
+ * a potential target for this connector
+ * @return true, if successful <code>true</code> if displaying the existing connector between this source and this target view is correct
+ */
+ public static boolean canDisplayExistingConnectorBetweenViewsAccordingToNestedPaths(final Connector connector, final View sourceView, final View targetView) {
+ final List<Property> sourcePath = umlUtility.getNestedPropertyPath(sourceView, targetView);
+ final List<Property> targetPath = umlUtility.getNestedPropertyPath(targetView, sourceView);
+ boolean hasWantedPath = true;
+ for (final ConnectorEnd end : connector.getEnds()) {
+ if (sourceView != null && end.getRole() == sourceView.getElement()) {
+ hasWantedPath = hasWantedPath && haveSamePath(sourcePath, end);
+ } else if (targetView != null && end.getRole() == targetView.getElement()) {
+ hasWantedPath = hasWantedPath && haveSamePath(targetPath, end);
+ }
+ }
+ return hasWantedPath;
+ }
+
+
+
+ /**
+ * Have same path.
+ *
+ * @param wantedPath
+ * the wanted nested path for the end
+ * @param end
+ * an end
+ * @return true, if successful
+ * true if the end has as nested path THE wanted path
+ */
+ protected static boolean haveSamePath(final List<Property> wantedPath, final ConnectorEnd end) {
+ NestedConnectorEnd nestedConnectorEnd = UMLUtil.getStereotypeApplication(end, NestedConnectorEnd.class);
+ if (nestedConnectorEnd != null) {
+ return nestedConnectorEnd.getPropertyPath().equals(wantedPath);
+ } else {
+ return wantedPath.isEmpty();
+ }
+ }
+
+
+
+
+ /**
+ * Filter connectors that have this property in their <NestedConnectorEnd> property path.
+ *
+ * @param connectors
+ * @param part
+ * @return connectors that have this property in their <NestedConnectorEnd> property path.
+ */
+ public static List<Connector> filterConnectorByPropertyInNestedConnectorEnd(List<Connector> connectors, Property part) {
+ List<Connector> res = new ArrayList<>();
+ for (Connector connector : connectors) {
+ EList<ConnectorEnd> ends = connector.getEnds();
+ for (ConnectorEnd connectorEnd : ends) {
+ NestedConnectorEnd stereotypeApplication = UMLUtil.getStereotypeApplication(connectorEnd, NestedConnectorEnd.class);
+ if (stereotypeApplication != null) {
+ EList<Property> propertyPath = stereotypeApplication.getPropertyPath();
+ for (Property property : propertyPath) {
+ if (property.equals(part)) {
+ res.add(connector);
+ }
+ }
+ }
+ }
+ }
+ return res;
+ }
+
+ /**
+ * Inverse of property path from the view to the class
+ *
+ * [SysML 1.6 - 8.3.2.9]: "The ordering of properties is from a property of the context block, through a
+ * property of each intermediate block that types the preceding property, ending in a property with a type
+ * that owns or inherits the fully nested property."
+ *
+ * @param clazz
+ * @param view
+ * @return
+ */
+ public static List<Property> getNestedPath(org.eclipse.uml2.uml.Class clazz, View view) {
+ List<Property> propertyPath = new ArrayList<>();
+ View currentView = ViewUtil.getContainerView(view);
+ // get the path from view to clazz
+ boolean stop = false;
+ while (!stop && currentView != null) {
+ EObject property = currentView.getElement();
+ if (property instanceof Property) {
+ if (((Property) property).getType() == clazz) {
+ stop = true;
+ } else {
+ propertyPath.add((Property) property);
+ }
+ } else {
+ if (clazz.equals(currentView.getElement())) {
+ stop = true;
+ }
+ }
+ currentView = ViewUtil.getContainerView(currentView);
+ }
+ Collections.reverse(propertyPath);
+ return propertyPath;
+ }
+
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/PropertyPathUtil.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/PropertyPathUtil.java
new file mode 100644
index 0000000..80d8417
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/PropertyPathUtil.java
@@ -0,0 +1,97 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.gmf.runtime.notation.Shape;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * This class is used to calculus property path and block context in the context of SysML
+ * To do that the view inside the diagram is needed.
+ */
+public final class PropertyPathUtil {
+
+ /**
+ * Constructor.
+ *
+ */
+ private PropertyPathUtil() {
+ }
+
+ /**
+ *
+ * @param view
+ * the current view
+ * @return the composite context from a view (it look for the first representation of a classifier)
+ */
+ public static Classifier getCompositeContext(View view) {
+ View currentView = view;
+ while (currentView != null) {
+ if (currentView instanceof Shape && currentView.getElement() instanceof Classifier) {
+ return (Classifier) currentView.getElement();
+ }
+ currentView = (View) currentView.eContainer();
+ }
+ return null;
+ }
+
+ /**
+ *
+ * @param view
+ * the view that references an element in the diagram
+ * @return a list of properties defined by hierarchy of view, maybe an empty list
+ */
+ public static List<Property> getPropertyListFromView(View view) {
+ List<Property> propertiesList = new ArrayList<>();
+ View currentView = view;
+ while (currentView != null) {
+ if (currentView instanceof Shape && currentView.getElement() instanceof Property) {
+ propertiesList.add((Property) currentView.getElement());
+ }
+ currentView = (View) currentView.eContainer();
+ }
+ return propertiesList;
+ }
+
+ /**
+ * A series of properties that identifies the source of the directed relationship in the context of the block specified by the
+ * sourceContext property. The ordering of properties is from a property of the sourceContext block, through a property
+ * of each intermediate block that types the preceding property, ending in a property with a type that owns or inherits the
+ * source of the directed relationship. The source is not included in the propertyPath list. The same property might
+ * appear more than once because a block can own a property with the same or specialized block as a type.
+ *
+ * @param SourceView
+ * the view that represent the property
+ *
+ * @return the property path as defined in SysML, maybe an emptylist
+ */
+ public static List<Property> getPropertyPath(View sourceView) {
+ List<Property> propertyList = getPropertyListFromView(sourceView);
+ // remove the first property
+ if (!propertyList.isEmpty()) {
+ propertyList.remove(0);
+ Collections.reverse(propertyList);
+ }
+ return propertyList;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/SysMLServiceTypeUtil.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/SysMLServiceTypeUtil.java
new file mode 100644
index 0000000..ebd8a73
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/SysMLServiceTypeUtil.java
@@ -0,0 +1,200 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.util;
+
+import org.eclipse.gmf.runtime.emf.type.core.ClientContextManager;
+import org.eclipse.gmf.runtime.emf.type.core.IClientContext;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditServiceProvider;
+
+/**
+ * List all SysML 1.6 element type ids.
+ */
+public final class SysMLServiceTypeUtil {
+
+ /**
+ * Say if an element is know in the SysML 1.6 context
+ *
+ * @param elementTypeId
+ * @return
+ */
+ public static boolean isKnown(String elementTypeId) {
+ IClientContext context = ClientContextManager.getInstance().getClientContext(SYSML16_CONTEXT_ID);
+ IElementEditServiceProvider editServiceProvider = ElementEditServiceUtils.getEditServiceProvider(context);
+ return editServiceProvider.isKnownElementType(elementTypeId);
+ }
+
+ public static final String SYSML16_CONTEXT_ID = "org.eclipse.papyrus.infra.services.edit.TypeContext"; //$NON-NLS-1$
+ //"org.eclipse.papyrus.sysml.architecture.SysML16"; //$NON-NLS-1$
+
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VALUETYPE = "org.eclipse.papyrus.SysML16.ValueType"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DISTRIBUTEDPROPERTY = "org.eclipse.papyrus.SysML16.DistributedProperty"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONNECTORPROPERTY = "org.eclipse.papyrus.SysML16.ConnectorProperty"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PARTICIPANTPROPERTY = "org.eclipse.papyrus.SysML16.ParticipantProperty"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_BINDINGCONNECTOR = "org.eclipse.papyrus.SysML16.BindingConnector"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_BLOCK = "org.eclipse.papyrus.SysML16.Block"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROPERTYSPECIFICTYPE = "org.eclipse.papyrus.SysML16.PropertySpecificType"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_NESTEDCONNECTOREND_CONNECTOREND = "org.eclipse.papyrus.SysML16.NestedConnectorEnd_ConnectorEnd"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_NESTEDCONNECTOREND_ELEMENT = "org.eclipse.papyrus.SysML16.NestedConnectorEnd_Element"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DIRECTEDRELATIONSHIPPROPERTYPATH = "org.eclipse.papyrus.SysML16.DirectedRelationshipPropertyPath"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ELEMENTPROPERTYPATH = "org.eclipse.papyrus.SysML16.ElementPropertyPath"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ENDPATHMULTIPLICITY = "org.eclipse.papyrus.SysML16.EndPathMultiplicity"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_BOUNDREFERENCE = "org.eclipse.papyrus.SysML16.BoundReference"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ADJUNCTPROPERTY = "org.eclipse.papyrus.SysML16.AdjunctProperty"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CLASSIFIERBEHAVIORPROPERTY = "org.eclipse.papyrus.SysML16.ClassifierBehaviorProperty"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ITEMFLOW = "org.eclipse.papyrus.SysML16.ItemFlow"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWPROPERTY = "org.eclipse.papyrus.SysML16.FlowProperty"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_FULLPORT = "org.eclipse.papyrus.SysML16.FullPort"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_INTERFACEBLOCK = "org.eclipse.papyrus.SysML16.InterfaceBlock"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROXYPORT = "org.eclipse.papyrus.SysML16.ProxyPort"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ACCEPTCHANGESTRUCTURALFEATUREEVENTACTION = "org.eclipse.papyrus.SysML16.AcceptChangeStructuralFeatureEventAction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CHANGESTRUCTURALFEATUREEVENT = "org.eclipse.papyrus.SysML16.ChangeStructuralFeatureEvent"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DIRECTEDFEATURE = "org.eclipse.papyrus.SysML16.DirectedFeature"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_INVOCATIONONNESTEDPORTACTION_INVOCATIONACTION = "org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_InvocationAction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_INVOCATIONONNESTEDPORTACTION_ELEMENT = "org.eclipse.papyrus.SysML16.InvocationOnNestedPortAction_Element"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TRIGGERONNESTEDPORT_TRIGGER = "org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Trigger"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TRIGGERONNESTEDPORT_ELEMENT = "org.eclipse.papyrus.SysML16.TriggerOnNestedPort_Element"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_OVERWRITE = "org.eclipse.papyrus.SysML16.Overwrite"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONTROLOPERATOR_BEHAVIOR = "org.eclipse.papyrus.SysML16.ControlOperator_Behavior"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONTROLOPERATOR_OPERATION = "org.eclipse.papyrus.SysML16.ControlOperator_Operation"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_RATE_ACTIVITYEDGE = "org.eclipse.papyrus.SysML16.Rate_ActivityEdge"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_RATE_PARAMETER = "org.eclipse.papyrus.SysML16.Rate_Parameter"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_NOBUFFER = "org.eclipse.papyrus.SysML16.NoBuffer"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DISCRETE_ACTIVITYEDGE = "org.eclipse.papyrus.SysML16.Discrete_ActivityEdge"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DISCRETE_PARAMETER = "org.eclipse.papyrus.SysML16.Discrete_Parameter"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONTINUOUS_ACTIVITYEDGE = "org.eclipse.papyrus.SysML16.Continuous_ActivityEdge"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONTINUOUS_PARAMETER = "org.eclipse.papyrus.SysML16.Continuous_Parameter"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROBABILITY_ACTIVITYEDGE = "org.eclipse.papyrus.SysML16.Probability_ActivityEdge"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROBABILITY_PARAMETERSET = "org.eclipse.papyrus.SysML16.Probability_ParameterSet"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_OPTIONAL = "org.eclipse.papyrus.SysML16.Optional"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_RATIONALE = "org.eclipse.papyrus.SysML16.Rationale"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VIEW = "org.eclipse.papyrus.SysML16.View"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONFORM = "org.eclipse.papyrus.SysML16.Conform"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PROBLEM = "org.eclipse.papyrus.SysML16.Problem"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VIEWPOINT = "org.eclipse.papyrus.SysML16.Viewpoint"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_STAKEHOLDER = "org.eclipse.papyrus.SysML16.Stakeholder"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_EXPOSE = "org.eclipse.papyrus.SysML16.Expose"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ELEMENTGROUP = "org.eclipse.papyrus.SysML16.ElementGroup"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTBLOCK = "org.eclipse.papyrus.SysML16.ConstraintBlock"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATEACTIVITYPARTITION = "org.eclipse.papyrus.SysML16.AllocateActivityPartition"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_ABSTRACTION = "org.eclipse.papyrus.SysML16.Allocate_Abstraction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ALLOCATE_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Allocate_DirectedRelationship"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_ABSTRACTION = "org.eclipse.papyrus.SysML16.DeriveReqt_Abstraction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_DERIVEREQT_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.DeriveReqt_DirectedRelationship"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_COPY_ABSTRACTION = "org.eclipse.papyrus.SysML16.Copy_Abstraction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_COPY_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Copy_DirectedRelationship"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_SATISFY_ABSTRACTION = "org.eclipse.papyrus.SysML16.Satisfy_Abstraction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_SATISFY_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Satisfy_DirectedRelationship"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TESTCASE_OPERATION = "org.eclipse.papyrus.SysML16.TestCase_Operation"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TESTCASE_BEHAVIOR = "org.eclipse.papyrus.SysML16.TestCase_Behavior"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_REQUIREMENT = "org.eclipse.papyrus.SysML16.Requirement"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VERIFY_ABSTRACTION = "org.eclipse.papyrus.SysML16.Verify_Abstraction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VERIFY_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Verify_DirectedRelationship"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TRACE_ABSTRACTION = "org.eclipse.papyrus.SysML16.Trace_Abstraction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_TRACE_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Trace_DirectedRelationship"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_REFINE_ABSTRACTION = "org.eclipse.papyrus.SysML16.Refine_Abstraction"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_REFINE_DIRECTEDRELATIONSHIP = "org.eclipse.papyrus.SysML16.Refine_DirectedRelationship"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWPORT = "org.eclipse.papyrus.SysML16.FlowPort"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_FLOWSPECIFICATION = "org.eclipse.papyrus.SysML16.FlowSpecification"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_UNIT = "org.eclipse.papyrus.SysML16.Unit"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_QUANTITYKIND = "org.eclipse.papyrus.SysML16.QuantityKind"; //$NON-NLS-1$
+
+ // List here the elementype present in the extension element type set
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_CONSTRAINTPROPERTY = "org.eclipse.papyrus.SysML16.ConstraintProperty"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_REFERENCE = "org.eclipse.papyrus.SysML16.Reference"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_PART = "org.eclipse.papyrus.SysML16.Part"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_VALUE = "org.eclipse.papyrus.SysML16.Value"; //$NON-NLS-1$
+
+ public static final String ORG_ECLIPSE_PAPYRUS_SYSML16_ACTORPART = "org.eclipse.papyrus.SysML16.ActorPart"; //$NON-NLS-1$
+
+ private SysMLServiceTypeUtil() {
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/UMLConnectorUtils.java b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/UMLConnectorUtils.java
new file mode 100644
index 0000000..f1b295e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.service.types/src/org/eclipse/papyrus/sysml16/service/types/util/UMLConnectorUtils.java
@@ -0,0 +1,268 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.service.types.util;
+
+import java.util.ArrayList;
+import java.util.Collections;
+import java.util.List;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.notation.View;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * Utility class for Connector edit helpers.
+ */
+// TODO : this class should be move to uml core
+public class UMLConnectorUtils extends org.eclipse.papyrus.uml.service.types.utils.ConnectorUtils {
+
+ /**
+ * the key used to store the nested path as parameter of the request. The value will be a List of {@link Property}
+ */
+ public static final String NESTED_CONNECTOR_END_PATH = "connectorEndPath"; //$NON-NLS-1$
+
+ /** the separator used in the role path to distinguish the part. */
+ public static final String PART_SEPARATOR = "."; //$NON-NLS-1$
+
+ /** allow to know if a string contains others characters than a-z A-Z 0-9 and _. */
+ public static final String HAS_NO_WORD_CHAR_REGEX = "\\W+"; //$NON-NLS-1$
+
+ /** String used to delimit a name with contains special chars. */
+ public static final String STRING_DELIMITER = "\'"; //$NON-NLS-1$
+
+ /**
+ * Get the path of structure views crossed by the checked end.
+ *
+ * @param checkedEnd
+ * the checked end view.
+ * @param oppositeEnd
+ * the opposite end view.
+ * @return the list of crossed structure views.
+ */
+ public List<View> getNestedPath(View checkedEnd, View oppositeEnd) {
+ List<View> isNestedConnectableElement = new ArrayList<>();
+
+ View nearestContainer = new UMLConnectorUtils().getNearestStructureContainer(checkedEnd);
+ if (nearestContainer != null) {
+ View containerView = new UMLConnectorUtils().deduceViewContainer(checkedEnd, oppositeEnd);
+ List<View> containers = new UMLConnectorUtils().getStructureContainers(checkedEnd);
+
+ if (containers.indexOf(nearestContainer) < containers.indexOf(containerView)) {
+ isNestedConnectableElement = containers.subList(containers.indexOf(nearestContainer), containers.indexOf(containerView));
+ }
+ }
+
+ // nested path is taken from the top block to the deepest property ==> collection must be reverted
+ Collections.reverse(isNestedConnectableElement);
+
+ return isNestedConnectableElement;
+ }
+
+ /**
+ * Get the path of structure views crossed by the checked end.
+ *
+ * @param checkedEnd
+ * the checked end view.
+ * @param oppositeEnd
+ * the opposite end view.
+ * @return the list of crossed structure views.
+ */
+ public List<Property> getNestedPropertyPath(View checkedEnd, View oppositeEnd) {
+ List<Property> nestedPropertyPath = new ArrayList<>();
+ List<View> nestedPath = getNestedPath(checkedEnd, oppositeEnd);
+
+ for (View view : nestedPath) {
+ if ((view.getElement() != null) && (view.getElement() instanceof Property)) {
+ nestedPropertyPath.add((Property) view.getElement());
+ }
+ }
+
+ // if end is a port, and the list is not empty, add the property from the check view in the list
+ if (!nestedPropertyPath.isEmpty() && checkedEnd.getElement() instanceof Port) {
+ Property partWithPort = getPartWithPort(checkedEnd, oppositeEnd);
+ if (partWithPort != null) {
+ nestedPropertyPath.add(partWithPort);
+ }
+ }
+
+ return nestedPropertyPath;
+ }
+
+ /**
+ * Test if the checked end is nested (means it cross StructuredClassifier borders).
+ *
+ * @param checkedEnd
+ * the checked end view.
+ * @param oppositeEnd
+ * the opposite end view.
+ * @return true if the checked end is nested.
+ */
+ public boolean isNestedConnectableElement(View checkedEnd, View oppositeEnd) {
+ return !(getNestedPath(checkedEnd, oppositeEnd).isEmpty());
+ }
+
+ /**
+ * Gets the nearest structure container.
+ *
+ * @param view
+ * the view
+ * @return the nearest structure container or null
+ */
+ public View getNearestStructureContainer(View view) {
+ View nearestStructureContainer = null;
+ for (View containerView : getStructureContainers(view)) {
+ if (view == containerView) {
+ continue;
+ }
+ nearestStructureContainer = containerView;
+ break;
+ }
+ return nearestStructureContainer;
+ }
+
+ /**
+ * Gets the name with quotes.
+ *
+ * @param property
+ * a property
+ * @return the name with quotes
+ * the property name with name delimiter if it is required
+ */
+ public static final String getNameWithQuotes(final NamedElement property) {
+ final String partName = property.getName();
+ final StringBuilder partNameBuffer = new StringBuilder();
+ final Pattern pattern = Pattern.compile(UMLConnectorUtils.HAS_NO_WORD_CHAR_REGEX);
+ final Matcher matcher = pattern.matcher(partName);
+ boolean mustHaveQuote = false;
+ while (matcher.find() && !mustHaveQuote) {
+ mustHaveQuote = true;
+ }
+ if (mustHaveQuote) {
+ partNameBuffer.append(UMLConnectorUtils.STRING_DELIMITER);
+ partNameBuffer.append(partName);
+ partNameBuffer.append(UMLConnectorUtils.STRING_DELIMITER);
+ } else {
+ partNameBuffer.append(partName);
+ }
+
+ return partNameBuffer.toString();
+ }
+
+ /**
+ * Can display existing connector between views according to partWithPort.
+ *
+ * @param connector
+ * the connector
+ * @param sourceView
+ * the source view
+ * @param targetView
+ * the target view
+ * @return true, if successful
+ */
+ public boolean canDisplayExistingConnectorBetweenViewsAccordingToPartWithPort(final Connector connector, final View sourceView, final View targetView) {
+ Property partWithPort = getPartWithPortFromConnector(connector);
+ if (partWithPort != null) {
+ String partWithPortName = partWithPort.getName();
+ Type partWithPortType = partWithPort.getType();
+ EObject sourceContainer = ((View) sourceView.eContainer()).getElement();
+ EObject targetContainer = ((View) targetView.eContainer()).getElement();
+
+ boolean sameSourceType = false;
+ if (sourceContainer instanceof TypedElement) {
+ sameSourceType = partWithPortType.conformsTo(((TypedElement) sourceContainer).getType());
+ }
+ boolean sameSourceName = partWithPortName.equals(((NamedElement) sourceContainer).getName());
+
+ boolean sameTargetType = false;
+ if (targetContainer instanceof TypedElement) {
+ sameTargetType = partWithPortType.conformsTo(((TypedElement) targetContainer).getType());
+ }
+ boolean sametargetName = partWithPortName.equals(((NamedElement) targetContainer).getName());
+
+ return (sameSourceType && sameSourceName) || (sameTargetType && sametargetName);
+ }
+ return true;
+ }
+
+ /**
+ * Gets the partWithPort from the connector.
+ *
+ * @param connector
+ * the connector
+ * @return the part with port from connector
+ */
+ public Property getPartWithPortFromConnector(final Connector connector) {
+ if (connector != null && connector.getEnds() != null) {
+ for (final ConnectorEnd end : connector.getEnds()) {
+ Property partWithPort = end.getPartWithPort();
+ if (partWithPort != null) {
+ return partWithPort;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Test if the relationship creation is allowed.
+ *
+ * @deprecated in 0.10.1 (will be removed in 0.11.0)
+ *
+ * @param source
+ * the relationship source can be null
+ * @param target
+ * the relationship target can be null
+ * @param sourceView
+ * the relationship graphical source can be null
+ * @param targetView
+ * the relationship graphical target can be null
+ * @return true if the creation is allowed
+ */
+ @Deprecated // test creation should be done in approve request
+ public static boolean canCreate(EObject source, EObject target, View sourceView, View targetView) {
+
+ if ((source != null) && !(source instanceof ConnectableElement)) {
+ return false;
+ }
+
+ if ((target != null) && !(target instanceof ConnectableElement)) {
+ return false;
+ }
+
+ if ((sourceView != null) && (targetView != null)) {
+ // Cannot create a connector from a view representing a Part to its own Port (or the opposite)
+ if ((sourceView.getChildren().contains(targetView)) || (targetView.getChildren().contains(sourceView))) {
+ return false;
+ }
+
+ // Cannot connect a Part to one of its (possibly indirect) containment, must connect to one of its Port.
+ if (new UMLConnectorUtils().getStructureContainers(sourceView).contains(targetView) || new UMLConnectorUtils().getStructureContainers(targetView).contains(sourceView)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.classpath b/plugins/core/org.eclipse.papyrus.sysml16.validation/.classpath
new file mode 100644
index 0000000..43b9862
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.project b/plugins/core/org.eclipse.papyrus.sysml16.validation/.project
new file mode 100644
index 0000000..378bd22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.sysml16.validation</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.resources.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.runtime.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.ui.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.m2e.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.pde.api.tools.prefs b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/META-INF/MANIFEST.MF b/plugins/core/org.eclipse.papyrus.sysml16.validation/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..d96c0db
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/META-INF/MANIFEST.MF
@@ -0,0 +1,38 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-Vendor: %Bundle-Vendor
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16.validation;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Activator: org.eclipse.papyrus.sysml16.validation.Activator
+Require-Bundle: org.eclipse.core.resources;bundle-version="[3.9.0,4.0.0)",
+ org.eclipse.ui.ide;bundle-version="[3.13.1,4.0.0)",
+ org.eclipse.emf.validation.ocl;bundle-version="[1.4.0,2.0.0)",
+ org.eclipse.ocl.pivot;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.ocl.pivot.uml;bundle-version="[1.1.0,2.0.0)",
+ org.eclipse.ocl.uml;bundle-version="[5.2.0,6.0.0)",
+ org.eclipse.ocl.ecore;bundle-version="[3.6.0,4.0.0)",
+ org.eclipse.uml2.uml.validation;bundle-version="[5.0.0,6.0.0)",
+ org.eclipse.papyrus.infra.services.validation;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.ui;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.tools;bundle-version="[4.0.0,5.0.0)",
+ org.eclipse.papyrus.uml.oclconstraintevaluation;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.xtext.integration.validation;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.textedit.constraintwithessentialocl.xtext;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.sysml16;bundle-version="1.0.0"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Export-Package: org.eclipse.papyrus.sysml16.validation,
+ org.eclipse.papyrus.sysml16.validation.internal.utils,
+ org.eclipse.papyrus.sysml16.validation.quickfix,
+ org.eclipse.papyrus.sysml16.validation.rules.activities,
+ org.eclipse.papyrus.sysml16.validation.rules.allocations,
+ org.eclipse.papyrus.sysml16.validation.rules.blocks,
+ org.eclipse.papyrus.sysml16.validation.rules.modelelements,
+ org.eclipse.papyrus.sysml16.validation.rules.nonnormative,
+ org.eclipse.papyrus.sysml16.validation.rules.portsandflows,
+ org.eclipse.papyrus.sysml16.validation.rules.requirements,
+ org.eclipse.papyrus.sysml16.validation.selectors
+Automatic-Module-Name: org.eclipse.papyrus.sysml16.validation
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/about.html b/plugins/core/org.eclipse.papyrus.sysml16.validation/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/about.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+
+ <p>November 30, 2017</p>
+ <h3>License</h3>
+
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ ("Content"). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 2.0 ("EPL"). A copy of the EPL is
+ available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+ For purposes of the EPL, "Program" 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
+ ("Redistributor") and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL still apply to any source
+ code in the Content and such source code may be obtained at <a
+ href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+ </p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/build.properties b/plugins/core/org.eclipse.papyrus.sysml16.validation/build.properties
new file mode 100644
index 0000000..93c1a3a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/build.properties
@@ -0,0 +1,8 @@
+source.. = src/
+output.. = target/classes/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties,\
+ about.html
+src.includes = about.html
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.properties b/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.properties
new file mode 100644
index 0000000..671c59f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.properties
@@ -0,0 +1,310 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Validation
+Bundle-Description=This plug-in contains the rules for SyML 1.6 model validation
+Bundle-Vendor=Eclipse Modeling Project
+
+##### Non normative #####
+inv_RequirementId=Requirement is missing an id
+ocl_RequirementId=id <> ''
+inv_RequirementText=Requirement is missing a text
+ocl_RequirementText=text <> ''
+# FIXME : there seems to be no constraint in the norm for Requirement id and text
+
+inv_NestedConnectorEndMissing=NestedConnectorEnd stereotype should be applied to the <Connector end> {0}.
+
+
+##### End Non normative #####
+
+#Conform
+inv_ConformGeneralClassifierViewpoint=Conform [1] The general classifier must be an element stereotyped by Viewpoint.
+ocl_ConformGeneralClassifierViewpoint=Viewpoint.allInstances()->exists(v | v.base_Class = self.base_Generalization.general)
+inv_ConformSpecificClassifierView=Conform [2] The specific classifier must be an element that is stereotyped by View.
+ocl_ConformSpecificClassifierView=View.allInstances()->exists(v | v.base_Class = self.base_Generalization.specific)
+
+#Rational
+inv_StakeholderNotAssociation=Stakeholder [1] A Stakeholder stereotype can only be applied to UML::Actor or UML::Class which are not a UML::Association.
+
+# Expose
+inv_ExposeClientStereotypedByView=Expose [1] The client must be an element stereotyped by View.
+
+#View
+# FIXME: the constraint should only ensure one conform generalization
+inv_ViewSingleViewpoint=View [1] A view must only conform to a single viewpoint.
+#FIXME: not a constraint (query?): View [2] The derived value of the viewpoint is the classifier stereotyped by Viewpoint that is the general classifier of the generalization relationship stereotyped by Conform for which the View is the specific classifier.
+#FIXME: not a constraint (query?): View [3] The derived values of the stakeholder attribute are the names of the classifiers stereotyped by Stakeholder that are the values of the stakeholder attribute of the general classifier of the generalization relationship stereotyped by Conform for which the View is the specific classifier.
+
+#Viewpoint
+#FIXME: not a constraint (query?):Viewpoint [1] The derived values of the method attribute are the names of the methods of the operations stereotyped by the UML Create stereotype on the classifier stereotyped by Viewpoint.
+inv_ViewpointOwnedView=Viewpoint [2] The property ownedOperation must include at least one operation named «View» with the UML Create stereotype applied.
+
+#Binding Connector
+inv_BindingConnectorSameEndsType=Binding Connector [1] The two ends of a binding connector must have either the same type or types that are compatible so that equality of their values can be defined.
+#FIXME can have more that 2 ends
+
+#Block
+inv_AssociationBlock=Block [1] For an association in which both ends are typed by blocks, the number of ends must be exactly two.
+inv_BlockConnectorTwoEnds=Block [2] The number of ends of a connector owned by a block must be exactly two.
+#(In SysML, a binding connector is not typed by an association, so this constraint is not implied entirely by the preceding constraint.)
+inv_BlockPropertyNoName=Block [3] In the UML metamodel on which SysML is built, any instance of the Property metaclass that is typed by a block (a Class with the «block» stereotype applied) and which is owned by an Association may not have a name and may not be defined as a navigable owned end of the association. (While the Property has a «name» property as defined by its NamedElement
+inv_BlockPropertyAssociationEnd=Block [4] In the UML metamodel on which SysML is built, a Property that is typed by a block must be defined as an end of an association. (An inverse end of this association, whether owned by another block or the association itself, must always be present so there is always a metamodel element to record the inverse multiplicity of the reference.)
+#No Implementation [5] The following constraint under sub clause 9.3.6, «Connector» in the UML 2 Superstructure Specification is removed by SysML: «[3] The ConnectableElements attached as roles to each ConnectorEnd owned by a Connector must be roles of the Classifier that owned the Connector, or they must be ports of such roles.»
+inv_BlockPropertyComposite=Block [6] If a property owned by a SysML Block or SysML ValueType is typed by a SysML ValueType, then the aggregation attribute of the property must be «composite.»
+#FIXME: the ocl constraint and the text are not consistent inv_Blockcomposition_acyclic=Block [7] Within an instance of a SysML Block, the values of any property with composite aggregation (aggregation = composite) must not contain the block in any of its own properties that also have composite aggregation, or within any unbroken chain of properties that all have composite aggregation. (Within an instance of a SysML Block, the instances of properties with composite aggregation must form an acyclic graph.)
+#FIXME: ocl_Blockcomposition_acyclic=self.base_Class->closure(part->select(p | p.type.oclIsKindOf(UML::Class)).type.oclAsType(UML::Class))->excludes(self.base_Class)
+inv_BlockSpecialization=Block [8] Any classifier that specializes a Block must also have the Block stereotype or one of its specializations applied.
+#No Implementation [9] The following constraint under sub clause 9.3.7, «ConnectorEnd» in the UML 2 Superstructure Specification is removed by SysML: «[3] The property held in self.partWithPort must not be a Port.»
+
+#BoundReference
+inv_BoundReference1=BoundReference [1] Properties to which BoundReference is applied must be the role of a connector end of at least one binding connector, or generalized by such a property through redefinition.
+ocl_BoundReference1=BindingConnector.allInstances().base_Connector.end.role->exists(r | r=self.base_Property or self.base_Property->closure(redefinedElement)->includes(r))
+inv_BoundReference2=BoundReference [2] The value of boundEnd must be a connector end of a binding connector, as identified in constraint BoundReference [1], opposite the property, as identified in constraint BoundReference [1].
+ocl_BoundReference2=let opposite: UML::ConnectorEnd = BindingConnector.allInstances().base_Connector.end->any(e | e.role=self.base_Property or self.base_Property->closure(redefinedElement)->includes(e.role)) in self.boundEnd = opposite.owner.oclAsType(UML::Connector).end->any(e | e<>opposite)
+#unclear-- [3] The role of boundEnd must be a property accessible by navigation from instances of the block owning the property to which BoundReference is applied, but must not be the property to which BoundReference is applied, or one that it is related to by redefinition.
+inv_BoundReference4=BoundReference [4] The last value of bindingPath is the role of boundEnd, and the other values are the propertyPath of the NestedConnectorEnd applied to boundEnd, if any.
+ocl_BoundReference4=self.boundEnd = self.bindingPath->last() and (let nce: NestedConnectorEnd = NestedConnectorEnd.allInstances()->any(n| n.base_ConnectorEnd=self.boundEnd) in nce->oclIsUndefined() or self.bindingPath->subSequence(1, self.bindingPath->size()-1) = nce.propertyPath)
+inv_BoundReference5=BoundReference [5] Properties to which BoundReference is applied must either be a reference properties or value properties.
+ocl_BoundReference5=ValueType.allInstances().base_DataType->includes(self.base_Property.type) or not self.base_Property.isComposite()
+inv_BoundReference6=BoundReference [6] Properties with BoundReference applied that have an upper multiplicity greater than one must be ordered and non-unique.
+ocl_BoundReference6=self.base_Property.upper > 1 implies self.base_Property.isOrdered and not self.base_Property.isUnique
+inv_BoundReference7=BoundReference [7] BoundReferences must not be applied to properties that are related by redefinition to other properties with BoundReference applied.
+ocl_BoundReference7=self.base_Property.redefinedElement->notEmpty() implies BoundReference.allInstances().base_Property->excludesAll(self.base_Property.redefinedElement)
+inv_BoundReference8=BoundReference [8] The binding connector identified in constraint BoundReference [1] must not have the same property on both ends, or properties related by redefinition.
+ocl_BoundReference8=let e1: UML::ConnectorEnd = self.boundEnd.owner.oclAsType(UML::Connector).end->at(1) in let e2: UML::ConnectorEnd = self.boundEnd.owner.oclAsType(UML::Connector).end->at(2) in e1.role <> e2.role and (e1.role.oclIsKindOf(UML::Property) and e2.role.oclIsKindOf(UML::Property) implies e1.role.oclAsType(UML::Property).redefinedElement->excludes(e2.role) and e2.role.oclAsType(UML::Property).redefinedElement->excludes(e1.role))
+
+#ClassifierBehaviorProperty
+inv_ClassifierBehaviorPropertyOnBlock=ClassifierBehaviorProperty [1] ClassifierBehaviorProperty may only be applied to properties owned (not inherited) by blocks that have classifier behaviors.
+inv_ClassifierBehaviorPropertyIsComposite=ClassifierBehaviorProperty [2] Properties to which ClassifierBehaviorProperty applied must be composite.
+ocl_ClassifierBehaviorPropertyIsComposite=base_Property.isComposite()
+inv_ClassifierBehaviorPropertyTypedBy=ClassifierBehaviorProperty [3] Properties to which ClassifierBehaviorProperty applied must be typed by the classifier behavior of their owning block or a generalization of the classifier behavior.
+
+#ConnectorProperty
+inv_ConnectorPropertyOnlyOnBlock=ConnectorProperty [1] ConnectorProperty may only be applied to properties of classes stereotyped by Block.
+#inv inv_ConnectorPropertyOnlyOnBlock: self.base_Property.owner.getAppliedStereotype('Blocks::Block')->notEmpty()
+inv_ConnectorPropertyReferOwnedConnector=ConnectorProperty [2] The connector attribute of the applied stereotype must refer to a connector owned or inherited by a block owning the property on which the stereotype is applied.
+inv_ConnectorPropertyOnlyComposite=ConnectorProperty [3] The aggregation of a property stereotyped by ConnectorProperty must be composite.
+ocl_ConnectorPropertyOnlyComposite=base_Property.isComposite()
+inv_ConnectorPropertyTypedByAssociationBlock=ConnectorProperty [4] The type of the connector referred to by a connector attribute must be an association class stereotyped by Block.
+inv_ConnectorPropertySameName=ConnectorProperty [5] A property stereotyped by ConnectorProperty must have the same name and type as the connector referred to by the connector attribute.
+
+#DirectedRelationshipPropertyPath
+inv_DirectedRelationshipPropertyPathRequireSourceContext=DirectedRelationshipPropertyPath [_1] source#context must have a value when sourcePropertyPath has a value.
+inv_DirectedRelationshipPropertyPathRequireTargetContext=DirectedRelationshipPropertyPath [_2] target#context must have a value when targetPropertyPath has a value.
+inv_DirectedRelationshipPropertyPathSourceContextIfProperty=DirectedRelationshipPropertyPath [1] sourceContext shall have a value when source is a property, otherwise it shall not have a value.
+ocl_DirectedRelationshipPropertyPathSourceContextIfProperty=base_DirectedRelationship.source->exists(s | s.oclIsKindOf(UML::Property)) xor sourceContext->isEmpty()
+inv_DirectedRelationshipPropertyPathTargetContextIfProperty=DirectedRelationshipPropertyPath [2] targetContext mast have a value when target is a property, otherwise it must not have a value.
+ocl_DirectedRelationshipPropertyPathTargetContextIfProperty=base_DirectedRelationship.target->exists(s | s.oclIsKindOf(UML::Property)) xor targetContext->isEmpty()
+inv_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty=DirectedRelationshipPropertyPath [3] source must be a property when sourcePropertyPath has a value.
+ocl_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty=sourcePropertyPath->notEmpty() implies base_DirectedRelationship.source->forAll(s | s.oclIsKindOf(UML::Property))
+inv_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty=DirectedRelationshipPropertyPath [4] target must be a property when targetPropertyPath has a value.
+ocl_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty=targetPropertyPath->notEmpty() implies base_DirectedRelationship.target->forAll(s | s.oclIsKindOf(UML::Property))
+inv_DirectedRelationshipPropertyPathSourceFirst=DirectedRelationshipPropertyPath [5] The property in the first position of the sourcePropertyPath list, if any, must be owned by the sourceContext or one of its generalizations.
+inv_DirectedRelationshipPropertyPathTargetFirst=DirectedRelationshipPropertyPath [6] The property in the first position of the targetPropertyPath list, if any, must be owned by the targetContext or one of its generalizations.
+#TODO [7] The property at each successive position of the sourcePropertyPath and targetPropertyPath, following the first position, must be owned by the Block or ValueType that types the property at the immediately preceding position, or a generalization of the Block or ValueType.
+inv_DirectedRelationshipPropertyPathSourceLast=DirectedRelationshipPropertyPath [8] The type of the property at the last position of the sourcePropertyPath list must own or inherit the source of the stereotyped directed relationship.
+inv_DirectedRelationshipPropertyPathTargetLast=DirectedRelationshipPropertyPath [9] The type of the property at the last position of the targetPropertyPath list must own or inherit the target of the stereotyped directed relationship.
+
+#DistributedProperty
+inv_DistributedPropertyTypedBy=DistributedProperty [1] The DistributedProperty stereotype may be applied only to properties of classifiers stereotyped by Block or ValueType.
+#inv inv_DistributedPropertyOnlyOnBlock: self.base_Property.owner.getAppliedStereotype('Blocks::Block')->notEmpty() or self.base_Property.owner.getAppliedStereotype('Blocks::ValueType')->notEmpty()
+
+#ElementPropertyPath
+inv_ElementPropertyPathPropertiesOwner=ElementPropertyPath [1] The property at each successive position of the propertyPath attribute, following the first position, must be owned by the Block or ValueType that types the property at the immediately preceding position, or a generalization of the Block or ValueType.
+
+#EndPathMultiplicity
+inv_EndPathMultiplicityBoundReferenceProperty=EndPathMultiplicity [1] Properties to which EndPathMultiplicity is applied must be related by redefinition to a property to which BoundReference is applied.
+inv_EndPathMultiplicityNotNegative=EndPathMultiplicity [2] endPathLower must be non-negative.
+ocl_EndPathMultiplicityNotNegative=lower >= 0
+
+#NestedConnectorEnd
+inv_NestedConnectorEndFirstProperty=NestedConnectorEnd [1] The first property in propertyPath must be owned by the block that owns the connector, or one of the block's generalizations.
+inv_NestedConnectorEndLastProperty=NestedConnectorEnd [2] The type of the property at the last position of the propertyPath list must own or inherit the role property of the stereotyped connector end.
+inv_NestedConnectorEndOnlyConnectorEnds=NestedConnectorEnd [_3] NestedConnectorEnd may only be applied to connector ends
+
+#ParticipantProperty
+inv_ParticipantPropertyOnlyAssociationBlock=ParticipantProperty [1] ParticipantProperty may only be applied to properties of association classes stereotyped by Block.
+inv_ParticipantPropertyNoAssociationMemberEnds=ParticipantProperty [2] ParticipantProperty may not be applied to properties that are member ends of an association.
+inv_ParticipantPropertyOnlyNoneAggregation=ParticipantProperty [3] The aggregation of a property stereotyped by ParticipantProperty must be none.
+inv_ParticipantPropertySameEnd=ParticipantProperty [4] The end attribute of the applied stereotype must refer to a member end of the association block owning the property on which the stereotype is applied.
+inv_ParticipantPropertySameType=ParticipantProperty [5] A property stereotyped by ParticipantProperty must have the same type as the property referred to by the end attribute.
+inv_ParticipantPropertyEndMultiplicity=ParticipantProperty [6] The property referred to by end must have a multiplicity of 1.
+
+#PropertySpecificType
+inv_PropertySpecificTypeUniqueProperty=PropertySpecificType [1] A classifier to which the PropertySpecificType stereotype is applied must be referenced as the type of one and only one property.
+inv_PropertySpecificTypeMissingName=PropertySpecificType [_2] The name of a classifier to which a PropertySpecificType is applied must be missing. (The «name» attribute of the NamedElement metaclass must be empty.)
+
+#ValueType
+inv_ValueTypeSpecializationsAreValuetypes=ValueType [1] Any classifier that specializes a ValueType must also have the ValueType stereotype applied.
+inv_ValueTypeUnit=ValueType [2] The unit of a ValueType, if any, must be an InstanceSpecification classified by SysML's Unit block in the UnitAndQuantityKind model library or a specialization of it.
+inv_ValueTypeQuantityKind=ValueType [3] The quantityKind of a ValueType, if any, must be an InstanceSpecification classified by SysML's QuantityKind block in the UnitAndQuantityKind model library or a specialization of it.
+
+#AcceptChangeStructuralFeatureEventAction
+inv_AcceptChangeStructuralFeatureEventActionOneTrigger=AcceptChangeStructuralFeatureEventAction [1] The action has exactly one trigger, the event of which must be a change structural feature event.
+ocl_AcceptChangeStructuralFeatureEventActionOneTrigger=self.base_AcceptEventAction.trigger->size()=1 and let trigger: UML::Trigger = self.base_AcceptEventAction.trigger->any(true) in ChangeStructuralFeatureEvent.allInstances().base_ChangeEvent->includes(trigger.event)
+inv_AcceptChangeStructuralFeatureEventActiontwoResultPin=AcceptChangeStructuralFeatureEventAction [2] The action has two result pins with type and ordering the same as the type and ordering of the structural feature of the trigger event, and multiplicity compatible with the multiplicity of the structural feature.
+ocl_AcceptChangeStructuralFeatureEventActiontwoResultPin=let event: ChangeStructuralFeatureEvent = ChangeStructuralFeatureEvent.allInstances()->any(e | e.base_ChangeEvent = self.base_AcceptEventAction.trigger->any(true).event) in self.base_AcceptEventAction.result->size() = 2 and self.base_AcceptEventAction.result->forAll(r | r.type = event.structuralFeature.type and r.isOrdered = event.structuralFeature.isOrdered and r.lower <= event.structuralFeature.lower and r.upper >= event.structuralFeature.upper)
+inv_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature=AcceptChangeStructuralFeatureEventAction [3] The structural feature of the trigger event must be owned by or inherited by the #context of the behavior containing the action. (The #context of a behavior is either its owning block or itself if it is not owned by a block. See definition in the UML 2 Superstructure Specification.)
+ocl_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature=let event: ChangeStructuralFeatureEvent = ChangeStructuralFeatureEvent.allInstances()->any(e | e.base_ChangeEvent = self.base_AcceptEventAction.trigger->any(true).event) in self.base_AcceptEventAction._'context'->notEmpty() and self.base_AcceptEventAction._'context'.allFeatures()->includes(event.structuralFeature)
+inv_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature=AcceptChangeStructuralFeatureEventAction [4] Visibility of the structural feature of the trigger event must allow access to the object performing the action.
+ocl_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature=let event: ChangeStructuralFeatureEvent = ChangeStructuralFeatureEvent.allInstances()->any(e | e.base_ChangeEvent = self.base_AcceptEventAction.trigger->any(true).event) in if event.structuralFeature.visibility = UML::VisibilityKind::private then self.base_AcceptEventAction._'context'.feature->includes(event.structuralFeature) else if event.structuralFeature.visibility = UML::VisibilityKind::protected then self.base_AcceptEventAction._'context'.allFeatures()->includes(event.structuralFeature) else if event.structuralFeature.visibility = UML::VisibilityKind::_'package' then let thePackage: UML::Package = event.structuralFeature.allNamespaces()->select(n | n.oclIsKindOf(UML::Package))->first().oclAsType(UML::Package) in (not thePackage.oclIsUndefined()) and ( let index: Integer = event.structuralFeature.allNamespaces()->indexOf(thePackage) in event.structuralFeature.allNamespaces()->subOrderedSet(1, index) ->iterate(n; acc: Boolean=true | acc and not (n.visibility=UML::VisibilityKind::private or n.visibility=UML::VisibilityKind::protected)) ) else true endif endif endif
+#No implementation[5] The constraint under sub clause 11.3.2, «AcceptEventAction» in the UML 2 Superstructure Specification, «[2] There are no output pins if the trigger events are only ChangeEvents,» is removed for accept event actions that have AcceptChangeStructuralFeatureEventAction applied.
+
+#AddFlowPropertyValueOnNestedPortAction
+inv_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty=AddFlowPropertyValueOnNestedPortAction [1] The structural feature referred by actions with this stereotype applied must have FlowProperty applied.
+ocl_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty=FlowProperty.allInstances().base_Property->includes(self.base_AddStructuralFeatureValueAction.structuralFeature)
+inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType=AddFlowPropertyValueOnNestedPortAction [2] The port at the first position in the onNestedPort list shall be owned by the block that types the objectpin of the stereotyped action, or one of that block's generalizations.
+ocl_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType=self.base_AddStructuralFeatureValueAction.object.type.oclAsType(UML::Classifier).feature->includes(self.onNestedPort->first())
+inv_AddFlowPropertyValueOnNestedPortActionPathConsistency=AddFlowPropertyValueOnNestedPortAction [3] The port at each successive position of the onNestedPort attribute, following the first position, shall be owned by the Block that types the port at the immediately preceding position, or a generalization of that Block
+inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort=AddFlowPropertyValueOnNestedPortAction [4] The type of the port at the last position of the onNestedPort list shall own or inherit the flow property that is the structural feature of the stereotyped action
+ocl_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort=self.onNestedPort->last().type.oclAsType(UML::Classifier).allFeatures()->includes(self.base_AddStructuralFeatureValueAction.structuralFeature)
+
+#ChangeStructuralFeatureEvent
+inv_ChangeStructuralFeatureEventNotStatic=ChangeStructuralFeatureEvent [1] The structural feature must not be static.
+#inv inv_StructuralFeatureNotStatic: self.base_Class. FIXME : structural feature <- Property what is the link with the base_Class?
+inv_ChangeStructuralFeatureEventOneFeaturingClassifier=ChangeStructuralFeatureEvent [2] The structural feature must have exactly one featuringClassifier.
+
+#DirectedFeature
+inv_DirectedFeatureOnlyBehavioral=DirectedFeature [1] DirectedFeature can only be applied to behavioral features, or to properties that do not have FlowProperty applied, including on subsetted or redefined features.
+#FIXME: what is the link? non-provided direction enum, but no idea for the rest
+#TODO [2] A non-provided operation cannot be associated with a behavior as its method.
+
+#FlowProperty
+inv_FlowPropertyTypedBy=FlowProperty [1] A FlowProperty is typed by a ValueType, Block, or Signal.
+
+#FullPort
+inv_FullPortNotProxyPort=FullPort [1]: Full ports cannot also be proxy ports. This applies even if some of the stereotypes are on subsetted or redefined ports.
+inv_FullPortNotBoundToFullPort=FullPort [2] Binding connectors cannot link full ports (either directly or indirectly through other binding connectors) to other composite properties of the block owning the full port (or that block's generalizations or specializations), unless the composite properties are non-full ports.
+ocl_FullPortNotBoundToFullPort=let fullPorts: Set(UML::Port) = FullPort.allInstances().base_Port->asSet() in BindingConnector.allInstances().base_Connector->select(c | c.end.role->includes(self.base_Port))->forAll(c | fullPorts->excludesAll(c.end.role->reject(r | r=self.base_Port)))
+inv_FullPortNotBehavioral=FullPort [3]: Full ports cannot be behavioral (isBehavior=false).
+ocl_FullPortNotBehavioral=base_Port.isBehavior = false
+
+#InterfaceBlock
+inv_InterfaceBlockNoBehavior=InterfaceBlock [1] Interface blocks cannot own or inherit behaviors, have classifier behaviors, or methods for their behavioral features.
+inv_InterfaceBlockNoCompositeProperty=InterfaceBlock [2] Interface blocks cannot have composite properties that are not ports.
+inv_InterfaceBlockPortType=InterfaceBlock [3] Ports owned by interface blocks can only be typed by interface blocks.
+inv_InterfaceBlockIsConjugatedNotUsed=InterfaceBlock [4] Any port typed by an InterfaceBlock shall have its isConjugated property set to false.
+ocl_InterfaceBlockIsConjugatedNotUsed=UML::Port.allInstances()->forAll(p | p.type = self.base_Class implies p.isConjugated=false)
+
+#InvocationOnNestedPortAction
+inv_InvocationOnNestedPortActionRequiredOnPort=InvocationOnNestedPortAction [1] The onPort property of an invocation action must have a value when this stereotype is applied.
+inv_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType=InvocationOnNestedPortAction [2] The port at the first position in the onNestedPort list must be owned (directly or via inheritance) by a block that types the target pin of the invocation action, or one of the block's generalizations.
+ocl_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType=let target: UML::InputPin = if self.base_InvocationAction.oclIsKindOf(UML::CallOperationAction) then self.base_InvocationAction.oclAsType(UML::CallOperationAction).target else if self.base_InvocationAction.oclIsKindOf(UML::SendSignalAction) then self.base_InvocationAction.oclAsType(UML::SendSignalAction).target else if self.base_InvocationAction.oclIsKindOf(UML::SendObjectAction) then self.base_InvocationAction.oclAsType(UML::SendObjectAction).target else invalid endif endif endif in not target.oclIsUndefined() and (let target_type: UML::Class = Block.allInstances()->any(b | b.base_Class = target.type).base_Class in not target_type.oclIsUndefined() and target_type.allFeatures()->includes(self.onNestedPort->first()))
+inv_InvocationOnNestedPortActionPathConsistency=InvocationOnNestedPortAction [3] The port at each successive position of the onNestedPort attribute, following the first position, shall be owned by the Block that types the port at the immediately preceding position, or a generalization of that Block.
+inv_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort=InvocationOnNestedPortAction [4] The type of the port at the last position of the onNestedPort list must own or inherit the onPort port of the stereotyped invocation action.
+ocl_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort=self.onNestedPort->last().type.oclAsType(UML::Classifier).allFeatures()->includes(self.base_InvocationAction.onPort)
+
+#ItemFlow
+#TODO inv_ItemFlowSourceAndTargetLinked=ItemFlow [1] A Connector or an Association, or an inherited Association must exist between the source and the target of the InformationFlow.
+#ocl_ItemFlowSourceAndTargetLinked=let target: UML::NamedElement = self.base_InformationFlow.informationTarget->any(true) in let targets: Set(UML::NamedElement) = if target.oclIsKindOf(UML::Classifier) then target.oclAsType(UML::Classifier)->closure(general)->including(target) else target->asSet() endif in let source:UML::NamedElement = self.base_InformationFlow.informationSource->any(true) in let sources: Set(UML::NamedElement) = if source.oclIsKindOf(UML::Classifier) then source.oclAsType(UML::Classifier)->closure(general)->including(source) else source->asSet() endif in UML::Association.allInstances()->exists(a | a.memberEnd->intersection(targets)->notEmpty() and a.memberEnd->intersection(sources)->notEmpty()) or UML::Connector.allInstances()->exists(c | c.end->intersection(targets)->notEmpty() and c.end->intersection(sources)->notEmpty())
+inv_ItemFlowSamePropertyTypedBy=ItemFlow [2] An ItemFlow itemProperty is typed by a ValueType, Block, or Signal.
+#TODO inv_ItemFlowItemPropertyCommonOwner=ItemFlow [3] itemProperty is a property of the common (possibly indirect) owner of the source and the target.
+#ocl_ItemFlowItemPropertyCommonOwner=self.itemProperty->notEmpty() implies (let target: UML::Element = self.base_InformationFlow.informationTarget->any(true) in let source: UML::Element = self.base_InformationFlow.informationSource->any(true) in target.oclIsKindOf(UML::Property) and source.oclIsKindOf(UML::Property) and let owners: Set(UML::Classifier) = target->closure(owner)->select(o1 | o1.oclIsKindOf(UML::Classifier))->asSet() ->intersection(source->closure(owner)->select(o2 | o2.oclIsKindOf(UML::Classifier))).oclAsType(UML::Classifier)->asSet() in owners.attribute->flatten()->includes(self.itemProperty))
+inv_ItemFlowAssociationXorItemProperty=ItemFlow [4] itemProperty cannot have a value if the item flow is realized by an Association.
+ocl_ItemFlowAssociationXorItemProperty=self.base_InformationFlow.realization->exists(r | r.oclIsKindOf(UML::Association)) implies self.itemProperty->isEmpty()
+inv_ItemFlowSameType=ItemFlow [5] If an ItemFlow has an itemProperty, one of the classifiers of conveyed items must be the same as the type of the item property.
+ocl_ItemFlowSameType=self.itemProperty->notEmpty() implies self.base_InformationFlow.conveyed->includes(self.itemProperty.type)
+# FIXME the item flow doesn't have a name (should be information flow)
+inv_ItemFlowSamePropertyName=ItemFlow [6] If an ItemFlow has an itemProperty, its name should be the same as the name of the item flow.
+
+#ProxyPort
+inv_ProxyPortNotFullPort=ProxyPort [1] Proxy ports cannot also be full ports. This applies even if some of the stereotypes are on subsetted or redefined ports.
+inv_ProxyPortTypedByInterfaceBlock=ProxyPort [2] Proxy ports can only be typed by interface blocks.
+inv_ProxyPortForceInnerProxyPort=ProxyPort [3] Ports owned by the type of a proxy port must be proxy ports.
+
+#TriggerOnNestedPort
+inv_TriggerOnNestedPortSingleProxyPort=TriggerOnNestedPort [1] The port property of the stereotyped trigger must have exactly one value, and the value cannot be a full port.
+ocl_TriggerOnNestedPortSingleProxyPort=self.base_Trigger.port->size()=1 and FullPort.allInstances().base_Port->excludes(self.base_Trigger.port)
+inv_TriggerOnNestedPortNoFullPort=TriggerOnNestedPort [2] The values of the onNestedPort property must not be full ports.
+ocl_TriggerOnNestedPortNoFullPort=FullPort.allInstances().base_Port->excludesAll(self.onNestedPort)
+inv_TriggerOnNestedPortOnNextedPortFirstOwnedByContext=TriggerOnNestedPort [3] The port at the first position in the onNestedPort list must be owned by a block in which the trigger is used, or one of the block's generalizations.
+ocl_TriggerOnNestedPortOnNextedPortFirstOwnedByContext=let theContext: UML::Classifier = if self.base_Trigger.owner.oclIsKindOf(UML::Action) then self.base_Trigger.owner.oclAsType(UML::Action)._'context'.oclAsType(UML::Class) else self.base_Trigger.owner.oclAsType(UML::Transition).containingStateMachine()._'context'.oclAsType(UML::Class) endif in let owners: Set(UML::Classifier) = theContext->closure(general)->including(theContext) in owners->includes(self.onNestedPort->first().owner)
+inv_TriggerOnNestedPortPathConsistency=TriggerOnNestedPort [4] The first constraint of ElementPropertyPath applies to onNestedPort.
+#inv_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort=TriggerOnNestedPort [5] The type of the port at the last position of the onNestedPort list must own or inherit the port port of must own or inherit the port port of
+#ocl_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort=self.onNestedPort->last().type.oclAsType(UML::Classifier).allFeatures()->includes(self.base_Trigger.port)
+# seems strange since self.base_trigger.port has [0.*] as multiplicity
+
+#ConjugatedInterfaceBlock
+inv_ConjugatedInterfaceBlockEnforcedName=ConjugatedInterfaceBlock [1] The name of an ~InterfaceBlock shall be the name of its original InterfaceBlock with a tilde ("~") character prepended
+ocl_ConjugatedInterfaceBlockEnforcedName=self.base_Class.name = '~'+self.original.base_Class.name
+
+#ConstraintBlock
+inv_ConstraintBlockComposite=ConstraintBlock [3] Any property of a block that is typed by a ConstraintBlock shall have composite aggregation.
+
+#ControlOperator
+inv_ControlOperatorOneParameterControlValue=ControlOperator [1] When the «ControlOperator» stereotype is applied, the behavior or operation shall have at least one parameter typed by ControlValue. If the stereotype is not applied, the behavior or operation may not have any parameter typed by ControlValue.
+inv_ControlOperatorOperationMethod=ControlOperator [2] A behavior shall have the «ControlOperator» stereotype applied if it is a method of an operation that has the «ControlOperator» stereotype applied.
+
+#Discrete
+inv_DiscreteNoContinuous=Discrete [1] The «discrete» and «continuous» stereotypes cannot be applied to the same element at the same time.
+
+#NoBuffer
+inv_NoBufferNoOverwrite=NoBuffer [1] The «nobuffer» and «overwrite» stereotypes cannot be applied to the same element at the same time.
+ocl_NoBufferNoOverwrite=base_ObjectNode.getAppliedStereotype('SysML::Activities::Overwrite')->isEmpty()
+
+#Overwrite
+inv_OverwriteNoNoBuffer=Overwrite [1] The «overwrite» and «nobuffer» stereotypes cannot be applied to the same element at the same time.
+ocl_OverwriteNoNoBuffer=base_ObjectNode.getAppliedStereotype('SysML::Activities::NoBuffer')->isEmpty()
+
+#Optional
+inv_OptionalParameterMultiplicity=Optional [1] Optional parameter lower value has to be 0
+ocl_OptionalParameterMultiplicity=base_Parameter.lower = 0
+
+#Probability
+inv_ProbabilityBaseElement=Probability [1] The «probability» stereotype can only be applied to activity edges that have decision nodes or object nodes as sources, or to output parameter sets.
+inv_ProbabilityAllEdges=Probability [2] When the «probability» stereotype is applied to an activity edge, then it must be applied to all edges coming out of the same source.
+inv_ProbabilityToAllParameterSet=Probability [3] When the «probability» stereotype is applied to an output parameter set, it must also be applied to all the parameter sets of the behavior or operation owning the original parameter set. .
+inv_ProbabilityOutputParameters=Probability [4] When the «probability» stereotype is applied to an output parameter set, all the output parameters must be in some parameter set.
+
+#Rate
+inv_RateParameterIsStream=Rate [1] When the «rate» stereotype is applied to a parameter, the parameter must be streaming.
+inv_RateParameterLessInout=Rate [2] The rate of a parameter must be less than or equal to rates on edges that come into or go out from pins and parameters nodes corresponding to the parameter.
+
+#Allocate(from Allocations)
+inv_AllocateOneClientSupplier=Allocate [2] A single «allocate» dependency shall have only one client (from) and one supplier (to).
+
+#AllocateActivityPartition(from Allocations)
+%inv_AllocateActivityPartitionActionsOnClientEnds=AllocateActivityPartition [1] An Action appearing in an "AllocateActivityPartition" shall be the /client (from) end of an "allocate" dependency. The element that represents the "AllocateActivityPartition" shall be the /supplier (to) end of the same "allocate" dependency. In the «AllocateActivityPartition» name field, Properties are designated by the use of a fully qualified name (including colon, e.g., "part_name:Block_Name"), and Classifiers are designated by a simple name (no colons, e.g., "Block_Name").
+#No implementation [2] The «AllocateActivityPartition» maintains the constraints, but not the semantics, of the UML2::ActivityPartition. Classifiers or Properties represented by an «AllocateActivityPartition» do not have any direct responsibility for invoking behavior depicted within the partition boundaries. To depict this kind of direct responsibility, the modeler is directed to the UML 2 Superstructure specification, sub clause 12.3.10, «ActivityPartition,» Semantics topic.
+
+#Copy
+inv_CopyBetweenRequirementsModelConstraint=Copy [1] A Copy dependency may only be created between two NamedElements that have a subtype of the abstractRequirement stereotype applied.
+inv_CopyReadOnlyModelConstraint=Copy [2] The text property of the client requirement is constrained to be a read-only copy of the text property of the supplier requirement and this applies recursively to all subrequirements.
+
+#DeriveReqt
+inv_DeriveReqtSupplierModelConstraint=DeriveReqt [1] The supplier shall be an element stereotyped by a subtype of AbstractRequirement.
+inv_DeriveReqtClientModelConstraint=DeriveReqt [2] The client shall be an element stereotyped by a subtype of AbstractRequirement.
+
+#Refine
+inv_RefineOneClientSupplierModelConstraint=Refine [2] Abstractions with a Refine stereotype or one of its specializations applied shall have exactly one client and one supplier.
+
+#Requirement
+inv_RequirementEmptyOwnedOperation=Requirement [1] The property "ownedOperation" shall be empty.
+ocl_RequirementEmptyOwnedOperation=base_Class.ownedOperation->isEmpty()
+inv_RequirementEmptyOwnedAttribute=Requirement [2] The property "ownedAttribute" shall be empty.
+ocl_RequirementEmptyOwnedAttribute=base_Class.ownedAttribute->isEmpty()
+inv_RequirementNoAssociationModelConstraint=Requirement [3] Classes stereotyped by «requirement» shall not participate in associations.
+inv_RequirementNoGeneralizationModelConstraint=Requirement [4] Classes stereotyped by «requirement» shall not participate in generalizations.
+inv_RequirementNestedRequirementModelConstraint=Requirement [5] A nested classifier of a class stereotyped by Requirement or one of its specializations shall also be stereotyped by Requirement or one of its specializations.
+inv_RequirementNotType=Requirement [6] Classes stereotyped by «requirement» shall not be used to type any other model element.
+
+#TestCase
+inv_TestCaseParameterVerdictKindModelConstraint=TestCase [1] The type of return parameter of the stereotyped model element shall be VerdictKind.
+
+#Satisfy
+inv_SatisfySupplierModelConstraint=Satisfy [1] The supplier shall be an element stereotyped by any subtype of «AbstractRequirement».
+
+#Trace
+inv_TraceOneClientSupplierModelConstraint=Trace [2] Abstractions with a Trace stereotype or one of its specializations applied shall have exactly one client and one supplier.
+
+#Verify
+inv_VerifySupplierModelConstraint=Verify [1] The supplier shall be an element stereotyped by any subtype of «AbstractRequirement».
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.xml b/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.xml
new file mode 100644
index 0000000..971de7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/plugin.xml
@@ -0,0 +1,1536 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<?eclipse version="3.4"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+
+ Contributors:
+ Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+
+-->
+
+<plugin>
+<extension point="org.eclipse.ui.ide.markerResolution">
+ <markerResolutionGenerator
+ markerType="org.eclipse.emf.ecore.diagnostic"
+ class="org.eclipse.papyrus.sysml16.validation.quickfix.SysMLMarkerResolutionGenerator"/>
+ </extension>
+
+
+ <extension name="org.eclipse.papyrus.sysml16.validation.constraintProviders" point="org.eclipse.emf.validation.constraintProviders">
+ <category id="org.eclipse.papyrus.sysml16.validation.category.normative" mandatory="false" name="SysML 1.6 normative constraints">
+ Constraints listed in SysML 1.6 norm.
+ </category>
+ <category id="org.eclipse.papyrus.sysml16.validation.category.optional" mandatory="false" name="SysML 1.6 optional constraints">
+ Constraints provided to help the modeler but not required by the norm.
+ </category>
+
+ <!-- Constraints on UML elements -->
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http://www.eclipse.org/uml2/5.0.0/UML"/>
+ <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+ <constraint id="constraint.block.associationBlock" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.associationBlock"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.AssociationBlockModelConstraint">
+ <message>%inv_AssociationBlock</message>
+ <description>%inv_AssociationBlock</description>
+ </constraint>
+
+ <constraint id="constraint.block.property.asssociationend" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="property.asssociationend"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockPropertyAssociationEndModelConstraint">
+ <message>%inv_BlockPropertyAssociationEnd</message>
+ <description>%inv_BlockPropertyAssociationEnd</description>
+ </constraint>
+
+ <constraint id="constraint.block.specialization" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.specialization"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockSpecializationModelConstraint">
+ <message>%inv_BlockSpecialization</message>
+ <description>%inv_BlockSpecialization</description>
+ </constraint>
+
+ <constraint id="constraint.block.propertynoname" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.propertynoname"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockPropertyNoNameModelConstraint">
+ <message>%inv_BlockPropertyNoName</message>
+ <description>%inv_BlockPropertyNoName</description>
+ </constraint>
+
+ <constraint id="constraint.valuetype.specializationsarevaluetypes" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="valuetype.specializationsarevaluetypes"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ValueTypeSpecilizationAreValueTypesModelConstraint">
+ <message>%inv_ValueTypeSpecializationsAreValuetypes</message>
+ <description>%inv_ValueTypeSpecializationsAreValuetypes</description>
+ </constraint>
+
+ </constraints>
+ <constraints categories="org.eclipse.papyrus.sysml16.validation.category.optional">
+ <constraint id="constraint.nestedConnectorEnd.missing" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="nestedConnectorEnd.missing"
+ class="org.eclipse.papyrus.sysml16.validation.rules.nonnormative.NestedConnectorEndMissingConstraintModelConstraint">
+ <message>%inv_NestedConnectorEndMissing</message>
+ <description>%inv_NestedConnectorEndMissing</description>
+ </constraint>
+ </constraints>
+
+
+
+ </constraintProvider>
+
+
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"/>
+ <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+ <constraint id="constraint.optional.multiplicity" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="optional.multiplicity">
+ <message>%inv_OptionalParameterMultiplicity</message>
+ <description>%inv_OptionalParameterMultiplicity</description>
+ <![CDATA[%ocl_OptionalParameterMultiplicity]]>
+ </constraint>
+
+ <constraint id="constraint.discrete.nocontinuous" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="discrete.nocontinuous"
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.DiscreteNoContinuousModelConstraint">
+ <message>%inv_DiscreteNoContinuous</message>
+ <description>%inv_DiscreteNoContinuous</description>
+ </constraint>
+
+ <constraint id="constraint.nobuffer.nooverwrite" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="nobuffer.nooverwrite">
+ <message>%inv_NoBufferNoOverwrite</message>
+ <description>%inv_NoBufferNoOverwrite</description>
+ <![CDATA[%ocl_NoBufferNoOverwrite]]>
+ </constraint>
+
+ <constraint
+ id="constraint.overwrite.nonobuffer"
+ isEnabledByDefault="true"
+ lang="OCLpivot"
+ mode="Batch"
+ name="overwrite.nonobuffer"
+ severity="ERROR"
+ statusCode="3">
+ <message>%inv_OverwriteNoNoBuffer</message>
+ <description>%inv_OverwriteNoNoBuffer</description>
+ <![CDATA[%ocl_OverwriteNoNoBuffer]]>
+ </constraint>
+
+ <constraint id="constraint.rate.parameterisstream" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="rate.parameterisstream"
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.RateParameterIsStreamModelConstraint">
+ <message>%inv_RateParameterIsStream</message>
+ <description>%inv_RateParameterIsStream</description>
+ </constraint>
+
+ <constraint id="constraint.rate.parameterlessinout" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="rate.parameterlessinout"
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.RateParameterLessInoutModelConstraint">
+ <message>%inv_RateParameterLessInout</message>
+ <description>%inv_RateParameterLessInout</description>
+ </constraint>
+
+ <constraint id="constraint.probability.alledges" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="probability.alledges"
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.ProbabilityAllEdgesModelConstraint">
+ <message>%inv_ProbabilityAllEdges</message>
+ <description>%inv_ProbabilityAllEdges</description>
+ </constraint>
+
+ <constraint id="constraint.probability.baseelement" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="probability.baseelement"
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.ProbabilityBaseElementModelConstraint">
+ <message>%inv_ProbabilityBaseElement</message>
+ <description>%inv_ProbabilityBaseElement</description>
+ </constraint>
+
+ <constraint id="constraint.probability.outputparameters" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="probability.outputparameters"
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.ProbabilityOutputParametersModelConstraint">
+ <message>%inv_ProbabilityOutputParameters</message>
+ <description>%inv_ProbabilityOutputParameters</description>
+ </constraint>
+
+ <constraint id="constraint.probability.allparameterset" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="probability.allparameterset"
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.ProbabilityToAllParameterSetModelConstraint">
+ <message>%inv_ProbabilityToAllParameterSet</message>
+ <description>%inv_ProbabilityToAllParameterSet</description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.OperationParametersControlValueModelConstraint"
+ id="constraint.operation.controloperator.parameterscontrolvalue"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="operation.controloperator.parameterscontrolvalue"
+ severity="ERROR"
+ statusCode="3">
+ %ocl_OptionalParameterMultiplicity
+ <message>
+ %inv_ControlOperatorOneParameterControlValue
+ </message>
+ <description>
+ %inv_ControlOperatorOneParameterControlValue
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.BehaviorParametersControlValueModelConstraint"
+ id="constraint.behavior.controloperator.parameterscontrolvalue"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="behavior.controloperator.parameterscontrolvalue"
+ severity="ERROR"
+ statusCode="3">
+ %ocl_OptionalParameterMultiplicity
+ <message>
+ %inv_ControlOperatorOneParameterControlValue
+ </message>
+ <description>
+ %inv_ControlOperatorOneParameterControlValue
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.activities.ControlOperatorOperationMethodModelConstraint"
+ id="constraint.controloperator.operationmethod"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="controloperator.operationmethod"
+ severity="ERROR"
+ statusCode="3">
+ %ocl_OptionalParameterMultiplicity
+ <message>
+ %inv_ControlOperatorOperationMethod
+ </message>
+ <description>
+ %inv_ControlOperatorOperationMethod
+ </description>
+ </constraint>
+
+ </constraints>
+ </constraintProvider>
+
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"/>
+ <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+ <constraint id="constraint.allocate.oneclientsupplier" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="allocate.oneclientsupplier"
+ class="org.eclipse.papyrus.sysml16.validation.rules.allocations.AllocateOneClientSupplierModelConstraint">
+ <message>%inv_AllocateOneClientSupplier</message>
+ <description>%inv_AllocateOneClientSupplier</description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.allocations.AllocateActivityPartitionActionsOnClientEndsModelConstraint"
+ id="constraint.allocateactivitypartition.actionsonclientends"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="allocateactivitypartition.actionsonclientends"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_AllocateActivityPartitionActionsOnClientEnds
+ </message>
+ <description>
+ %inv_AllocateActivityPartitionActionsOnClientEnds
+ </description>
+ </constraint>
+
+ </constraints>
+ </constraintProvider>
+
+
+
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"/>
+ <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+
+ <constraint id="constraint.boundreference.1" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [1]">
+ <message>%inv_BoundReference1</message>
+ <description>%inv_BoundReference1</description>
+ <![CDATA[%ocl_BoundReference1]]>
+ </constraint>
+ <constraint id="constraint.boundreference.2" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [2]">
+ <message>%inv_BoundReference2</message>
+ <description>%inv_BoundReference2</description>
+ <![CDATA[%ocl_BoundReference2]]>
+ </constraint>
+
+ <constraint id="constraint.boundreference.4" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [4]">
+ <message>%inv_BoundReference4</message>
+ <description>%inv_BoundReference4</description>
+ <![CDATA[%ocl_BoundReference4]]>
+ </constraint>
+ <constraint id="constraint.boundreference.5" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [5]">
+ <message>%inv_BoundReference5</message>
+ <description>%inv_BoundReference5</description>
+ <![CDATA[%ocl_BoundReference5]]>
+ </constraint>
+ <constraint id="constraint.boundreference.6" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [6]">
+ <message>%inv_BoundReference6</message>
+ <description>%inv_BoundReference6</description>
+ <![CDATA[%ocl_BoundReference6]]>
+ </constraint>
+ <constraint id="constraint.boundreference.7" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [7]">
+ <message>%inv_BoundReference7</message>
+ <description>%inv_BoundReference7</description>
+ <![CDATA[%ocl_BoundReference7]]>
+ </constraint>
+ <constraint id="constraint.boundreference.8" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="BoundReference [8]">
+ <message>%inv_BoundReference8</message>
+ <description>%inv_BoundReference8</description>
+ <![CDATA[%ocl_BoundReference8]]>
+ </constraint>
+
+ <constraint id="constraint.directedrelationshippropertypath.requiresourcecontext" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.requiresourcecontext"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathRequireSourceContextModelConstraint">
+ <message>%inv_DirectedRelationshipPropertyPathRequireSourceContext</message>
+ <description>%inv_DirectedRelationshipPropertyPathRequireSourceContext</description>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.requiretargetcontext" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.requiretargetcontext"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathRequireTargetContextModelConstraint">
+ <message>%inv_DirectedRelationshipPropertyPathRequireTargetContext</message>
+ <description>%inv_DirectedRelationshipPropertyPathRequireTargetContext</description>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.sourcefirst" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.sourcefirst"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathSourceFirstModelConstraint">
+ <message>%inv_DirectedRelationshipPropertyPathSourceFirst</message>
+ <description>%inv_DirectedRelationshipPropertyPathSourceFirst</description>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.targetfirst" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.targetfirst"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathTargetFirstModelConstraint">
+ <message>%inv_DirectedRelationshipPropertyPathTargetFirst</message>
+ <description>%inv_DirectedRelationshipPropertyPathTargetFirst</description>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.sourcelast" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.sourcelast"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathSourceLastModelConstraint">
+ <message>%inv_DirectedRelationshipPropertyPathSourceLast</message>
+ <description>%inv_DirectedRelationshipPropertyPathSourceLast</description>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.targetlast" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.targetlast"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DirectedRelationshipPropertyPathRequireSourceContextModelConstraint">
+ <message>%inv_DirectedRelationshipPropertyPathTargetLast</message>
+ <description>%inv_DirectedRelationshipPropertyPathTargetLast</description>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.sourcecontextifproperty" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.sourcecontextifproperty">
+ <message>%inv_DirectedRelationshipPropertyPathSourceContextIfProperty</message>
+ <description>%inv_DirectedRelationshipPropertyPathSourceContextIfProperty</description>
+ <![CDATA[%ocl_DirectedRelationshipPropertyPathSourceContextIfProperty]]>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.targetcontextifproperty" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.targetcontextifproperty">
+ <message>%inv_DirectedRelationshipPropertyPathTargetContextIfProperty</message>
+ <description>%inv_DirectedRelationshipPropertyPathTargetContextIfProperty</description>
+ <![CDATA[%ocl_DirectedRelationshipPropertyPathTargetContextIfProperty]]>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.sourcepropertypathimpliesproperty" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.sourcepropertypathimpliesproperty">
+ <message>%inv_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty</message>
+ <description>%inv_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty</description>
+ <![CDATA[%ocl_DirectedRelationshipPropertyPathSourcePropertyPathImpliesProperty]]>
+ </constraint>
+ <constraint id="constraint.directedrelationshippropertypath.targetpropertypathimpliesproperty" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="directedrelationshippropertypath.targetpropertypathimpliesproperty">
+ <message>%inv_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty</message>
+ <description>%inv_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty</description>
+ <![CDATA[%ocl_DirectedRelationshipPropertyPathTargetPropertyPathImpliesProperty]]>
+ </constraint>
+ <constraint id="constraint.block.propertycomposite" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.propertycomposite"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockPropertyCompositeModelConstraint">
+ <message>%inv_BlockPropertyComposite</message>
+ <description>%inv_BlockPropertyComposite</description>
+ </constraint>
+
+ <constraint id="constraint.block.connectortwoends" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="block.connectortwoends"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BlockConnectorTwoEndsModelConstraint">
+ <message>%inv_BlockConnectorTwoEnds</message>
+ <description>%inv_BlockConnectorTwoEnds</description>
+ </constraint>
+
+ <constraint id="constraint.elementpropertypath.propertiesowner" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="elementpropertypath.propertiesowner"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ElementPropertyPathPropertiesOwnerModelConstraint">
+ <message>%inv_ElementPropertyPathPropertiesOwner</message>
+ <description>%inv_ElementPropertyPathPropertiesOwner</description>
+ </constraint>
+
+ <constraint id="constraint.nestedconnectorend.onlyconnectorends" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="nestedconnectorend.onlyconnectorends"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.NestedConnectorEndOnlyConnectorEndsModelConstraint">
+ <message>%inv_NestedConnectorEndOnlyConnectorEnds</message>
+ <description>%inv_NestedConnectorEndOnlyConnectorEnds</description>
+ </constraint>
+
+ <constraint id="constraint.nestedconnectorend.lastproperty" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="nestedconnectorend.lastproperty"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.NestedConnectorEndLastPropertyModelConstraint">
+ <message>%inv_NestedConnectorEndLastProperty</message>
+ <description>%inv_NestedConnectorEndLastProperty</description>
+ </constraint>
+
+ <constraint id="constraint.nestedconnectorend.firstproperty" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="nestedconnectorend.firstproperty"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.NestedConnectorEndFirstPropertyModelConstraint">
+ <message>%inv_NestedConnectorEndFirstProperty</message>
+ <description>%inv_NestedConnectorEndFirstProperty</description>
+ </constraint>
+
+ <constraint id="constraint.propertyspecifictype.missingname" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="propertyspecifictype.missingname"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.PropertySpecificTypeMissingNameModelConstraint">
+ <message>%inv_PropertySpecificTypeMissingName</message>
+ <description>%inv_PropertySpecificTypeMissingName</description>
+ </constraint>
+
+ <constraint id="constraint.propertyspecifictype.uniqueproperty" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="propertyspecifictype.uniqueproperty"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.PropertySpecificTypeUniquePropertyModelConstraint">
+ <message>%inv_PropertySpecificTypeUniqueProperty</message>
+ <description>%inv_PropertySpecificTypeUniqueProperty</description>
+ </constraint>
+
+
+ <constraint id="constraint.endpathmultiplicity.boundreferenceproperty" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="endpathmultiplicity.boundreferenceproperty"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.EndPathMultiplicityBoundReferencePropertyModelConstraint">
+ <message>%inv_EndPathMultiplicityBoundReferenceProperty</message>
+ <description>%inv_EndPathMultiplicityBoundReferenceProperty</description>
+ </constraint>
+
+ <constraint id="constraint.endpathmultiplicity.notnegative" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="endpathmultiplicity.notnegative">
+ <message>%inv_EndPathMultiplicityNotNegative</message>
+ <description>%inv_EndPathMultiplicityNotNegative</description>
+ <![CDATA[%ocl_EndPathMultiplicityNotNegative]]>
+ </constraint>
+
+ <constraint id="constraint.distributedproperty.typedby" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="distributedproperty.typedby"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.DistributedPropertyTypedByModelConstraint">
+ <message>%inv_DistributedPropertyTypedBy</message>
+ <description>%inv_DistributedPropertyTypedBy</description>
+ </constraint>
+
+ <constraint id="constraint.classifierbehaviorproperty.iscomposite" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="classifierbehaviorproperty.iscomposite">
+ <message>%inv_ClassifierBehaviorPropertyIsComposite</message>
+ <description>%inv_ClassifierBehaviorPropertyIsComposite</description>
+ <![CDATA[%ocl_ClassifierBehaviorPropertyIsComposite]]>
+ </constraint>
+
+ <constraint id="constraint.classifierbehaviorproperty.onblock" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="classifierbehaviorproperty.onblock"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ClassifierBehaviorPropertyOnBlockModelConstraint">
+ <message>%inv_ClassifierBehaviorPropertyOnBlock</message>
+ <description>%inv_ClassifierBehaviorPropertyOnBlock</description>
+ </constraint>
+
+ <constraint id="constraint.classifierbehaviorproperty.typedby" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="classifierbehaviorproperty.typedby"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ClassifierBehaviorPropertyTypedByModelConstraint">
+ <message>%inv_ClassifierBehaviorPropertyTypedBy</message>
+ <description>%inv_ClassifierBehaviorPropertyTypedBy</description>
+ </constraint>
+
+ <constraint id="constraint.connectorproperty.onlycomposite" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.onlycomposite" >
+ <message>%inv_ConnectorPropertyOnlyComposite</message>
+ <description>%inv_ConnectorPropertyOnlyComposite</description>
+ <![CDATA[%ocl_ConnectorPropertyOnlyComposite]]>
+ </constraint>
+
+ <constraint id="constraint.connectorproperty.onlyonblock" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.onlyonblock"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ConnectorPropertyOnlyOnBlockModelConstraint">
+ <message>%inv_ConnectorPropertyOnlyOnBlock</message>
+ <description>%inv_ConnectorPropertyOnlyOnBlock</description>
+ </constraint>
+ <constraint id="constraint.connectorproperty.referownedconnector" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.referownedconnector"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ConnectorPropertyReferOwnedConnectorModelConstraint">
+ <message>%inv_ConnectorPropertyReferOwnedConnector</message>
+ <description>%inv_ConnectorPropertyReferOwnedConnector</description>
+ </constraint>
+ <constraint id="constraint.connectorproperty.samename" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.samename"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ConnectorPropertySameNameModelConstraint">
+ <message>%inv_ConnectorPropertySameName</message>
+ <description>%inv_ConnectorPropertySameName</description>
+ </constraint>
+ <constraint id="constraint.connectorproperty.typedbyassociationblock" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="connectorproperty.typedbyassociationblock"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ConnectorPropertyTypedByAssociationBlockModelConstraint">
+ <message>%inv_ConnectorPropertyTypedByAssociationBlock</message>
+ <description>%inv_ConnectorPropertyTypedByAssociationBlock</description>
+ </constraint>
+
+ <constraint id="constraint.bindingconnector.sameendstype" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="bindingconnector.sameendstype"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.BindingConnectorSameEndsTypeModelConstraint">
+ <message>%inv_BindingConnectorSameEndsType</message>
+ <description>%inv_BindingConnectorSameEndsType</description>
+ </constraint>
+
+
+ <constraint id="constraint.participantproperty.endmultiplicity" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.endmultiplicity"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertyEndMultiplicityModelConstraint">
+ <message>%inv_ParticipantPropertyEndMultiplicity</message>
+ <description>%inv_ParticipantPropertyEndMultiplicity</description>
+ </constraint>
+
+ <constraint id="constraint.participantproperty.noassociationmemberends" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.noassociationmemberends"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertyNoAssociationMemberEndsModelConstraint">
+ <message>%inv_ParticipantPropertyNoAssociationMemberEnds</message>
+ <description>%inv_ParticipantPropertyNoAssociationMemberEnds</description>
+ </constraint>
+
+ <constraint id="constraint.participantproperty.onlyassociationblock" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.onlyassociationblock"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertyOnlyAssociationBlockModelConstraint">
+ <message>%inv_ParticipantPropertyOnlyAssociationBlock</message>
+ <description>%inv_ParticipantPropertyOnlyAssociationBlock</description>
+ </constraint>
+
+ <constraint id="constraint.participantproperty.onlynoneaggregation" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.onlynoneaggregation"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertyOnlyNoneAggregationModelConstraint">
+ <message>%inv_ParticipantPropertyOnlyNoneAggregation</message>
+ <description>%inv_ParticipantPropertyOnlyNoneAggregation</description>
+ </constraint>
+
+ <constraint id="constraint.participantproperty.sameend" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.sameend"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertySameEndModelConstraint">
+ <message>%inv_ParticipantPropertySameEnd</message>
+ <description>%inv_ParticipantPropertySameEnd</description>
+ </constraint>
+
+ <constraint id="constraint.participantproperty.sametype" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="participantproperty.sametype"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ParticipantPropertySameTypeModelConstraint">
+ <message>%inv_ParticipantPropertySameType</message>
+ <description>%inv_ParticipantPropertySameType</description>
+ </constraint>
+
+ <constraint id="constraint.valuetype.unit" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="valuetype.unit"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ValueTypeUnitModelConstraint">
+ <message>%inv_ValueTypeUnit</message>
+ <description>%inv_ValueTypeUnit</description>
+ </constraint>
+
+ <constraint id="constraint.valuetype.quantitykind" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="valuetype.quantitykind"
+ class="org.eclipse.papyrus.sysml16.validation.rules.blocks.ValueTypeQuantityKindModelConstraint">
+ <message>%inv_ValueTypeQuantityKind</message>
+ <description>%inv_ValueTypeQuantityKind</description>
+ </constraint>
+
+ </constraints>
+ </constraintProvider>
+ <constraintProvider
+ cache="false"
+ mode="Batch">
+ <package
+ namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks">
+ </package>
+ <constraints
+ categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.constraintblocks.ConstraintBlockCompositeModelConstraint"
+ id="constraint.constraintblock.composite"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="constraintblock.composite"
+ severity="ERROR"
+ statusCode="3">
+ %ocl_RequirementEmptyOwnedAttribute
+ <message>
+ %inv_ConstraintBlockComposite
+ </message>
+ <description>
+ %inv_ConstraintBlockComposite
+ </description>
+ </constraint>
+ </constraints>
+ </constraintProvider>
+
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"/>
+ <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+
+ <constraint id="constraint.view.singleviewpoint" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="view.singleviewpoint"
+ class="org.eclipse.papyrus.sysml16.validation.rules.modelelements.ViewSingleViewpointModelConstraint">
+ <message>%inv_ViewSingleViewpoint</message>
+ <description>%inv_ViewSingleViewpoint</description>
+ </constraint>
+
+ <constraint id="constraint.viewpoint.ownedview" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="viewpoint.ownedview"
+ class="org.eclipse.papyrus.sysml16.validation.rules.modelelements.ViewpointOwnedViewModelConstraint">
+ <message>%inv_ViewpointOwnedView</message>
+ <description>%inv_ViewpointOwnedView</description>
+ </constraint>
+
+ <constraint id="constraint.expose.clientview" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="expose.clientview"
+ class="org.eclipse.papyrus.sysml16.validation.rules.modelelements.ExposeClientStereotypedByViewModelConstraint">
+ <message>%inv_ExposeClientStereotypedByView</message>
+ <description>%inv_ExposeClientStereotypedByView</description>
+ </constraint>
+
+ <constraint id="constraint.conform.generalviewpoint" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="conform.generalviewpoint">
+ <message>%inv_ConformGeneralClassifierViewpoint</message>
+ <description>%inv_ConformGeneralClassifierViewpoint</description>
+ <![CDATA[%ocl_ConformGeneralClassifierViewpoint]]>
+ </constraint>
+
+ <constraint id="constraint.conform.specificview" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="conform.specificview">
+ <message>%inv_ConformSpecificClassifierView</message>
+ <description>%inv_ConformSpecificClassifierView</description>
+ <![CDATA[%ocl_ConformSpecificClassifierView]]>
+ </constraint>
+
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.modelelements.StakeholderNotAssociationModelConstraint"
+ id="constraint.stakeholder.notassociation"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="stakeholder.notassociation"
+ severity="ERROR"
+ statusCode="3">
+ <message>%inv_StakeholderNotAssociation</message>
+ <description>%inv_StakeholderNotAssociation</description>
+ </constraint>
+
+ </constraints>
+ </constraintProvider>
+
+
+ <constraintProvider cache="false" mode="Batch">
+ <package namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"/>
+ <constraints categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+
+
+ <!--constraint id="constraint.itemflow.sourceandtargetlinked" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.sourceandtargetlinked">
+ <message>%inv_ItemFlowSourceAndTargetLinked</message>
+ <description>%inv_ItemFlowSourceAndTargetLinked</description>
+ <![CDATA[%ocl_ItemFlowSourceAndTargetLinked]]>
+ </constraint-->
+
+ <constraint id="constraint.itemflow.propertytypedby" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.propertytypedby"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ItemFlowSamePropertyTypedByModelConstraint">
+ <message>%inv_ItemFlowSamePropertyTypedBy</message>
+ <description>%inv_ItemFlowSamePropertyTypedBy</description>
+ </constraint>
+
+ <!--constraint id="constraint.itemflow.itempropertycommonowner" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.itempropertycommonowner">
+ <message>%inv_ItemFlowItemPropertyCommonOwner</message>
+ <description>%inv_ItemFlowItemPropertyCommonOwner</description>
+ <![CDATA[%ocl_ItemFlowItemPropertyCommonOwner]]>
+ </constraint-->
+
+ <constraint id="constraint.itemflow.associationxoritemproperty" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.associationxoritemproperty">
+ <message>%inv_ItemFlowAssociationXorItemProperty</message>
+ <description>%inv_ItemFlowAssociationXorItemProperty</description>
+ <![CDATA[%ocl_ItemFlowAssociationXorItemProperty]]>
+ </constraint>
+
+ <constraint id="constraint.itemflow.sametype" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="constraint.itemflow.sametype">
+ <message>%inv_ItemFlowSameType</message>
+ <description>%inv_ItemFlowSameType</description>
+ <![CDATA[%ocl_ItemFlowSameType]]>
+ </constraint>
+
+ <constraint id="constraint.itemflow.sameproperty" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="itemflow.sameproperty"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ItemFlowSamePropertyNameModelConstraint">
+ <message>%inv_ItemFlowSamePropertyName</message>
+ <description>%inv_ItemFlowSamePropertyName</description>
+ </constraint>
+
+ <constraint id="constraint.invocationonnestedportaction.requiredonport" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="invocationonnestedport.requiredonport"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InvocationOnNestedPortActionRequiredOnPortModelConstraint">
+ <message>%inv_InvocationOnNestedPortActionRequiredOnPort</message>
+ <description>%inv_InvocationOnNestedPortActionRequiredOnPort</description>
+ </constraint>
+
+ <constraint id="constraint.invocationonnestedportaction.pathconsistency" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="invocationonnestedportaction.pathconsistency"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InvocationOnNestedPortActionPathConsistencyModelConstraint">
+ <message>%inv_InvocationOnNestedPortActionPathConsistency</message>
+ <description>%inv_InvocationOnNestedPortActionPathConsistency</description>
+ </constraint>
+
+ <constraint id="constraint.invocationonnestedportaction.onnestedportfirstownedbytargettype" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="invocationonnestedportaction.onnestedportfirstownedbytargettype">
+ <message>%inv_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType</message>
+ <description>%inv_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType</description>
+ <![CDATA[%ocl_InvocationOnNestedPortActionOnNestedPortFirstOwnedByTargetType]]>
+ </constraint>
+
+ <constraint id="constraint.invocationonnestedportaction.onnestedportlasttypeownsinvocationonport" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="invocationonnestedportaction.onnestedportlasttypeownsinvocationonport">
+ <message>%inv_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort</message>
+ <description>%inv_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort</description>
+ <![CDATA[%ocl_InvocationOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort]]>
+ </constraint>
+
+ <constraint id="constraint.directedfeature.onlybehavioral" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="directedfeature.onlybehavioral"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.DirectedFeatureOnlyBehavioralModelConstraint">
+ <message>%inv_DirectedFeatureOnlyBehavioral</message>
+ <description>%inv_DirectedFeatureOnlyBehavioral</description>
+ </constraint>
+
+ <constraint id="constraint.changestrucuralfeatureevent.notstatic" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="changestrucuralfeatureevent.notstatic"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ChangeStructuralFeatureEventNotStaticModelConstraint">
+ <message>%inv_ChangeStructuralFeatureEventNotStatic</message>
+ <description>%inv_ChangeStructuralFeatureEventNotStatic</description>
+ </constraint>
+
+
+ <constraint id="constraint.changestrucuralfeatureevent.onefeaturingclassifier" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="changestrucuralfeatureevent.onefeaturingclassifier"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint">
+ <message>%inv_ChangeStructuralFeatureEventOneFeaturingClassifier</message>
+ <description>%inv_ChangeStructuralFeatureEventOneFeaturingClassifier</description>
+ </constraint>
+
+ <constraint id="constraint.flowproperty.typedby" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="flowproperty.typedby"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.FlowPropertyTypedByModelConstraint">
+ <message>%inv_FlowPropertyTypedBy</message>
+ <description>%inv_FlowPropertyTypedBy</description>
+ </constraint>
+ <constraint id="constraint.fullport.notproxyport" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="fullport.notproxyport"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.FullPortNotProxyPortModelConstraint">
+ <message>%inv_FullPortNotProxyPort</message>
+ <description>%inv_FullPortNotProxyPort</description>
+ </constraint>
+ <constraint id="constraint.fullport.notboundtofullport" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="fullport.notboundtofullport">
+ <message>%inv_FullPortNotBoundToFullPort</message>
+ <description>%inv_FullPortNotBoundToFullPort</description>
+ <![CDATA[%ocl_FullPortNotBoundToFullPort]]>
+ </constraint>
+ <constraint id="constraint.fullport.notbehavioral" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="fullport.notbehavioral">
+ <message>%inv_FullPortNotBehavioral</message>
+ <description>%inv_FullPortNotBehavioral</description>
+ <![CDATA[%ocl_FullPortNotBehavioral]]>
+ </constraint>
+
+ <constraint id="constraint.proxyport.notfullport" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="proxyport.notfullport"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ProxyPortNotFullPortModelConstraint">
+ <message>%inv_ProxyPortNotFullPort</message>
+ <description>%inv_ProxyPortNotFullPort</description>
+ </constraint>
+ <constraint id="constraint.proxyport.typedinterfaceblock" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="proxyport.typedinterfaceblock"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ProxyPortTypedByInterfaceBlockModelConstraint">
+ <message>%inv_ProxyPortTypedByInterfaceBlock</message>
+ <description>%inv_ProxyPortTypedByInterfaceBlock</description>
+ </constraint>
+ <constraint id="constraint.proxyport.innerproxyport" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="proxyport.innerproxyport"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.ProxyPortForceInnerProxyPortModelConstraint">
+ <message>%inv_ProxyPortForceInnerProxyPort</message>
+ <description>%inv_ProxyPortForceInnerProxyPort</description>
+ </constraint>
+
+ <constraint id="constraint.triggeronnestedport.triggeronnestedportsingleproxyport" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="triggeronnestedport.triggeronnestedportsingleproxyport">
+ <message>%inv_TriggerOnNestedPortSingleProxyPort</message>
+ <description>%inv_TriggerOnNestedPortSingleProxyPort</description>
+ <![CDATA[%ocl_TriggerOnNestedPortSingleProxyPort]]>
+ </constraint>
+
+ <constraint id="constraint.triggeronnestedport.triggeronnestedportnofullport" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="triggeronnestedport.triggeronnestedportnofullport">
+ <message>%inv_TriggerOnNestedPortNoFullPort</message>
+ <description>%inv_TriggerOnNestedPortNoFullPort</description>
+ <![CDATA[%ocl_TriggerOnNestedPortNoFullPort]]>
+ </constraint>
+
+ <constraint id="constraint.triggeronnestedport.triggeronnestedportonnextedportfirstownedbycontext" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="triggeronnestedport.triggeronnestedportonnextedportfirstownedbycontext">
+ <message>%inv_TriggerOnNestedPortOnNextedPortFirstOwnedByContext</message>
+ <description>%inv_TriggerOnNestedPortOnNextedPortFirstOwnedByContext</description>
+ <![CDATA[%ocl_TriggerOnNestedPortOnNextedPortFirstOwnedByContext]]>
+ </constraint>
+
+ <constraint id="constraint.triggeronnestedport.triggeronnestedportpathconsistency" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="constraint.triggeronnestedport.triggeronnestedportpathconsistency"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.TriggerOnNestedPortPathConsistencyModelConstraint">
+ <message>%inv_TriggerOnNestedPortPathConsistency</message>
+ <description>%inv_TriggerOnNestedPortPathConsistency</description>
+ </constraint>
+
+ <!--constraint id="constraint.triggeronnestedport.triggeronnestedportonnestedportlasttypeownstriggerport" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="triggeronnestedport.triggeronnestedportonnestedportlasttypeownstriggerport">
+ <message>%inv_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort</message>
+ <description>%inv_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort</description>
+ <![CDATA[%ocl_TriggerOnNestedPortOnNestedPortLastTypeOwnsTriggerPort]]>
+ </constraint-->
+
+ <constraint id="constraint.interfaceblock.porttype" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="interfaceblock.porttype"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InterfaceBlockPortTypeModelConstraint">
+ <message>%inv_InterfaceBlockPortType</message>
+ <description>%inv_InterfaceBlockPortType</description>
+ </constraint>
+
+ <constraint id="constraint.interfaceblock.nobehavior" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="interfaceblock.nobehavior"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InterfaceBlockNoBehaviorConstraint">
+ <message>%inv_InterfaceBlockNoBehavior</message>
+ <description>%inv_InterfaceBlockNoBehavior</description>
+ </constraint>
+
+ <constraint id="constraint.interfaceblock.nocompositeproperty" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="interfaceblock.nocompositeproperty"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.InterfaceBlockNoCompositePropertyModelConstraint">
+ <message>%inv_InterfaceBlockNoCompositeProperty</message>
+ <description>%inv_InterfaceBlockNoCompositeProperty</description>
+ </constraint>
+
+ <constraint id="constraint.interfaceblock.isconguratednotused" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="interfaceblock.isconguratednotused">
+ <message>%inv_InterfaceBlockIsConjugatedNotUsed</message>
+ <description>%inv_InterfaceBlockIsConjugatedNotUsed</description>
+ <![CDATA[%ocl_InterfaceBlockIsConjugatedNotUsed]]>
+ </constraint>
+
+ <constraint id="constraint.conjugatedinterfaceblock.enforcedname" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="conjugatedinterfaceblock.enforcedname">
+ <message>%inv_ConjugatedInterfaceBlockEnforcedName</message>
+ <description>%inv_ConjugatedInterfaceBlockEnforcedName</description>
+ <![CDATA[%ocl_ConjugatedInterfaceBlockEnforcedName]]>
+ </constraint>
+
+ <constraint id="constraint.acceptchangestructuralfeatureeventaction.onetrigger" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="acceptchangestructuralfeatureeventaction.onetrigger">
+ <message>%inv_AcceptChangeStructuralFeatureEventActionOneTrigger</message>
+ <description>%inv_AcceptChangeStructuralFeatureEventActionOneTrigger</description>
+ <![CDATA[%ocl_AcceptChangeStructuralFeatureEventActionOneTrigger]]>
+ </constraint>
+
+ <constraint id="constraint.acceptchangestructuralfeatureeventaction.tworesultpin" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="acceptchangestructuralfeatureeventaction.tworesultpin">
+ <message>%inv_AcceptChangeStructuralFeatureEventActiontwoResultPin</message>
+ <description>%inv_AcceptChangeStructuralFeatureEventActiontwoResultPin</description>
+ <![CDATA[%ocl_AcceptChangeStructuralFeatureEventActiontwoResultPin]]>
+ </constraint>
+
+ <constraint id="constraint.acceptchangestructuralfeatureeventaction.contextownsstructuralfeature" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="acceptchangestructuralfeatureeventaction.contextownsstructuralfeature">
+ <message>%inv_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature</message>
+ <description>%inv_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature</description>
+ <![CDATA[%ocl_AcceptChangeStructuralFeatureEventActionContextOwnsStructuralFeature]]>
+ </constraint>
+
+ <constraint id="constraint.acceptchangestructuralfeatureeventaction.canaccessstructuralfeature" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="acceptchangestructuralfeatureeventaction.canaccessstructuralfeature">
+ <message>%inv_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature</message>
+ <description>%inv_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature</description>
+ <![CDATA[%ocl_AcceptChangeStructuralFeatureEventActionCanAccessStructuralFeature]]>
+ </constraint>
+
+ <constraint id="constraint.addflowpropertyvalueonnestedportaction.featureflowproperty" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="addflowpropertyvalueonnestedportaction.featureflowproperty">
+ <message>%inv_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty</message>
+ <description>%inv_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty</description>
+ <![CDATA[%ocl_AddFlowPropertyValueOnNestedPortActionFeatureFlowProperty]]>
+ </constraint>
+
+ <constraint id="constraint.addflowpropertyvalueonnestedportaction.onnestedportfirstownedbytargettype" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="addflowpropertyvalueonnestedportaction.onnestedportfirstownedbytargettype">
+ <message>%inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType</message>
+ <description>%inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType</description>
+ <![CDATA[%ocl_AddFlowPropertyValueOnNestedPortActionOnNestedPortFirstOwnedByTargetType]]>
+ </constraint>
+
+ <constraint id="constraint.addflowpropertyvalueonnestedportaction.pathconsistency" isEnabledByDefault="true" lang="Java" mode="Batch" severity="ERROR" statusCode="3" name="addflowpropertyvalueonnestedportaction.pathconsistency"
+ class="org.eclipse.papyrus.sysml16.validation.rules.portsandflows.AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint">
+ <message>%inv_AddFlowPropertyValueOnNestedPortActionPathConsistency</message>
+ <description>%inv_AddFlowPropertyValueOnNestedPortActionPathConsistency</description>
+ </constraint>
+
+ <constraint id="constraint.addflowpropertyvalueonnestedportaction.onnestedportlasttypeownsinvocationonport" isEnabledByDefault="true" lang="OCLpivot" mode="Batch" severity="ERROR" statusCode="3" name="addflowpropertyvalueonnestedportaction.onnestedportlasttypeownsinvocationonport">
+ <message>%inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort</message>
+ <description>%inv_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort</description>
+ <![CDATA[%ocl_AddFlowPropertyValueOnNestedPortActionOnNestedPortLastTypeOwnsInvocationOnPort]]>
+ </constraint>
+
+ </constraints>
+ </constraintProvider>
+ <constraintProvider
+ cache="false"
+ mode="Batch">
+ <package
+ namespaceUri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements">
+ </package>
+ <constraints
+ categories="org.eclipse.papyrus.sysml16.validation.category.optional">
+ <constraint
+ id="constraint.requirement.requireId"
+ isEnabledByDefault="true"
+ lang="OCLpivot"
+ mode="Batch"
+ name="requirement.requireId"
+ severity="WARNING"
+ statusCode="1">
+ %ocl_RequirementId
+ <message>
+ %inv_RequirementId
+ </message>
+ <description>
+ %inv_RequirementId
+ </description>
+ </constraint>
+ <constraint
+ id="constraint.requirement.requireText"
+ isEnabledByDefault="true"
+ lang="OCLpivot"
+ mode="Batch"
+ name="requirement.requireText"
+ severity="WARNING"
+ statusCode="1">
+ %ocl_RequirementText
+ <message>
+ %inv_RequirementText
+ </message>
+ <description>
+ %inv_RequirementText
+ </description>
+ </constraint>
+ </constraints>
+ <constraints
+ categories="org.eclipse.papyrus.sysml16.validation.category.normative">
+ <constraint
+ id="constraint.requirement.emptyownedattribute"
+ isEnabledByDefault="true"
+ lang="OCLpivot"
+ mode="Batch"
+ name="requirement.emptyownedattribute"
+ severity="ERROR"
+ statusCode="3">
+ %ocl_RequirementEmptyOwnedAttribute
+ <message>
+ %inv_RequirementEmptyOwnedAttribute
+ </message>
+ <description>
+ %inv_RequirementEmptyOwnedAttribute
+ </description>
+ </constraint>
+ <constraint
+ id="constraint.requirement.emptyownedoperation"
+ isEnabledByDefault="true"
+ lang="OCLpivot"
+ mode="Batch"
+ name="requirement.emptyownedoperation"
+ severity="ERROR"
+ statusCode="3">
+ %ocl_RequirementEmptyOwnedOperation
+ <message>
+ %inv_RequirementEmptyOwnedOperation
+ </message>
+ <description>
+ %inv_RequirementEmptyOwnedOperation
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RequirementNestedRequirementModelConstraint"
+ id="constraint.requirement.nestedrequirement"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="requirement.nestedrequirement"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_RequirementNestedRequirementModelConstraint
+ </message>
+ <description>
+ %inv_RequirementNestedRequirementModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RequirementNoAssociationModelConstraint"
+ id="constraint.requirement.noassociation"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="requirement.noassociation"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_RequirementNoAssociationModelConstraint
+ </message>
+ <description>
+ %inv_RequirementNoAssociationModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RequirementNoGeneralizationModelConstraint"
+ id="constraint.requirement.nogeneralization"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="requirement.nogeneralization"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_RequirementNoGeneralizationModelConstraint
+ </message>
+ <description>
+ %inv_RequirementNoGeneralizationModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RequirementNotTypeModelConstraint"
+ id="constraint.requirement.notype"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="requirement.notype"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_RequirementNotType
+ </message>
+ <description>
+ %inv_RequirementNotType
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.DeriveReqtClientModelConstraint"
+ id="constraint.derivereqt.client"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="derivereqt.client"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_DeriveReqtClientModelConstraint
+ </message>
+ <description>
+ %inv_DeriveReqtClientModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.DeriveReqtSupplierModelConstraint"
+ id="constraint.derivereqt.supplier"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="derivereqt.supplier"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_DeriveReqtSupplierModelConstraint
+ </message>
+ <description>
+ %inv_DeriveReqtSupplierModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.RefineOneClientSupplierModelConstraint"
+ id="constraint.refine.oneclientsupplier"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="refine.oneclientsupplier"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_RefineOneClientSupplierModelConstraint
+ </message>
+ <description>
+ %inv_RefineOneClientSupplierModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.VerifySupplierModelConstraint"
+ id="constraint.verify.supplier"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="verify.supplier"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_VerifySupplierModelConstraint
+ </message>
+ <description>
+ %inv_VerifySupplierModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.SatisfySupplierModelConstraint"
+ id="constraint.satisfy.supplier"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="satisfy.supplier"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_SatisfySupplierModelConstraint
+ </message>
+ <description>
+ %inv_SatisfySupplierModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.TraceDependencyModelConstraint"
+ id="constraint.trace.dependency"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="trace.dependency"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_TraceDependencyModelConstraint
+ </message>
+ <description>
+ %inv_TraceDependencyModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.CopyBetweenRequirementsModelConstraint"
+ id="constraint.copy.betweenrequirements"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="copy.betweenrequirements"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_CopyBetweenRequirementsModelConstraint
+ </message>
+ <description>
+ %inv_CopyBetweenRequirementsModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.CopyReadOnlyModelConstraint"
+ id="constraint.copy.readonly"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="copy.readonly"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_CopyReadOnlyModelConstraint
+ </message>
+ <description>
+ %inv_CopyReadOnlyModelConstraint
+ </description>
+ </constraint>
+ <constraint
+ class="org.eclipse.papyrus.sysml16.validation.rules.requirements.TestCaseParamVerdictKindModelConstraint"
+ id="constraint.testcase.parameterverdictkind"
+ isEnabledByDefault="true"
+ lang="Java"
+ mode="Batch"
+ name="testcase.parameterverdictkind"
+ severity="ERROR"
+ statusCode="3">
+ <message>
+ %inv_TestCaseParameterVerdictKindModelConstraint
+ </message>
+ <description>
+ %inv_TestCaseParameterVerdictKindModelConstraint
+ </description>
+ </constraint>
+ </constraints>
+ </constraintProvider>
+ </extension>
+ <extension name="org.eclipse.papyrus.sysml16.validation.constraintBindings" point="org.eclipse.emf.validation.constraintBindings">
+
+ <!-- UML fake context (should be replaced by filter see Bug 487500)-->
+ <clientContext id="TrueContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.TrueSelector"/>
+ </clientContext>
+ <binding context="TrueContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.property.asssociationend"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.associationBlock"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.specialization"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.propertynoname"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nestedConnectorEnd.missing"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.valuetype.specializationsarevaluetypes"/>
+ </binding>
+
+ <!-- Requirement Context -->
+ <clientContext id="CopyClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.CopySelector"/>
+ </clientContext>
+ <binding context="CopyClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.copy.betweenrequirements"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.copy.readonly"/>
+ </binding>
+ <clientContext id="DeriveReqtClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DeriveReqtSelector"/>
+ </clientContext>
+ <binding context="DeriveReqtClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.derivereqt.client"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.derivereqt.supplier"/>
+ </binding>
+ <clientContext id="RefineClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.RefineSelector"/>
+ </clientContext>
+ <binding context="RefineClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.refine.oneclientsupplier"/>
+ </binding>
+ <clientContext id="RequirementClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.RequirementSelector"/>
+ </clientContext>
+ <binding context="RequirementClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.requireId"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.requireText"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.emptyownedattribute"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.emptyownedoperation"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.nestedrequirement"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.noassociation"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.nogeneralization"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.requirement.notype"/>
+ </binding>
+ <clientContext id="TestCaseClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.TestCaseSelector"/>
+ </clientContext>
+ <binding context="TestCaseClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.testcase.parameterverdictkind"/>
+ </binding>
+ <clientContext id="SatisfyClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.SatisfySelector"/>
+ </clientContext>
+ <binding context="SatisfyClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.satisfy.supplier"/>
+ </binding>
+ <clientContext id="TraceClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.TraceSelector"/>
+ </clientContext>
+ <binding context="TraceClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.trace.dependency"/>
+ </binding>
+ <clientContext id="VerifyClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.VerifySelector"/>
+ </clientContext>
+ <binding context="VerifyClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.verify.supplier"/>
+ </binding>
+
+ <!-- Blocks context -->
+ <clientContext id="BoundReferenceContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.BoundReferenceSelector"/>
+ </clientContext>
+ <binding context="BoundReferenceContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.1"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.2"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.4"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.5"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.6"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.7"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.boundreference.8"/>
+ </binding>
+
+ <clientContext id="DirectedRelationshipPropertyPathContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DirectedRelationshipPropertyPathSelector"/>
+ </clientContext>
+ <binding context="DirectedRelationshipPropertyPathContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.requiresourcecontext"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.requiretargetcontext"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.sourcefirst"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.targetfirst"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.sourcelast"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.targetlast"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.sourcecontextifproperty"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.targetcontextifproperty"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.sourcepropertypathimpliesproperty"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedrelationshippropertypath.targetpropertypathimpliesproperty"/>
+ </binding>
+
+ <clientContext id="BlockContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.BlockSelector"/>
+ </clientContext>
+ <binding context="BlockContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.propertycomposite"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.block.connectortwoends"/>
+ </binding>
+
+ <clientContext id="ElementPropertyPathContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ElementPropertyPathSelector"/>
+ </clientContext>
+ <binding context="ElementPropertyPathContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.elementpropertypath.propertiesowner"/>
+ </binding>
+
+ <clientContext id="NestedConnectorEndClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.NestedConnectorEndSelector"/>
+ </clientContext>
+ <binding context="NestedConnectorEndClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nestedconnectorend.onlyconnectorends"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nestedconnectorend.lastproperty"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nestedconnectorend.firstproperty"/>
+ </binding>
+
+ <clientContext id="PropertySpecificTypeMissingNameClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.PropertySpecificTypeSelector"/>
+ </clientContext>
+ <binding context="PropertySpecificTypeMissingNameClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.propertyspecifictype.missingname"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.propertyspecifictype.uniqueproperty"/>
+ </binding>
+
+ <clientContext id="EndPathMultiplicityClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.EndPathMultiplicitySelector"/>
+ </clientContext>
+ <binding context="EndPathMultiplicityClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.endpathmultiplicity.boundreferenceproperty"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.endpathmultiplicity.notnegative"/>
+ </binding>
+
+ <clientContext id="DistributedPropertyClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DistributedPropertySelector"/>
+ </clientContext>
+ <binding context="DistributedPropertyClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.distributedproperty.typedby"/>
+ </binding>
+
+ <clientContext id="ClassifierBehaviorPropertyContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ClassifierBehaviorPropertySelector"/>
+ </clientContext>
+ <binding context="ClassifierBehaviorPropertyContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.classifierbehaviorproperty.onblock"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.classifierbehaviorproperty.iscomposite"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.classifierbehaviorproperty.typedby"/>
+ </binding>
+
+ <clientContext id="ConnectorPropertyClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ConnectorPropertySelector"/>
+ </clientContext>
+ <binding context="ConnectorPropertyClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.onlyonblock"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.onlycomposite"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.referownedconnector"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.samename"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.typedbyassociationblock"/>
+ </binding>
+
+ <clientContext id="BindingConnectorClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.BindingConnectorSelector"/>
+ </clientContext>
+ <binding context="BindingConnectorClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.bindingconnector.sameendstype"/>
+ </binding>
+
+ <clientContext id="ParticipantPropertyClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ParticipantPropertySelector"/>
+ </clientContext>
+ <binding context="ParticipantPropertyClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.endmultiplicity"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.noassociationmemberends"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.onlyassociationblock"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.onlynoneaggregation"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.sameend"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.participantproperty.sametype"/>
+ </binding>
+
+ <clientContext id="ValueTypeClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ValueTypeSelector"/>
+ </clientContext>
+ <binding context="ValueTypeClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.valuetype.unit"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.valuetype.quantitykind"/>
+ </binding>
+
+ <!-- ModelElements context -->
+ <clientContext id="ExposeClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ExposeSelector"/>
+ </clientContext>
+ <binding context="ExposeClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.expose.clientview"/>
+ </binding>
+ <clientContext id="ConformClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ConformSelector"/>
+ </clientContext>
+ <binding context="ConformClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.conform.generalviewpoint"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.conform.specificview"/>
+ </binding>
+ <clientContext id="StakeholderClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.StakeholderSelector"/>
+ </clientContext>
+ <binding context="StakeholderClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.stakeholder.notassociation"/>
+ </binding>
+
+ <clientContext id="ViewClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ViewSelector"/>
+ </clientContext>
+ <binding context="ViewClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.view.singleviewpoint"/>
+ </binding>
+
+ <clientContext id="ViewpointClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ViewpointSelector"/>
+ </clientContext>
+ <binding context="ViewpointClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.viewpoint.ownedview"/>
+ </binding>
+
+ <!-- Activities context -->
+ <clientContext id="OperationClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.OperationSelector"/>
+ </clientContext>
+ <binding context="OperationClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.operation.controloperator.parameterscontrolvalue"/>
+ </binding>
+
+ <clientContext id="BehaviorClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.BehaviorSelector"/>
+ </clientContext>
+ <binding context="BehaviorClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.behavior.controloperator.parameterscontrolvalue"/>
+ </binding>
+
+ <clientContext id="ControlOperatorClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ControlOperatorSelector"/>
+ </clientContext>
+ <binding context="ControlOperatorClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.controloperator.operationmethod"/>
+ </binding>
+
+ <clientContext id="OptionalClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.OptionalSelector"/>
+ </clientContext>
+ <binding context="OptionalClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.optional.multiplicity"/>
+ </binding>
+
+ <clientContext id="DiscreteClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DiscreteSelector"/>
+ </clientContext>
+ <binding context="DiscreteClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.discrete.nocontinuous"/>
+ </binding>
+
+ <clientContext id="NoBufferClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.NoBufferSelector"/>
+ </clientContext>
+ <binding context="NoBufferClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.nobuffer.nooverwrite"/>
+ </binding>
+
+ <clientContext id="OverwriteClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.OverwriteSelector"/>
+ </clientContext>
+ <binding context="OverwriteClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.overwrite.nonobuffer"/>
+ </binding>
+
+ <clientContext id="RateClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.RateSelector"/>
+ </clientContext>
+ <binding context="RateClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.rate.parameterisstream"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.rate.parameterlessinout"/>
+ </binding>
+
+ <clientContext id="ProbabilityClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ProbabilitySelector"/>
+ </clientContext>
+ <binding context="ProbabilityClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.probability.alledges"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.probability.baseelement"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.probability.outputparameters"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.probability.allparameterset"/>
+ </binding>
+
+ <!-- Alocations context -->
+ <clientContext id="AllocateClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.AllocateSelector"/>
+ </clientContext>
+ <binding context="AllocateClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.allocate.oneclientsupplier"/>
+ </binding>
+
+ <clientContext id="AllocateActivityPartitionClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.AllocateActivityPartitionSelector"/>
+ </clientContext>
+ <binding context="AllocateActivityPartitionClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.allocateactivitypartition.actionsonclientends"/>
+ </binding>
+
+ <!-- Ports and Flows -->
+ <clientContext id="ItemFlowClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ItemFlowSelector"/>
+ </clientContext>
+ <binding context="ItemFlowClientContext">
+ <!--constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.sourceandtargetlinked"/-->
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.propertytypedby"/>
+ <!--constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.itempropertycommonowner"/-->
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.associationxoritemproperty"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.sametype"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.itemflow.sameproperty"/>
+ </binding>
+
+ <clientContext id="InvocationOnNestedPortActionClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.InvocationOnNestedPortActionSelector"/>
+ </clientContext>
+ <binding context="InvocationOnNestedPortActionClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.invocationonnestedportaction.requiredonport"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.invocationonnestedportaction.pathconsistency"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.invocationonnestedportaction.onnestedportfirstownedbytargettype"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.invocationonnestedportaction.onnestedportlasttypeownsinvocationonport"/>
+ </binding>
+
+ <clientContext id="DirectedFeatureClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.DirectedFeatureSelector"/>
+ </clientContext>
+ <binding context="DirectedFeatureClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.directedfeature.onlybehavioral"/>
+ </binding>
+
+ <clientContext id="ChangeStructuralFeatureEventClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ChangeStructuralFeatureEventSelector"/>
+ </clientContext>
+ <binding context="ChangeStructuralFeatureEventClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.changestrucuralfeatureevent.onefeaturingclassifier"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.changestrucuralfeatureevent.notstatic"/>
+ </binding>
+
+ <clientContext id="ChangeStructuralFeatureEventClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ChangeStructuralFeatureEventSelector"/>
+ </clientContext>
+ <binding context="ChangeStructuralFeatureEventClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.changestrucuralfeatureevent.onefeaturingclassifier"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.changestrucuralfeatureevent.notstatic"/>
+ </binding>
+
+ <clientContext id="FlowPropertyClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.FlowPropertySelector"/>
+ </clientContext>
+ <binding context="FlowPropertyClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.flowproperty.typedby"/>
+ </binding>
+
+ <clientContext id="FullPortClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.FullPortSelector"/>
+ </clientContext>
+ <binding context="FullPortClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.fullport.notproxyport"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.fullport.notboundtofullport"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.fullport.notbehavioral"/>
+ </binding>
+
+ <clientContext id="InterfaceBlockClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.InterfaceBlockSelector"/>
+ </clientContext>
+ <binding context="InterfaceBlockClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.interfaceblock.porttype"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.interfaceblock.nobehavior"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.interfaceblock.nocompositeproperty"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.interfaceblock.isconguratednotused"/>
+ </binding>
+
+ <clientContext id="ConjugatedInterfaceBlockClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ConjugatedInterfaceBlockSelector"/>
+ </clientContext>
+ <binding context="ConjugatedInterfaceBlockClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.conjugatedinterfaceblock.enforcedname"/>
+ </binding>
+
+ <clientContext id="AcceptChangeStructuralFeatureEventActionClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.AcceptChangeStructuralFeatureEventActionSelector"/>
+ </clientContext>
+ <binding context="AcceptChangeStructuralFeatureEventActionClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.acceptchangestructuralfeatureeventaction.onetrigger"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.acceptchangestructuralfeatureeventaction.tworesultpin"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.acceptchangestructuralfeatureeventaction.contextownsstructuralfeature"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.acceptchangestructuralfeatureeventaction.canaccessstructuralfeature"/>
+ </binding>
+
+ <clientContext id="AddFlowPropertyValueOnNestedPortActionClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.AddFlowPropertyValueOnNestedPortActionSelector"/>
+ </clientContext>
+ <binding context="AddFlowPropertyValueOnNestedPortActionClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.addflowpropertyvalueonnestedportaction.featureflowproperty"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.addflowpropertyvalueonnestedportaction.onnestedportfirstownedbytargettype"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.addflowpropertyvalueonnestedportaction.pathconsistency"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.addflowpropertyvalueonnestedportaction.onnestedportlasttypeownsinvocationonport"/>
+ </binding>
+
+ <clientContext id="ProxyPortClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ProxyPortSelector"/>
+ </clientContext>
+ <binding context="ProxyPortClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.proxyport.notfullport"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.proxyport.typedinterfaceblock"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.proxyport.innerproxyport"/>
+ </binding>
+
+ <clientContext id="TriggerOnNestedPortClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.TriggerOnNestedPortSelector"/>
+ </clientContext>
+ <binding context="TriggerOnNestedPortClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportsingleproxyport"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportnofullport"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportonnextedportfirstownedbycontext"/>
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportpathconsistency"/>
+ <!--constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.triggeronnestedport.triggeronnestedportonnestedportlasttypeownstriggerport"/-->
+ </binding>
+
+ <!-- ContraintBlocks -->
+ <clientContext id="ConstraintBlockClientContext">
+ <selector class="org.eclipse.papyrus.sysml16.validation.selectors.ConstraintBlockSelector"/>
+ </clientContext>
+ <binding context="ConstraintBlockClientContext">
+ <constraint ref="org.eclipse.papyrus.sysml16.validation.constraint.constraintblock.composite"/>
+ </binding>
+ </extension>
+</plugin>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/pom.xml b/plugins/core/org.eclipse.papyrus.sysml16.validation/pom.xml
new file mode 100644
index 0000000..9c600a6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/pom.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.sysml16.core</artifactId>
+ <groupId>org.eclipse.papyrus.sysml</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.sysml16.validation</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <name>org.eclipse.papyrus.sysml16.validation</name>
+ <description>This plug-in contains the tooling to validate ocl rules on SysML 1.6 models.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/Activator.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/Activator.java
new file mode 100644
index 0000000..1945b09
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/Activator.java
@@ -0,0 +1,107 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.osgi.framework.BundleContext;
+
+/**
+ * The activator class controls the plug-in life cycle.
+ */
+public class Activator extends AbstractUIPlugin {
+
+ /**
+ * The plug-in ID.
+ */
+ public static final String PLUGIN_ID = "org.eclipse.papyrus.sysml16.validation"; //$NON-NLS-1$
+
+ /**
+ * The shared instance.
+ */
+ private static Activator plugin;
+
+ /**
+ * The constructor.
+ */
+ public Activator() {
+ // Do nothing
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void start(final BundleContext context) throws Exception {
+ super.start(context);
+ plugin = this;
+ }
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext)
+ */
+ @Override
+ public void stop(final BundleContext context) throws Exception {
+ plugin = null;
+ super.stop(context);
+ }
+
+ /**
+ * Returns the shared instance.
+ *
+ * @return the shared instance.
+ */
+ public static Activator getDefault() {
+ return plugin;
+ }
+
+ /**
+ * Log the status.
+ *
+ * @param status
+ * The status.
+ */
+ public static void log(final IStatus status) {
+ Activator.getDefault().getLog().log(status);
+ }
+
+ /**
+ * Log the message.
+ *
+ * @param severity
+ * The severity.
+ * @param message
+ * The message to log.
+ */
+ public static void log(final int severity, final String message) {
+ log(new Status(severity, PLUGIN_ID, message));
+ }
+
+ /**
+ * Log the exception.
+ *
+ * @param throwable
+ * The error to log.
+ */
+ public static void log(final Throwable throwable) {
+ log(new Status(IStatus.ERROR, PLUGIN_ID, "An exception occured", throwable)); //$NON-NLS-1$
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/internal/utils/DiagnosticUtil.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/internal/utils/DiagnosticUtil.java
new file mode 100644
index 0000000..4f4686d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/internal/utils/DiagnosticUtil.java
@@ -0,0 +1,75 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.internal.utils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Diagnostic;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * This is an utility class for managing Diagnostic
+ */
+// TODO : this functionalities should be provided by Papyrus core or other upper framework
+public final class DiagnosticUtil {
+
+ private DiagnosticUtil() {
+ }
+
+ /**
+ * Find diagnostic by source (Should be unique per element if the source is correctly defined)
+ *
+ * @param diagnostic
+ * @param source
+ * @return
+ */
+ public static List<Diagnostic> findDiagnosticBySource(Diagnostic diagnostic, String source) {
+ List<Diagnostic> foundDiagnostic = new ArrayList<>();
+ List<Diagnostic> children = diagnostic.getChildren();
+ if (source.equals(diagnostic.getSource())) {
+ foundDiagnostic.add(diagnostic);
+ }
+ if (children != null && !children.isEmpty()) {
+ for (Diagnostic diagnosticChild : children) {
+ foundDiagnostic.addAll(findDiagnosticBySource(diagnosticChild, source));
+ }
+ }
+ return foundDiagnostic;
+ }
+
+ /**
+ * Get diagnostics by element
+ *
+ * @param diagnostics
+ * @param element
+ * @return
+ */
+ public static List<Diagnostic> filterDiagnosticsByElement(List<Diagnostic> diagnostics, Element element) {
+ List<Diagnostic> filteredDiagnostics = new ArrayList<>();
+ for (Diagnostic diagnostic : diagnostics) {
+ List<?> datas = diagnostic.getData();
+ if (datas != null && !datas.isEmpty()) {
+ // According to Diagnostic#getData documentation : The first element is typically the object that is the primary source of the problem;
+ if (element.equals(datas.get(0))) {
+ filteredDiagnostics.add(diagnostic);
+ }
+ }
+ }
+ return filteredDiagnostics;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/ConsumerElementMarkerResolution.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/ConsumerElementMarkerResolution.java
new file mode 100644
index 0000000..a9f8a61
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/ConsumerElementMarkerResolution.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.quickfix;
+
+import java.util.function.Consumer;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.common.util.URI;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RecordingCommand;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.papyrus.infra.core.resource.ModelSet;
+import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.emf.utils.ServiceUtilsForEObject;
+import org.eclipse.papyrus.infra.ui.util.ServiceUtilsForHandlers;
+import org.eclipse.papyrus.sysml16.validation.Activator;
+import org.eclipse.ui.IMarkerResolution;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * A generic class to solve a problem with an UML element consumer very handy for simple use case.
+ */
+public class ConsumerElementMarkerResolution<T extends Element> implements IMarkerResolution {
+
+ private String label;
+ private Consumer<T> consumer;
+
+ public ConsumerElementMarkerResolution(String label, Consumer<T> consumer) {
+ this.label = label;
+ this.consumer = consumer;
+ }
+
+ public String getLabel() {
+ return label;
+ }
+
+ public void run(IMarker marker) {
+ try {
+ Object uri = marker.getAttribute("uri");
+ if (uri instanceof String) {
+ ModelSet currentModelSet = ServiceUtilsForHandlers.getInstance().getModelSet(null);
+ EObject eObject = currentModelSet.getEObject(URI.createURI((String) uri), true);
+ if (eObject instanceof Element) {
+ Element element = (Element) eObject;
+ InternalTransactionalEditingDomain transactionalEditingDomain = (InternalTransactionalEditingDomain) ServiceUtilsForEObject
+ .getInstance().getTransactionalEditingDomain(element);
+ RecordingCommand unapplyStereotypeCommand = new RecordingCommand(transactionalEditingDomain,
+ label) {
+
+ @SuppressWarnings("unchecked")
+ @Override
+ protected void doExecute() {
+ try {
+ consumer.accept((T) element);
+ } catch (ClassCastException e) {
+ Activator.log(e); // When using generic ensure that the referenced element can be cast
+ }
+
+ }
+ };
+ transactionalEditingDomain.getCommandStack().execute(unapplyStereotypeCommand);
+ marker.delete();
+ }
+ }
+ } catch (ServiceException | CoreException e) {
+ Activator.log(e);
+ }
+ }
+}
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/SysMLMarkerResolutionGenerator.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/SysMLMarkerResolutionGenerator.java
new file mode 100644
index 0000000..52dbf06
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/quickfix/SysMLMarkerResolutionGenerator.java
@@ -0,0 +1,138 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.quickfix;
+
+import java.util.Optional;
+import java.util.Set;
+
+import org.eclipse.core.resources.IMarker;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.gmf.runtime.emf.core.util.CrossReferenceAdapter;
+import org.eclipse.ui.IMarkerResolution;
+import org.eclipse.ui.IMarkerResolutionGenerator;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.UMLFactory;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * Provide the list of specific solutions for problems related to SysML 1.6.
+ */
+public class SysMLMarkerResolutionGenerator implements IMarkerResolutionGenerator {
+
+ public IMarkerResolution[] getResolutions(IMarker mk) {
+ try {
+
+ Object source = mk.getAttribute("source");
+ if (source instanceof String) {
+ switch ((String) source) {
+ case "org.eclipse.papyrus.sysml16.validation.constraint.discrete.nocontinuous": // See DiscreteNoContinuousModelConstraint
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Element>("Unapply stereotype Continuous", element -> element.unapplyStereotype(element.getAppliedStereotype("SysML::Activities::Continuous"))),
+ new ConsumerElementMarkerResolution<Element>("Unapply stereotype Discrete", element -> element.unapplyStereotype(element.getAppliedStereotype("SysML::Activities::Discrete"))),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.requirement.emptyownedattribute":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Element>("Remove all attributes from Requirement", element -> element.getOwnedElements().forEach(Element::destroy)),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.verify.supplier":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Element>("Delete element", Element::destroy),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.rate.parameterisstream":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Parameter>("Set stream to true", parameter -> parameter.setIsStream(true)),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.block.specialization":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Element>("Apply Block stereotype", element -> element.applyStereotype(element.getApplicableStereotype("SysML::Blocks::Block"))),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.propertyspecifictype.missingname":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Classifier>("Empty classifier name", classifier -> classifier.setName(null)),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.requirement.nogeneralization":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Class>("Destroy the generalisation", clazz -> clazz.getGeneralizations().forEach(Element::destroy)),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.connectorproperty.onlyonblock":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Property>("Apply Block stereotype on owner", property -> property.getOwner().applyStereotype(property.getOwner().getApplicableStereotype("SysML::Blocks::Block"))),
+ };
+
+ case "org.eclipse.papyrus.sysml16.validation.constraint.requirement.notype":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<org.eclipse.uml2.uml.Class>("Remove type",
+ clazz -> {
+ CrossReferenceAdapter crossReferenceAdapter = CrossReferenceAdapter.getCrossReferenceAdapter(TransactionUtil.getEditingDomain(clazz).getResourceSet());
+ Set<?> inverseReferencers = crossReferenceAdapter.getInverseReferencers(clazz, UMLPackage.eINSTANCE.getTypedElement_Type(), null);
+ if (inverseReferencers != null && !inverseReferencers.isEmpty()) {
+ for (Object object : inverseReferencers) {
+ if (object instanceof Property) {
+ ((Property) object).setType(null);
+ }
+ }
+ }
+ }),
+ new ConsumerElementMarkerResolution<org.eclipse.uml2.uml.Class>("Unapply stereotype Requirement", clazz -> clazz.unapplyStereotype(clazz.getAppliedStereotype("SysML::Requirements::Requirement"))),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.distributedproperty.typedby":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Property>("Apply Block stereotype on owner",
+ property -> Optional.ofNullable(property.getOwner().getApplicableStereotype("SysML::Blocks::Block")).ifPresent(applicableStereotype -> property.getOwner().applyStereotype(applicableStereotype))),
+ new ConsumerElementMarkerResolution<Property>("Apply ValueType stereotype on owner",
+ property -> Optional.ofNullable(property.getOwner().getApplicableStereotype("SysML::Blocks::ValueType")).ifPresent(applicableStereotype -> property.getOwner().applyStereotype(applicableStereotype))),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.viewpoint.ownedview":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<org.eclipse.uml2.uml.Class>("Create View operation", clazz -> {
+ Operation operation = clazz.createOwnedOperation("View", null, null);
+ operation.applyStereotype(operation.getApplicableStereotype("StandardProfile::Create"));
+ }),
+ };
+ case "org.eclipse.papyrus.sysml16.validation.constraint.block.property.asssociationend":
+ return new IMarkerResolution[] {
+ new ConsumerElementMarkerResolution<Property>("Create association for Property",
+ property -> {
+ Association association = UMLFactory.eINSTANCE.createAssociation();
+ association.setPackage(property.getNearestPackage());
+ association.getMemberEnds().add(property);
+ Property targetProperty = UMLFactory.eINSTANCE.createProperty();
+ targetProperty.setType(property.getClass_());
+ association.getOwnedEnds().add(targetProperty);
+ association.getMemberEnds().add(targetProperty);
+ property.setAggregation(AggregationKind.COMPOSITE_LITERAL);
+ }),
+ };
+ default:
+ // TODO: when most quick fixes are done set a logger
+ // mk.getAttributes().forEach((k, v) -> System.out.println("(" + k + " , " + v + ")"));
+ break;
+ }
+ }
+ } catch (CoreException e) { // missing source of error => no resolution available
+ return new IMarkerResolution[0];
+ }
+ return new IMarkerResolution[0];
+ }
+}
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/BehaviorParametersControlValueModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/BehaviorParametersControlValueModelConstraint.java
new file mode 100644
index 0000000..e13f5cb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/BehaviorParametersControlValueModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 11.3.2.2 ControlOperator [1] When the <<ControlOperator>> stereotype is applied, the behavior or operation shall have at least one
+ * parameter typed by ControlValue. If the stereotype is not applied, the behavior or operation may not
+ * have any parameter typed by ControlValue.
+ */
+public class BehaviorParametersControlValueModelConstraint extends AbstractModelConstraint {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(final IValidationContext context) {
+ final Behavior behavior = (Behavior) context.getTarget();
+
+ // Check if the ControlOperator stereotype is applied on the behavior
+ boolean hasControlOperatorStereotype = false;
+ final Iterator<EObject> stereotypeApplications = behavior.getStereotypeApplications().iterator();
+ while (stereotypeApplications.hasNext() && !hasControlOperatorStereotype) {
+ hasControlOperatorStereotype = stereotypeApplications.next() instanceof ControlOperator;
+ }
+
+ // Check the constraint
+ for (final Parameter parameter : behavior.getOwnedParameters()) {
+ final Type type = parameter.getType();
+ if (null != type && type.getQualifiedName().equals("Libraries::ControlValues::ControlValueKind")) { //$NON-NLS-1$
+ return hasControlOperatorStereotype ? context.createSuccessStatus() : context.createFailureStatus(context.getTarget());
+ }
+ }
+
+ return hasControlOperatorStereotype ? context.createFailureStatus(context.getTarget()) : context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ControlOperatorOperationMethodModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ControlOperatorOperationMethodModelConstraint.java
new file mode 100644
index 0000000..d57d14f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ControlOperatorOperationMethodModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.2 ControlOperator [2] A behavior shall have the <<ControlOperator>> stereotype applied if it is a method of an operation that
+ * has the <<ControlOperator>> stereotype applied.
+ */
+public class ControlOperatorOperationMethodModelConstraint extends AbstractModelConstraint {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(final IValidationContext context) {
+ final ControlOperator controlOperator = (ControlOperator) context.getTarget();
+ final Operation operation = controlOperator.getBase_Operation();
+
+ if (null != operation) {
+ for (final Behavior behavior : operation.getMethods()) {
+ if (null == UMLUtil.getStereotypeApplication(behavior, ControlOperator.class)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/DiscreteNoContinuousModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/DiscreteNoContinuousModelConstraint.java
new file mode 100644
index 0000000..edcaaa0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/DiscreteNoContinuousModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Continuous;
+import org.eclipse.papyrus.sysml16.activities.Discrete;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.3 Discrete [1] The «discrete» and «continuous» stereotypes cannot be
+ * applied to the same element at the same time.
+ */
+public class DiscreteNoContinuousModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Discrete discrete = (Discrete) context.getTarget();
+
+ Parameter parameter = discrete.getBase_Parameter();
+ if (parameter != null && UMLUtil.getStereotypeApplication(parameter, Continuous.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+
+ ObjectNode objectNode = discrete.getBase_ObjectNode();
+ if (objectNode != null && UMLUtil.getStereotypeApplication(objectNode, Continuous.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+
+ ActivityEdge activityEdge = discrete.getBase_ActivityEdge();
+ if (activityEdge != null && UMLUtil.getStereotypeApplication(activityEdge, Continuous.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/OperationParametersControlValueModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/OperationParametersControlValueModelConstraint.java
new file mode 100644
index 0000000..14ed397
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/OperationParametersControlValueModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 11.3.2.2 ControlOperator [1] When the <<ControlOperator>> stereotype is applied, the behavior or operation shall have at least one
+ * parameter typed by ControlValue. If the stereotype is not applied, the behavior or operation may not
+ * have any parameter typed by ControlValue.
+ */
+public class OperationParametersControlValueModelConstraint extends AbstractModelConstraint {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(final IValidationContext context) {
+ final Operation operation = (Operation) context.getTarget();
+
+ // Check if the ControlOperator stereotype is applied on the operation
+ boolean hasControlOperatorStereotype = false;
+ final Iterator<EObject> stereotypeApplications = operation.getStereotypeApplications().iterator();
+ while (stereotypeApplications.hasNext() && !hasControlOperatorStereotype) {
+ hasControlOperatorStereotype = stereotypeApplications.next() instanceof ControlOperator;
+ }
+
+ // Check the constraint
+ for (final Parameter parameter : operation.getOwnedParameters()) {
+ final Type type = parameter.getType();
+ if (null != type && type.getQualifiedName().equals("Libraries::ControlValues::ControlValueKind")) { //$NON-NLS-1$
+ return hasControlOperatorStereotype ? context.createSuccessStatus() : context.createFailureStatus(context.getTarget());
+ }
+ }
+
+ return hasControlOperatorStereotype ? context.createFailureStatus(context.getTarget()) : context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityAllEdgesModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityAllEdgesModelConstraint.java
new file mode 100644
index 0000000..dfb9def
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityAllEdgesModelConstraint.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.7 Probability [2] When the «probability» stereotype is applied to an
+ * activity edge, then it must be applied to all edges coming out of the same
+ * source.
+ */
+public class ProbabilityAllEdgesModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Probability probability = (Probability) context.getTarget();
+ ActivityEdge activityEdge = probability.getBase_ActivityEdge();
+ if (activityEdge != null) {
+ ActivityNode source = activityEdge.getSource();
+ if (source != null) {
+ EList<ActivityEdge> outgoings = source.getOutgoings();
+ for (ActivityEdge outActivityEdge : outgoings) {
+ if (UMLUtil.getStereotypeApplication(outActivityEdge, Probability.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ if (!(source instanceof DecisionNode) && !(source instanceof ObjectNode)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityBaseElementModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityBaseElementModelConstraint.java
new file mode 100644
index 0000000..80e79e7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityBaseElementModelConstraint.java
@@ -0,0 +1,69 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.DecisionNode;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.ParameterSet;
+
+/**
+ * 11.3.2.7 Probability [1] The <<probability>> stereotype can only be applied to
+ * activity edges that have decision nodes or object nodes as sources, or to
+ * output parameter sets.
+ */
+public class ProbabilityBaseElementModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Probability probability = (Probability) context.getTarget();
+ ActivityEdge activityEdge = probability.getBase_ActivityEdge();
+ if (activityEdge != null) {
+ ActivityNode source = activityEdge.getSource();
+ if (!(source instanceof DecisionNode) && !(source instanceof ObjectNode)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ ParameterSet parameterSet = probability.getBase_ParameterSet();
+ // What is an output parameter set? (I chose all parameters are OUT)
+ if (parameterSet != null) {
+ EList<Parameter> parameters = parameterSet.getParameters();
+ for (Parameter parameter : parameters) {
+ if (!ParameterDirectionKind.OUT_LITERAL.equals(parameter.getDirection())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityOutputParametersModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityOutputParametersModelConstraint.java
new file mode 100644
index 0000000..214c32c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityOutputParametersModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterSet;
+
+/**
+ * 11.3.2.7 Probability [4] When the <<probability>> stereotype is applied to an
+ * output parameter set, all the output parameters shall be in some parameter
+ * set.
+ */
+public class ProbabilityOutputParametersModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Probability probability = (Probability) context.getTarget();
+ ParameterSet parameterSet = probability.getBase_ParameterSet();
+ // What is an output parameter set? (I chose all parameters are OUT)
+ if (parameterSet != null) {
+ EList<Parameter> parameters = parameterSet.getParameters();
+ for (Parameter parameter : parameters) {
+ EList<ParameterSet> parameterSets = parameter.getParameterSets();
+ if (parameterSets == null || parameterSets.isEmpty()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityToAllParameterSetModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityToAllParameterSetModelConstraint.java
new file mode 100644
index 0000000..f19924f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/ProbabilityToAllParameterSetModelConstraint.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.7 Probability [3] When the «probability» stereotype is applied to an
+ * output parameter set, it must also be applied to all the parameter sets of
+ * the behavior or operation owning the original parameter set.
+ */
+public class ProbabilityToAllParameterSetModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Probability probability = (Probability) context.getTarget();
+ ParameterSet parameterSet = probability.getBase_ParameterSet();
+ if (parameterSet != null) {
+ Element owner = parameterSet.getOwner();
+
+ // FIXME what is the link (constraint) to behavior or operation?
+ if (owner instanceof Behavior) {
+ Behavior behavior = (Behavior) owner;
+ EList<ParameterSet> ownedParameterSets = behavior.getOwnedParameterSets();
+ for (ParameterSet ownedParameterSet : ownedParameterSets) {
+ if (UMLUtil.getStereotypeApplication(ownedParameterSet, Probability.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ if (owner instanceof Operation) {
+ Operation operation = (Operation) owner;
+ EList<ParameterSet> ownedParameterSets = operation.getOwnedParameterSets();
+ for (ParameterSet ownedParameterSet : ownedParameterSets) {
+ if (UMLUtil.getStereotypeApplication(ownedParameterSet, Probability.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterIsStreamModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterIsStreamModelConstraint.java
new file mode 100644
index 0000000..19dc800
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterIsStreamModelConstraint.java
@@ -0,0 +1,46 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+import org.eclipse.uml2.uml.Parameter;
+
+
+/**
+ * 11.3.2.8 Rate (SysML 1.6)
+ * [1] When the «rate» stereotype is applied to a parameter, the parameter must be streaming.
+ */
+public class RateParameterIsStreamModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Rate rate = (Rate) context.getTarget();
+ Parameter parameter = rate.getBase_Parameter();
+ if (parameter != null && !parameter.isStream()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterLessInoutModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterLessInoutModelConstraint.java
new file mode 100644
index 0000000..e50c8a4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/activities/RateParameterLessInoutModelConstraint.java
@@ -0,0 +1,73 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.activities;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 11.3.2.8 Rate [2] The rate of a parameter shall be less than or equal to rates
+ * on edges that come into or go out from pins and parameters nodes
+ * corresponding to the parameter.
+ */
+public class RateParameterLessInoutModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Rate rate = (Rate) context.getTarget();
+ Parameter parameter = rate.getBase_Parameter();
+ if (parameter != null) {
+ Element owner = parameter.getOwner();
+ if (owner instanceof ActivityNode) {
+ ActivityNode activityNode = (ActivityNode) owner;
+ EList<ActivityEdge> incomings = activityNode.getIncomings();
+ int sumRateValue = 0;
+ for (ActivityEdge activityEdge : incomings) {
+ Rate edgeRate = UMLUtil.getStereotypeApplication(activityEdge, Rate.class);
+ if (edgeRate != null) {
+ sumRateValue += getRateValue(edgeRate);
+ }
+ }
+ if (sumRateValue > getRateValue(rate)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+
+ }
+ return context.createSuccessStatus();
+ }
+
+ // FIXME : add the method in rate
+ private int getRateValue(Rate rate) {
+ return 0;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateActivityPartitionActionsOnClientEndsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateActivityPartitionActionsOnClientEndsModelConstraint.java
new file mode 100644
index 0000000..cea4669
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateActivityPartitionActionsOnClientEndsModelConstraint.java
@@ -0,0 +1,79 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.allocations;
+
+import java.util.Iterator;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Action;
+import org.eclipse.uml2.uml.ActivityNode;
+import org.eclipse.uml2.uml.ActivityPartition;
+import org.eclipse.uml2.uml.Relationship;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 15.3.2.2 AllocateActivityPartition [2] An Action appearing in an "AllocateActivityPartition" shall be the /client (from) end of an "allocate"
+ * dependency. The element that represents the "AllocateActivityPartition" shall be the /supplier (to) end
+ * of the same "allocate" dependency. In the «AllocateActivityPartition» name field, Properties are
+ * designated by the use of a fully qualified name (including colon, e.g., "part_name:Block_Name"), and
+ * Classifiers are designated by a simple name (no colons, e.g., "Block_Name").
+ */
+public class AllocateActivityPartitionActionsOnClientEndsModelConstraint extends AbstractModelConstraint {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(final IValidationContext context) {
+ final AllocateActivityPartition allocateActivityPartition = (AllocateActivityPartition) context.getTarget();
+ final ActivityPartition activityPartition = allocateActivityPartition.getBase_ActivityPartition();
+
+ if (null != activityPartition) {
+ for (final ActivityNode node : activityPartition.getNodes()) {
+ if (node instanceof Action) {
+
+ // check if there is an allocate abstraction from (client) action to (supplier) activity representation
+ boolean found = false;
+ final Iterator<Relationship> relationshipIterator = node.getRelationships().iterator();
+ while (relationshipIterator.hasNext() && !found) {
+ final Relationship relationship = relationshipIterator.next();
+ if (relationship instanceof Abstraction &&
+ ((Abstraction) relationship).getClients().contains(node) &&
+ ((Abstraction) relationship).getSuppliers().contains(activityPartition.getRepresents()) &&
+ null != UMLUtil.getStereotypeApplication(relationship, Allocate.class)) {
+ found = true;
+ }
+ }
+
+ if (!found) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+
+ }
+
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateOneClientSupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateOneClientSupplierModelConstraint.java
new file mode 100644
index 0000000..c8e71c0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/allocations/AllocateOneClientSupplierModelConstraint.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.allocations;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.uml2.uml.Abstraction;
+
+/**
+ * 15.3.2.1 Allocate[2] A single «allocate» dependency shall have only one client
+ * (from) and one supplier (to).
+ */
+public class AllocateOneClientSupplierModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Allocate allocate = (Allocate) context.getTarget();
+
+ Abstraction abstraction = allocate.getBase_Abstraction();
+ if (abstraction != null) { // 15.3.2.1 Allocate[1] will fail
+ if (abstraction.getClients().size() != 1 || abstraction.getSuppliers().size() != 1) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/AssociationBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/AssociationBlockModelConstraint.java
new file mode 100644
index 0000000..87753cb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/AssociationBlockModelConstraint.java
@@ -0,0 +1,68 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [1] For an association in which both ends are typed by blocks,
+ * the number of ends must be exactly two.
+ */
+public class AssociationBlockModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ EObject target = context.getTarget();
+ if (target instanceof Association) {
+ Association association = (Association) target;
+ EList<Property> memberEnds = association.getMemberEnds();
+ if (memberEnds != null && memberEnds.size() >= 2) {
+ Property firstProperty = memberEnds.get(0);
+ Property secondProperty = memberEnds.get(1);
+ if (firstProperty != null && secondProperty != null) {
+ Type firstType = firstProperty.getType();
+ Type secondType = secondProperty.getType();
+ if (firstType != null && secondType != null) {
+ if (memberEnds.size() != 2) {
+ if (UMLUtil.getStereotypeApplication(firstType, Block.class) != null
+ && UMLUtil.getStereotypeApplication(secondType, Block.class) != null) {
+ return context.createFailureStatus(target);
+ }
+ }
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BindingConnectorSameEndsTypeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BindingConnectorSameEndsTypeModelConstraint.java
new file mode 100644
index 0000000..74d4ebb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BindingConnectorSameEndsTypeModelConstraint.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.BindingConnector;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.2 Binding Connector [1] The two ends of a binding connector must have
+ * either the same type or types that are compatible so that equality of their
+ * values can be defined.
+ *
+ */
+public class BindingConnectorSameEndsTypeModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ BindingConnector bindingConnector = (BindingConnector) context.getTarget();
+ Connector connector = bindingConnector.getBase_Connector();
+ if (connector != null) {
+ EList<ConnectorEnd> ends = connector.getEnds();
+ Type sharedType = null;
+ for (ConnectorEnd connectorEnd : ends) {
+ ConnectableElement role = connectorEnd.getRole();
+ if (role != null) {
+ Type type = role.getType();
+ if (sharedType == null) {
+ sharedType = type;
+ } else if (!sharedType.equals(type)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockConnectorTwoEndsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockConnectorTwoEndsModelConstraint.java
new file mode 100644
index 0000000..88affc9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockConnectorTwoEndsModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+
+/**
+ * 8.3.2.3 Block [2] The number of ends of a connector owned by a block must be
+ * exactly two.
+ */
+public class BlockConnectorTwoEndsModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Block block = (Block) context.getTarget();
+ Class clazz = block.getBase_Class();
+ if (clazz != null) {
+ EList<Connector> ownedConnectors = clazz.getOwnedConnectors();
+ for (Connector connector : ownedConnectors) {
+ EList<ConnectorEnd> ends = connector.getEnds();
+ if (ends == null || ends.size() != 2) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyAssociationEndModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyAssociationEndModelConstraint.java
new file mode 100644
index 0000000..d4a8d01
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyAssociationEndModelConstraint.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [4] In the UML metamodel on which SysML is built,
+ * a Property that is typed by a block must be defined as an end of an association.
+ * (An inverse end of this association, whether owned by
+ * another block or the association itself, must always be present so there
+ * is always a metamodel element to record the inverse multiplicity of the reference.)
+ */
+public class BlockPropertyAssociationEndModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ EObject target = context.getTarget();
+ // FIXME: Literally the norm state the constraints for all properties
+ // but common sense would recommend to skip the constraint on certain Port
+ // SO: the question should be raised in SysML Forums... (More information: Bug 487500)
+ if (target instanceof Property && !(target instanceof Port)) {
+ Property property = (Property) target;
+ Type type = property.getType();
+ if (type != null && property.getAssociation() == null) {
+ if (UMLUtil.getStereotypeApplication(type, Block.class) != null) {
+ return context.createFailureStatus(target);
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyCompositeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyCompositeModelConstraint.java
new file mode 100644
index 0000000..07b0c58
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyCompositeModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [6] If a property owned by a SysML Block or SysML ValueType is
+ * typed by a SysML ValueType, then the aggregation attribute of the property
+ * must be «composite.»
+ *
+ */
+public class BlockPropertyCompositeModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Block block = (Block) context.getTarget();
+ Class clazz = block.getBase_Class();
+ if (clazz != null) {
+ EList<Property> attributes = clazz.getAttributes();
+ for (Property property : attributes) {
+ Type type = property.getType();
+ if (type != null && UMLUtil.getStereotypeApplication(type, ValueType.class) != null) {
+ if (!AggregationKind.COMPOSITE_LITERAL.equals(property.getAggregation())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyNoNameModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyNoNameModelConstraint.java
new file mode 100644
index 0000000..faa0a9b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockPropertyNoNameModelConstraint.java
@@ -0,0 +1,70 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [3] In the UML metamodel on which SysML is built, any instance
+ * of the Property metaclass that is typed by a block (a Class with the «block»
+ * stereotype applied) and which is owned by an Association may not have a name
+ * and may not be defined as a navigable owned end of the association. (While
+ * the Property has a «name» property as defined by its NamedElement
+ */
+public class BlockPropertyNoNameModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ EObject target = context.getTarget();
+ if (target instanceof Property) {
+ Property property = (Property) target;
+ Element owner = property.getOwner();
+ if (owner instanceof Association) {
+ Association association = (Association) owner;
+ Type type = property.getType();
+ if (type != null && UMLUtil.getStereotypeApplication(type, Block.class) != null) {
+ String name = property.getName();
+ if (name != null && !"".equals(name)) {//$NON-NLS-1$
+ return context.createFailureStatus(context.getTarget());
+ }
+
+ if (association.getNavigableOwnedEnds().contains(property)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockSpecializationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockSpecializationModelConstraint.java
new file mode 100644
index 0000000..14041ed
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/BlockSpecializationModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.3 Block [8] Any classifier that specializes a Block must also have the
+ * Block stereotype or one of its specializations applied.
+ */
+public class BlockSpecializationModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ EObject target = context.getTarget();
+ if (target instanceof Classifier) {
+ Classifier classifier = (Classifier) target;
+ if (UMLUtil.getStereotypeApplication(classifier, Block.class) == null) {
+ EList<Generalization> generalizations = classifier.getGeneralizations();
+ for (Generalization generalization : generalizations) {
+ Classifier general = generalization.getGeneral();
+ if (UMLUtil.getStereotypeApplication(general, Block.class) != null) {
+ return context.createFailureStatus(classifier);
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraint.java
new file mode 100644
index 0000000..455c28c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyOnBlockModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.5 ClassifierBehaviorProperty
+ * [1] ClassifierBehaviorProperty may only be applied to properties owned (not inherited) by blocks that have classifier behaviors.
+ */
+public class ClassifierBehaviorPropertyOnBlockModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ClassifierBehaviorProperty classifierBehaviorProperty = (ClassifierBehaviorProperty) context.getTarget();
+ Property property = classifierBehaviorProperty.getBase_Property();
+ if (property != null) {
+ Element owner = property.getOwner();
+ if (owner instanceof org.eclipse.uml2.uml.Class) {
+ org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) owner;
+ if (UMLUtil.getStereotypeApplication(clazz, Block.class) == null
+ || clazz.getClassifierBehavior() == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraint.java
new file mode 100644
index 0000000..781b291
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ClassifierBehaviorPropertyTypedByModelConstraint.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.5 ClassifierBehaviorProperty [3] Properties to which
+ * ClassifierBehaviorProperty applied must be typed by the classifier behavior
+ * of their owning block or a generalization of the classifier behavior.
+ *
+ */
+public class ClassifierBehaviorPropertyTypedByModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ClassifierBehaviorProperty classifierBehaviorProperty = (ClassifierBehaviorProperty) context.getTarget();
+ Property property = classifierBehaviorProperty.getBase_Property();
+ if (property != null) {
+ Type type = property.getType();
+ if (type != null) {
+ Element owner = property.getOwner();
+ if (owner instanceof org.eclipse.uml2.uml.Class) {
+ // is a block by constraint 8.3.2.5 [1]
+ org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) owner;
+ if (!type.equals(clazz.getClassifierBehavior())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraint.java
new file mode 100644
index 0000000..0f846b9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyOnlyOnBlockModelConstraint.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.6 ConnectorProperty [1] ConnectorProperty may only be applied to
+ * properties of classes stereotyped by Block.
+ *
+ */
+public class ConnectorPropertyOnlyOnBlockModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ConnectorProperty connectorProperty = (ConnectorProperty) context.getTarget();
+ Property property = connectorProperty.getBase_Property();
+ if (property != null) {
+ Element owner = property.getOwner();
+ if (owner == null || UMLUtil.getStereotypeApplication(owner, Block.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraint.java
new file mode 100644
index 0000000..33188df
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyReferOwnedConnectorModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.6 ConnectorProperty [2] The connector attribute of the applied
+ * stereotype must refer to a connector owned or inherited by a block owning the
+ * property on which the stereotype is applied.
+ *
+ */
+public class ConnectorPropertyReferOwnedConnectorModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ConnectorProperty connectorProperty = (ConnectorProperty) context.getTarget();
+ Property property = connectorProperty.getBase_Property();
+ if (property != null) {
+ Element owner = property.getOwner();
+ if (owner != null) {
+ Connector connector = connectorProperty.getConnector();
+ if (connector != null) {
+ if (!owner.equals(connector.getOwner())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertySameNameModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertySameNameModelConstraint.java
new file mode 100644
index 0000000..bf24979
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertySameNameModelConstraint.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.6 ConnectorProperty [5] A property stereotyped by ConnectorProperty
+ * must have the same name and type as the connector referred to by the
+ * connector attribute.
+ *
+ */
+public class ConnectorPropertySameNameModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ConnectorProperty connectorProperty = (ConnectorProperty) context.getTarget();
+ Property property = connectorProperty.getBase_Property();
+ if (property != null) {
+ Connector connector = connectorProperty.getConnector();
+ if (connector != null) {
+ String name = connector.getName();
+ if (name != null && !name.equals(property.getName())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ Type type = connector.getType();
+ if (type != null && !type.equals(property.getType())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraint.java
new file mode 100644
index 0000000..344fbac
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ConnectorPropertyTypedByAssociationBlockModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.6 ConnectorProperty [4] The type of the connector referred to by a
+ * connector attribute must be an association class stereotyped by Block.
+ *
+ */
+public class ConnectorPropertyTypedByAssociationBlockModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ConnectorProperty connectorProperty = (ConnectorProperty) context.getTarget();
+ Connector connector = connectorProperty.getConnector();
+ if (connector != null) {
+ Association type = connector.getType();
+ if (type != null) {
+ if (!(type instanceof AssociationClass) || UMLUtil.getStereotypeApplication(type, Block.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireSourceContextModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireSourceContextModelConstraint.java
new file mode 100644
index 0000000..abe78ed
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireSourceContextModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [1] source#context must have a value
+ * when sourcePropertyPath has a value.
+ */
+public class DirectedRelationshipPropertyPathRequireSourceContextModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+ .getTarget();
+ EList<Property> sourcePropertyPath = directedRelationshipPropertyPath.getSourcePropertyPath();
+ if (sourcePropertyPath != null && !sourcePropertyPath.isEmpty()) {
+ if (directedRelationshipPropertyPath.getSourceContext() == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireTargetContextModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireTargetContextModelConstraint.java
new file mode 100644
index 0000000..c151509
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathRequireTargetContextModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [1] target#context must have a value
+ * when targetPropertyPath has a value.
+ */
+public class DirectedRelationshipPropertyPathRequireTargetContextModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+ .getTarget();
+ EList<Property> targetPropertyPath = directedRelationshipPropertyPath.getTargetPropertyPath();
+ if (targetPropertyPath != null && !targetPropertyPath.isEmpty()) {
+ if (directedRelationshipPropertyPath.getTargetContext() == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceFirstModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceFirstModelConstraint.java
new file mode 100644
index 0000000..a46d425
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceFirstModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [3] The property in the first
+ * position of the sourcePropertyPath list, if any, must be owned by the
+ * source#context or one of its generalizations.
+ */
+public class DirectedRelationshipPropertyPathSourceFirstModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+ .getTarget();
+ EList<Property> sourcePropertyPath = directedRelationshipPropertyPath.getSourcePropertyPath();
+ if (sourcePropertyPath != null && !sourcePropertyPath.isEmpty()) {
+ Property property = sourcePropertyPath.get(0);
+ Classifier sourceContext = directedRelationshipPropertyPath.getSourceContext();
+ if (sourceContext != null) {
+ if (!sourceContext.getAllAttributes().contains(property)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceLastModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceLastModelConstraint.java
new file mode 100644
index 0000000..feea2f4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathSourceLastModelConstraint.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [6] The type of the property at the
+ * last position of the sourcePropertyPath list must own or inherit the source
+ * of the stereotyped directed relationship.
+ */
+public class DirectedRelationshipPropertyPathSourceLastModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+ .getTarget();
+ EList<Property> sourcePropertyPath = directedRelationshipPropertyPath.getSourcePropertyPath();
+ if (sourcePropertyPath != null && !sourcePropertyPath.isEmpty()) {
+ Property property = sourcePropertyPath.get(sourcePropertyPath.size() - 1);
+ Type type = property.getType();
+ if (type != null) {
+ DirectedRelationship directedRelationship = directedRelationshipPropertyPath
+ .getBase_DirectedRelationship();
+ if (directedRelationship != null) {
+ EList<Element> sources = directedRelationship.getSources();
+ if (sources != null && !sources.isEmpty() && !type.getOwnedElements().contains(sources.get(0))) {
+ if (type instanceof Classifier) {
+ Classifier classifier = (Classifier) type;
+ if (!classifier.getInheritedMembers().contains(sources.get(0))) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ } else {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetFirstModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetFirstModelConstraint.java
new file mode 100644
index 0000000..5b2d21f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetFirstModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [4] The property in the first
+ * position of the targetPropertyPath list, if any, must be owned by the
+ * target#context or one of its generalizations.
+ */
+public class DirectedRelationshipPropertyPathTargetFirstModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+ .getTarget();
+ EList<Property> targetPropertyPath = directedRelationshipPropertyPath.getTargetPropertyPath();
+ if (targetPropertyPath != null && !targetPropertyPath.isEmpty()) {
+ Property property = targetPropertyPath.get(0);
+ Classifier targetContext = directedRelationshipPropertyPath.getTargetContext();
+ if (targetContext != null) {
+ if (!targetContext.getAllAttributes().contains(property)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetLastModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetLastModelConstraint.java
new file mode 100644
index 0000000..b7c8614
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DirectedRelationshipPropertyPathTargetLastModelConstraint.java
@@ -0,0 +1,71 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.DirectedRelationship;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.7 DirectedRelationshipPropertyPath [7] The type of the property at the
+ * last position of the targetPropertyPath list must own or inherit the target
+ * of the stereotyped directed relationship.
+ */
+public class DirectedRelationshipPropertyPathTargetLastModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DirectedRelationshipPropertyPath directedRelationshipPropertyPath = (DirectedRelationshipPropertyPath) context
+ .getTarget();
+ EList<Property> targetPropertyPath = directedRelationshipPropertyPath.getTargetPropertyPath();
+ if (targetPropertyPath != null && !targetPropertyPath.isEmpty()) {
+ Property property = targetPropertyPath.get(targetPropertyPath.size() - 1);
+ Type type = property.getType();
+ if (type != null) {
+ DirectedRelationship directedRelationship = directedRelationshipPropertyPath
+ .getBase_DirectedRelationship();
+ if (directedRelationship != null) {
+ EList<Element> targets = directedRelationship.getTargets();
+ if (targets != null && !targets.isEmpty() && !type.getOwnedElements().contains(targets.get(0))) {
+ if (type instanceof Classifier) {
+ Classifier classifier = (Classifier) type;
+ if (!classifier.getInheritedMembers().contains(targets.get(0))) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ } else {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DistributedPropertyTypedByModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DistributedPropertyTypedByModelConstraint.java
new file mode 100644
index 0000000..2bd7214
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/DistributedPropertyTypedByModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.DistributedProperty;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.8 DistributedProperty [1] The DistributedProperty stereotype may be applied only to properties of classifiers stereotyped by Block or ValueType.
+ *
+ */
+public class DistributedPropertyTypedByModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DistributedProperty distributedProperty = (DistributedProperty) context.getTarget();
+ Property property = distributedProperty.getBase_Property();
+ if (property != null) {
+ Element owner = property.getOwner();
+ if (owner != null) {
+ if (UMLUtil.getStereotypeApplication(owner, ValueType.class) == null
+ && UMLUtil.getStereotypeApplication(owner, Block.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ElementPropertyPathPropertiesOwnerModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ElementPropertyPathPropertiesOwnerModelConstraint.java
new file mode 100644
index 0000000..f5f6542
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ElementPropertyPathPropertiesOwnerModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.9 ElementPropertyPath [1] The property at each successive position of
+ * the propertyPath attribute, following the first position, must be owned by
+ * the Block or ValueType that types the property at the immediately preceding
+ * position, or a generalization of the Block or ValueType.
+ */
+public class ElementPropertyPathPropertiesOwnerModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ElementPropertyPath elementPropertyPath = (ElementPropertyPath) context.getTarget();
+ EList<Property> propertyPath = elementPropertyPath.getPropertyPath();
+ Classifier classifier = null;
+ for (Property property : propertyPath) {
+ if (classifier != null && !classifier.getAllAttributes().contains(property)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ Type type = property.getType();
+ if (type instanceof Classifier) {
+ // FIXME: this constraint seems to assume that the
+ // type is a classifier
+ classifier = (Classifier) type;
+ } else {
+ classifier = null;
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/EndPathMultiplicityBoundReferencePropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/EndPathMultiplicityBoundReferencePropertyModelConstraint.java
new file mode 100644
index 0000000..289a4e0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/EndPathMultiplicityBoundReferencePropertyModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.10 EndPathMultiplicity [1] Properties to which EndPathMultiplicity is
+ * applied must be related by redefinition to a property to which BoundReference
+ * is applied.
+ */
+public class EndPathMultiplicityBoundReferencePropertyModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ EndPathMultiplicity endPathMultiplicity = (EndPathMultiplicity) context.getTarget();
+ Property property = endPathMultiplicity.getBase_Property();
+ if (property != null) {
+ EList<Property> redefinedProperties = property.getRedefinedProperties();
+ for (Property redefinedProperty : redefinedProperties) {
+ if (UMLUtil.getStereotypeApplication(redefinedProperty, BoundReference.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndFirstPropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndFirstPropertyModelConstraint.java
new file mode 100644
index 0000000..8dbe171
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndFirstPropertyModelConstraint.java
@@ -0,0 +1,66 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.11 NestedConnectorEnd [1] The first property in propertyPath must be
+ * owned by the block that owns the connector, or one of the block's
+ * generalizations.
+ */
+public class NestedConnectorEndFirstPropertyModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ NestedConnectorEnd nestedConnectorEnd = (NestedConnectorEnd) context.getTarget();
+ ConnectorEnd connectorEnd = nestedConnectorEnd.getBase_ConnectorEnd();
+ if (connectorEnd != null) {
+ EObject eContainer = connectorEnd.eContainer();
+ if (eContainer instanceof Connector) {
+ Element connectorOwner = ((Connector) eContainer).getOwner();
+ if (connectorOwner != null) {
+ EList<Property> propertyPath = nestedConnectorEnd.getPropertyPath();
+ if (propertyPath != null && !propertyPath.isEmpty()) {
+ Property firstProperty = propertyPath.get(0);
+ if (!connectorOwner.equals(firstProperty.getOwner())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ }
+
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndLastPropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndLastPropertyModelConstraint.java
new file mode 100644
index 0000000..12e7d8d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndLastPropertyModelConstraint.java
@@ -0,0 +1,74 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.11 NestedConnectorEnd [2] The type of the property at the last position
+ * of the propertyPath list must own or inherit the role property of the
+ * stereotyped connector end.
+ *
+ */
+public class NestedConnectorEndLastPropertyModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ NestedConnectorEnd nestedConnectorEnd = (NestedConnectorEnd) context.getTarget();
+ ConnectorEnd connectorEnd = nestedConnectorEnd.getBase_ConnectorEnd();
+ if (connectorEnd != null) {
+ // FIXME: this constraint seems to assume that the connectable
+ // element is a property
+ ConnectableElement role = connectorEnd.getRole();
+ if (role instanceof Property) {
+ Property property = (Property) role;
+ EList<Property> propertyPath = nestedConnectorEnd.getPropertyPath();
+ if (propertyPath != null && !propertyPath.isEmpty()) {
+ Property lastProperty = propertyPath.get(propertyPath.size() - 1);
+ if (lastProperty != null) {
+ Type type = lastProperty.getType();
+ if (type instanceof Classifier) {
+ // FIXME: this constraint seems to assume that the
+ // type is a classifier
+ Classifier classifier = (Classifier) type;
+ if (!classifier.getAllAttributes().contains(property)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndOnlyConnectorEndsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndOnlyConnectorEndsModelConstraint.java
new file mode 100644
index 0000000..1949909
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/NestedConnectorEndOnlyConnectorEndsModelConstraint.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+
+/**
+ * 8.3.2.11 NestedConnectorEnd [3] NestedConnectorEnd may only be applied to
+ * connector ends
+ */
+public class NestedConnectorEndOnlyConnectorEndsModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ NestedConnectorEnd nestedConnectorEnd = (NestedConnectorEnd) context.getTarget();
+ Element element = nestedConnectorEnd.getBase_Element();
+ if (element != null && !(element instanceof ConnectorEnd)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraint.java
new file mode 100644
index 0000000..3063f1c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyEndMultiplicityModelConstraint.java
@@ -0,0 +1,48 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.12 ParticipantProperty [6] The property referred to by end must have a
+ * multiplicity of 1.
+ *
+ */
+public class ParticipantPropertyEndMultiplicityModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+ Property property = participantProperty.getBase_Property();
+ if (property != null && (property.upperBound() != 1 || property.lowerBound() != 1)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraint.java
new file mode 100644
index 0000000..97ffe39
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyNoAssociationMemberEndsModelConstraint.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.12 ParticipantProperty [2] ParticipantProperty may not be applied to
+ * properties that are member ends of an association.
+ */
+public class ParticipantPropertyNoAssociationMemberEndsModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+ Property property = participantProperty.getBase_Property();
+ if (property != null) {
+ if (property.getAssociation() != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraint.java
new file mode 100644
index 0000000..81cab97
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyAssociationBlockModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.12 ParticipantProperty [1] ParticipantProperty may only be applied to properties of association classes stereotyped by Block.
+ *
+ */
+public class ParticipantPropertyOnlyAssociationBlockModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+ Property property = participantProperty.getBase_Property();
+ if (property != null) {
+ Element owner = property.getOwner();
+ if ((!(owner instanceof AssociationClass)) || UMLUtil.getStereotypeApplication(owner, Block.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraint.java
new file mode 100644
index 0000000..75aa7b8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertyOnlyNoneAggregationModelConstraint.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.AggregationKind;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.12 ParticipantProperty [3] The aggregation of a property stereotyped by
+ * ParticipantProperty must be none.
+ */
+public class ParticipantPropertyOnlyNoneAggregationModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+ Property property = participantProperty.getBase_Property();
+ if (property != null) {
+ if (!AggregationKind.NONE_LITERAL.equals(property.getAggregation())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameEndModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameEndModelConstraint.java
new file mode 100644
index 0000000..427bb06
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameEndModelConstraint.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.AssociationClass;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 8.3.2.12 ParticipantProperty [4] The end attribute of the applied stereotype
+ * must refer to a member end of the association block owning the property on
+ * which the stereotype is applied.
+ *
+ */
+public class ParticipantPropertySameEndModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+ Property endProperty = participantProperty.getEnd();
+ if (endProperty != null) {
+ Property property = participantProperty.getBase_Property();
+ if (property != null) {
+ Element owner = property.getOwner();
+ if (owner instanceof AssociationClass) {
+ AssociationClass associationClass = (AssociationClass) owner;
+ if (!associationClass.getMemberEnds().contains(endProperty)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameTypeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameTypeModelConstraint.java
new file mode 100644
index 0000000..0e28386
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ParticipantPropertySameTypeModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 8.3.2.12 ParticipantProperty [5] A property stereotyped by
+ * ParticipantProperty must have the same type as the property referred to by
+ * the end attribute.
+ */
+public class ParticipantPropertySameTypeModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ParticipantProperty participantProperty = (ParticipantProperty) context.getTarget();
+ Property property = participantProperty.getBase_Property();
+ if (property != null) {
+ Type type = property.getType();
+ if (type != null) {
+ Property endProperty = participantProperty.getEnd();
+ if (endProperty != null) {
+ if (!type.equals(endProperty.getType())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeMissingNameModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeMissingNameModelConstraint.java
new file mode 100644
index 0000000..73842f0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeMissingNameModelConstraint.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.PropertySpecificType;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * 8.3.2.13 PropertySpecificType [2] The name of a classifier to which a
+ * PropertySpecificType is applied must be missing. (The «name» attribute of the
+ * NamedElement metaclass must be empty.)
+ *
+ */
+public class PropertySpecificTypeMissingNameModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ PropertySpecificType propertySpecificType = (PropertySpecificType) context.getTarget();
+ Classifier classifier = propertySpecificType.getBase_Classifier();
+ if (classifier != null) {
+ String name = classifier.getName();
+ if (name != null && !"".equals(name)) { //$NON-NLS-1$
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraint.java
new file mode 100644
index 0000000..773ae5e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/PropertySpecificTypeUniquePropertyModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import java.util.Set;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.gmf.runtime.emf.core.util.CrossReferenceAdapter;
+import org.eclipse.papyrus.sysml16.blocks.PropertySpecificType;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * 8.3.2.13 PropertySpecificType [1] A classifier to which the
+ * PropertySpecificType stereotype is applied must be referenced as the type of
+ * one and only one property.
+ */
+public class PropertySpecificTypeUniquePropertyModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ PropertySpecificType propertySpecificType = (PropertySpecificType) context.getTarget();
+ Classifier classifier = propertySpecificType.getBase_Classifier();
+ if (classifier != null) {
+ CrossReferenceAdapter crossReferenceAdapter = CrossReferenceAdapter.getCrossReferenceAdapter(TransactionUtil.getEditingDomain(classifier).getResourceSet());
+ Set inverseReferencers = crossReferenceAdapter.getInverseReferencers(classifier, UMLPackage.eINSTANCE.getTypedElement_Type(), null);
+ if (inverseReferencers != null && inverseReferencers.size() != 1) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeQuantityKindModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeQuantityKindModelConstraint.java
new file mode 100644
index 0000000..f32dd4d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeQuantityKindModelConstraint.java
@@ -0,0 +1,44 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.util.QUDVUtil;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * 8.3.2.15 ValueType [3] The quantityKind of a ValueType, if any, shall be an InstanceSpecification classified by SysML's
+ * QuantityKind block in the UnitAndQuantityKind model library or a specialization of it.
+ */
+public class ValueTypeQuantityKindModelConstraint extends AbstractModelConstraint {
+
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ValueType valueType = (ValueType) context.getTarget();
+ String quantityKindQualifiedName = QUDVUtil.getClassifierByNameSpaceFromQUDV(QUDVUtil.UNIT_AND_QUANTITY_KIND, QUDVUtil.QUANTITY_KIND).getQualifiedName();
+ if (valueType.getQuantityKind() != null && !valueType.getQuantityKind().getClassifiers().isEmpty()) {
+ for (Classifier classifier : valueType.getQuantityKind().getClassifiers()) {
+ if (!classifier.allParents().stream().anyMatch(c -> c.getQualifiedName().equals(quantityKindQualifiedName)) // check if there is at least on element of the list whose the qualifideName match the quantityKindClassifier qualifideName
+ && !classifier.getQualifiedName().equals(quantityKindQualifiedName)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeSpecilizationAreValueTypesModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeSpecilizationAreValueTypesModelConstraint.java
new file mode 100644
index 0000000..7f0b36e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeSpecilizationAreValueTypesModelConstraint.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 8.3.2.15 ValueType [1] Any classifier that specializes a ValueType shall also have the ValueType stereotype applied.
+ */
+public class ValueTypeSpecilizationAreValueTypesModelConstraint extends AbstractModelConstraint {
+
+ @Override
+ public IStatus validate(IValidationContext context) {
+ EObject target = context.getTarget();
+ if (target instanceof Classifier) {
+ for (Classifier generalClassifer : ((Classifier) target).parents()) {
+ ValueType generalValueType = UMLUtil.getStereotypeApplication(generalClassifer, ValueType.class);
+ if (generalValueType != null) {
+ ValueType classifierValueType = UMLUtil.getStereotypeApplication((Classifier) target, ValueType.class);
+ if (classifierValueType == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeUnitModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeUnitModelConstraint.java
new file mode 100644
index 0000000..5ef7dee
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/blocks/ValueTypeUnitModelConstraint.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.blocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.util.QUDVUtil;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * 8.3.2.15 ValueType [2] The unit of a ValueType, if any, shall be an InstanceSpecification classified by SysML's Unit block in
+ * the UnitAndQuantityKind model library or a specialization of it.
+ */
+public class ValueTypeUnitModelConstraint extends AbstractModelConstraint {
+
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ValueType valueType = (ValueType) context.getTarget();
+ Classifier unitClassifier = QUDVUtil.getClassifierByNameSpaceFromQUDV(QUDVUtil.UNIT_AND_QUANTITY_KIND, QUDVUtil.UNIT);
+ if (valueType.getUnit() != null && !valueType.getUnit().getClassifiers().isEmpty()) {
+ for (Classifier classifier : valueType.getUnit().getClassifiers()) {
+ if (!classifier.allParents().stream().anyMatch(c -> c.getQualifiedName().equals(unitClassifier.getQualifiedName())) // check if there is at least on element of the list whose the qualifideName match the unitClassifier qualifideName
+ && !classifier.getQualifiedName().equals(unitClassifier.getQualifiedName())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/constraintblocks/ConstraintBlockCompositeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/constraintblocks/ConstraintBlockCompositeModelConstraint.java
new file mode 100644
index 0000000..e11990f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/constraintblocks/ConstraintBlockCompositeModelConstraint.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.constraintblocks;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 10.3.2.1 ConstraintBlock [3] Any property of a block that is typed by a ConstraintBlock shall have composite aggregation.
+ */
+public class ConstraintBlockCompositeModelConstraint extends AbstractModelConstraint {
+
+ /**
+ * {@inheritDoc}
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(final IValidationContext context) {
+ final ConstraintBlock constraintBlock = (ConstraintBlock) context.getTarget();
+ final Class clazz = constraintBlock.getBase_Class();
+ for (final Property property : clazz.getAllAttributes()) {
+ if (!property.isComposite()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ExposeClientStereotypedByViewModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ExposeClientStereotypedByViewModelConstraint.java
new file mode 100644
index 0000000..c7aed08
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ExposeClientStereotypedByViewModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.modelelements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.modelelements.Expose;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.3 Expose [1] The client must be an element stereotyped by View.
+ * FIXME : the norm is incorrect there may be many client, the rule will apply to all clients
+ *
+ */
+public class ExposeClientStereotypedByViewModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Expose expose = (Expose) context.getTarget();
+ Dependency dependency = expose.getBase_Dependency();
+ if (dependency != null) {
+ EList<NamedElement> clients = dependency.getClients();
+ for (NamedElement namedElement : clients) {
+ if (UMLUtil.getStereotypeApplication(namedElement, View.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/StakeholderNotAssociationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/StakeholderNotAssociationModelConstraint.java
new file mode 100644
index 0000000..fd97174
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/StakeholderNotAssociationModelConstraint.java
@@ -0,0 +1,45 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.modelelements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+import org.eclipse.uml2.uml.Actor;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Classifier;
+
+/**
+ * Stakeholder [1] A Stakeholder stereotype can only be applied to UML::Actor or UML::Class which are not a
+ * UML::Association.
+ */
+public class StakeholderNotAssociationModelConstraint extends AbstractModelConstraint {
+
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Stakeholder stakeholder = (Stakeholder) context.getTarget();
+ Classifier base = stakeholder.getBase_Classifier();
+ if (base instanceof Actor && !(base instanceof Association)) {
+ return context.createSuccessStatus();
+ }
+ if (base instanceof org.eclipse.uml2.uml.Class && !(base instanceof Association)) {
+ return context.createSuccessStatus();
+ }
+
+ return context.createFailureStatus(context.getTarget());
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewSingleViewpointModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewSingleViewpointModelConstraint.java
new file mode 100644
index 0000000..28f3b5d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewSingleViewpointModelConstraint.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.modelelements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Generalization;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.7 View [1] A view must only conform to a single viewpoint.
+ */
+public class ViewSingleViewpointModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ View view = (View) context.getTarget();
+ Class clazz = view.getBase_Class();
+ if (clazz != null) {
+ EList<Generalization> generalizations = clazz.getGeneralizations();
+ if (generalizations != null) {
+ int countConform = 0;
+ for (Generalization generalization : generalizations) {
+ if (UMLUtil.getStereotypeApplication(generalization, Conform.class) != null) {
+ countConform++;
+ }
+ }
+ if (countConform != 1) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewpointOwnedViewModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewpointOwnedViewModelConstraint.java
new file mode 100644
index 0000000..6e0f97f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/modelelements/ViewpointOwnedViewModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.modelelements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.profile.standard.Create;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 7.3.2.8 Viewpoint [2] The property ownedOperation must include at least one
+ * operation named «View» with the UML Create stereotype applied.
+ */
+public class ViewpointOwnedViewModelConstraint extends AbstractModelConstraint {
+
+ // expected name of the operation fixed by the norm
+ private static final String VIEW = "View"; //$NON-NLS-1$
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Viewpoint viewpoint = (Viewpoint) context.getTarget();
+ Class clazz = viewpoint.getBase_Class();
+ if (clazz != null) {
+ EList<Operation> operations = clazz.getOperations();
+ boolean found = false;
+ for (Operation operation : operations) {
+ if (VIEW.equals(operation.getName())
+ && UMLUtil.getStereotypeApplication(operation, Create.class) != null) {
+ found = true;
+ }
+ }
+ if (!found) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/nonnormative/NestedConnectorEndMissingConstraintModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/nonnormative/NestedConnectorEndMissingConstraintModelConstraint.java
new file mode 100644
index 0000000..b6024af
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/nonnormative/NestedConnectorEndMissingConstraintModelConstraint.java
@@ -0,0 +1,64 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.nonnormative;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.Connector;
+import org.eclipse.uml2.uml.ConnectorEnd;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ *
+ */
+public class NestedConnectorEndMissingConstraintModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ EObject target = context.getTarget();
+ if (target instanceof ConnectorEnd) {
+ ConnectorEnd connectorEnd = (ConnectorEnd) target;
+ Element owner = connectorEnd.getOwner();
+ if (owner instanceof Connector) {
+ Connector connector = (Connector) owner;
+ ConnectableElement role = connectorEnd.getRole();
+ Element connectorOwner = connector.getOwner();
+ if (role != null && !role.getOwner().equals(connectorOwner)) {
+ if (UMLUtil.getStereotypeApplication(connectorOwner, Block.class) != null || UMLUtil.getStereotypeApplication(connectorOwner, ConstraintBlock.class) != null) {
+ if (UMLUtil.getStereotypeApplication(connectorEnd, NestedConnectorEnd.class) == null) {
+ return context.createFailureStatus(role.getName());
+ }
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint.java
new file mode 100644
index 0000000..22fa416
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 9.3.2.2 AddFlowPropertyValueOnNestedPortAction [3] The port at each successive position of the onNestedPort
+ * attribute, following the first position, shall be owned by the Block that types the port at the immediately
+ * preceding position, or a generalization of that Block
+ */
+public class AddFlowPropertyValueOnNestedPortActionPathConsistencyModelConstraint extends AbstractModelConstraint {
+
+ @Override
+ public IStatus validate(IValidationContext context) {
+ AddFlowPropertyValueOnNestedPortAction addFlowPropertyValueOnNestedPortAction = (AddFlowPropertyValueOnNestedPortAction) context.getTarget();
+ List<Port> onNestedPort = addFlowPropertyValueOnNestedPortAction.getOnNestedPort();
+ Classifier classifier = null;
+ for (Port port : onNestedPort) {
+ if (classifier != null && !classifier.getAllAttributes().contains(port)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ Type type = port.getType();
+ if (type instanceof Classifier) {
+ // FIXME: this constraint seems to assume that the
+ // type is a classifier
+ classifier = (Classifier) type;
+ } else {
+ classifier = null;
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventNotStaticModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventNotStaticModelConstraint.java
new file mode 100644
index 0000000..5172dda
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventNotStaticModelConstraint.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent;
+import org.eclipse.uml2.uml.StructuralFeature;
+
+/**
+ * 9.3.2.3 ChangeStructuralFeatureEvent [1] The structural feature must not be
+ * static.
+ */
+public class ChangeStructuralFeatureEventNotStaticModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ChangeStructuralFeatureEvent changeStructuralFeatureEvent = (ChangeStructuralFeatureEvent) context.getTarget();
+ StructuralFeature structuralFeature = changeStructuralFeatureEvent.getStructuralFeature();
+ if (structuralFeature != null) {
+ if (structuralFeature.isStatic()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint.java
new file mode 100644
index 0000000..4597a56
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint.java
@@ -0,0 +1,52 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.StructuralFeature;
+
+/**
+ * 9.3.2.3 ChangeStructuralFeatureEvent [2] The structural feature must have
+ * exactly one featuringClassifier.
+ */
+public class ChangeStructuralFeatureEventOneFeaturingClassifierModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ChangeStructuralFeatureEvent changeStructuralFeatureEvent = (ChangeStructuralFeatureEvent) context.getTarget();
+ StructuralFeature structuralFeature = changeStructuralFeatureEvent.getStructuralFeature();
+ if (structuralFeature != null) {
+ EList<Classifier> featuringClassifiers = structuralFeature.getFeaturingClassifiers();
+ if (featuringClassifiers == null || featuringClassifiers.size() != 1) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/DirectedFeatureOnlyBehavioralModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/DirectedFeatureOnlyBehavioralModelConstraint.java
new file mode 100644
index 0000000..96983a0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/DirectedFeatureOnlyBehavioralModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Feature;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 9.3.2.4 DirectedFeature [1] DirectedFeature can only be applied to behavioral
+ * features, or to properties that do not have FlowProperty applied, including
+ * on subsetted or redefined features.
+ */
+public class DirectedFeatureOnlyBehavioralModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DirectedFeature directedFeature = (DirectedFeature) context.getTarget();
+ Feature feature = directedFeature.getBase_Feature();
+ if (feature != null) {
+ if (!(feature instanceof BehavioralFeature || feature instanceof Property)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ if (feature instanceof Property && UMLUtil.getStereotypeApplication(feature, FlowProperty.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FlowPropertyTypedByModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FlowPropertyTypedByModelConstraint.java
new file mode 100644
index 0000000..791c011
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FlowPropertyTypedByModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 9.3.2.5 FeatureDirection [1] A FlowProperty is typed by a ValueType, Block, or Signal.
+ *
+ */
+public class FlowPropertyTypedByModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ FlowProperty flowProperty = (FlowProperty) context.getTarget();
+ Property property = flowProperty.getBase_Property();
+ if (property != null) {
+ Type type = property.getType();
+ if (type != null) {
+ if (UMLUtil.getStereotypeApplication(type, ValueType.class) == null
+ && UMLUtil.getStereotypeApplication(type, Block.class) == null
+ && !(type instanceof Signal)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FullPortNotProxyPortModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FullPortNotProxyPortModelConstraint.java
new file mode 100644
index 0000000..ab8c69a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/FullPortNotProxyPortModelConstraint.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.FullPort;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ *
+ * 9.3.2.8 FullPort (SysML 1.6) Constraints [1] Full ports cannot also be proxy
+ * ports. This applies even if some of the stereotypes are on subsetted or
+ * redefined ports.
+ *
+ */
+public class FullPortNotProxyPortModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ FullPort fullPort = (FullPort) context.getTarget();
+ Port port = fullPort.getBase_Port();
+ if (port != null) {
+ if (UMLUtil.getStereotypeApplication(port, ProxyPort.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoBehaviorConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoBehaviorConstraint.java
new file mode 100644
index 0000000..764bc47
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoBehaviorConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Class;
+
+/**
+ *
+ * 9.3.2.9 InterfaceBlock [1] Interface blocks cannot own or inherit behaviors,
+ * have classifier behaviors, or methods for their behavioral features
+ *
+ */
+public class InterfaceBlockNoBehaviorConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ InterfaceBlock interfaceBlock = (InterfaceBlock) context.getTarget();
+ Class clazz = interfaceBlock.getBase_Class();
+ if (clazz != null) {
+ if (clazz.getClassifierBehavior() != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ EList<Behavior> ownedBehaviors = clazz.getOwnedBehaviors();
+ if (ownedBehaviors != null && !ownedBehaviors.isEmpty()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraint.java
new file mode 100644
index 0000000..c46f7ed
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockNoCompositePropertyModelConstraint.java
@@ -0,0 +1,56 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ *
+ * 9.3.2.9 [2] Interface blocks cannot have composite properties that are not ports.
+ *
+ */
+public class InterfaceBlockNoCompositePropertyModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ InterfaceBlock interfaceBlock = (InterfaceBlock) context.getTarget();
+ Class clazz = interfaceBlock.getBase_Class();
+ if (clazz != null) {
+ EList<Property> allAttributes = clazz.getAllAttributes();
+ for (Property property : allAttributes) {
+ if (!(property instanceof Port) && property.isComposite()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockPortTypeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockPortTypeModelConstraint.java
new file mode 100644
index 0000000..1f93331
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InterfaceBlockPortTypeModelConstraint.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ *
+ * 9.3.2.9 InterfaceBlock [3] Ports owned by interface blocks can only be typed
+ * by interface blocks
+ *
+ */
+public class InterfaceBlockPortTypeModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ InterfaceBlock interfaceBlock = (InterfaceBlock) context.getTarget();
+ Class clazz = interfaceBlock.getBase_Class();
+ if (clazz != null) {
+ EList<Property> allAttributes = clazz.getAllAttributes();
+ for (Property property : allAttributes) {
+ if (property instanceof Port) {
+ Port port = (Port) property;
+ Type type = port.getType();
+ if (type != null && UMLUtil.getStereotypeApplication(type, InterfaceBlock.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionPathConsistencyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionPathConsistencyModelConstraint.java
new file mode 100644
index 0000000..528ae86
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionPathConsistencyModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 9.3.2.11 InvocationOnNestedPortAction [3] The port at each successive position of the onNestedPort attribute,
+ * following the first position, shall be owned by the Block that types the port at the immediately preceding
+ * position, or a generalization of that Block.
+ */
+public class InvocationOnNestedPortActionPathConsistencyModelConstraint extends AbstractModelConstraint {
+
+ @Override
+ public IStatus validate(IValidationContext context) {
+ InvocationOnNestedPortAction invocationOnNestedPortAction = (InvocationOnNestedPortAction) context.getTarget();
+ List<Port> onNestedPort = invocationOnNestedPortAction.getOnNestedPort();
+ Classifier classifier = null;
+ for (Port port : onNestedPort) {
+ if (classifier != null && !classifier.getAllAttributes().contains(port)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ Type type = port.getType();
+ if (type instanceof Classifier) {
+ // FIXME: this constraint seems to assume that the
+ // type is a classifier
+ classifier = (Classifier) type;
+ } else {
+ classifier = null;
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionRequiredOnPortModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionRequiredOnPortModelConstraint.java
new file mode 100644
index 0000000..f5b1179
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/InvocationOnNestedPortActionRequiredOnPortModelConstraint.java
@@ -0,0 +1,49 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction;
+import org.eclipse.uml2.uml.InvocationAction;
+
+/**
+ * 9.3.2.10 InvocationOnNestedPortAction [1] The onPort property of an
+ * invocation action must have a value when this stereotype is applied.
+ */
+public class InvocationOnNestedPortActionRequiredOnPortModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ InvocationOnNestedPortAction invocationOnNestedPortAction = (InvocationOnNestedPortAction) context.getTarget();
+ InvocationAction invocationAction = invocationOnNestedPortAction.getBase_InvocationAction();
+ if (invocationAction != null) {
+ if (invocationAction.getOnPort() == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyNameModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyNameModelConstraint.java
new file mode 100644
index 0000000..c59927d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyNameModelConstraint.java
@@ -0,0 +1,54 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.ItemFlow;
+import org.eclipse.uml2.uml.InformationFlow;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * 9.3.2.11 ItemFlow [6] If an ItemFlow has an itemProperty, its name should be
+ * the same as the name of the item flow.
+ */
+public class ItemFlowSamePropertyNameModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ItemFlow itemFlow = (ItemFlow) context.getTarget();
+ Property itemProperty = itemFlow.getItemProperty();
+ if (itemProperty != null) {
+ InformationFlow informationFlow = itemFlow.getBase_InformationFlow();
+ if (informationFlow != null) {
+ String name = informationFlow.getName();
+ if (name != null && !name.equals(itemProperty.getName())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyTypedByModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyTypedByModelConstraint.java
new file mode 100644
index 0000000..7365261
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ItemFlowSamePropertyTypedByModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+import org.eclipse.papyrus.sysml16.portsandflows.ItemFlow;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Signal;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 9.3.2.11 ItemFlow [2] An ItemFlow itemProperty is typed by a ValueType,
+ * Block, or Signal.
+ */
+public class ItemFlowSamePropertyTypedByModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ItemFlow itemFlow = (ItemFlow) context.getTarget();
+ Property itemProperty = itemFlow.getItemProperty();
+ if (itemProperty != null) {
+ Type type = itemProperty.getType();
+ if (type != null) {
+ if (UMLUtil.getStereotypeApplication(type, ValueType.class) == null
+ && UMLUtil.getStereotypeApplication(type, Block.class) == null
+ && !(type instanceof Signal)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraint.java
new file mode 100644
index 0000000..241c789
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortForceInnerProxyPortModelConstraint.java
@@ -0,0 +1,65 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Property;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ *
+ * 9.3.2.12 ProxyPort
+ * [3] Ports owned by the type of a proxy port must be proxy ports
+ *
+ */
+public class ProxyPortForceInnerProxyPortModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ProxyPort proxyPort = (ProxyPort) context.getTarget();
+ Port port = proxyPort.getBase_Port();
+ if (port != null) {
+ Type type = port.getType();
+ if (type instanceof org.eclipse.uml2.uml.Class) { // Class due to constraint 9.3.2.12 ProxyPort [2]
+ org.eclipse.uml2.uml.Class clazz = (org.eclipse.uml2.uml.Class) type;
+ EList<Property> ownedAttributes = clazz.getOwnedAttributes();
+ for (Property property : ownedAttributes) {
+ if (property instanceof Port) {
+ Port innerport = (Port) property;
+ if (UMLUtil.getStereotypeApplication(innerport, ProxyPort.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortNotFullPortModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortNotFullPortModelConstraint.java
new file mode 100644
index 0000000..c4cce6c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortNotFullPortModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.FullPort;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ *
+ * 9.3.2.12 ProxyPort
+ * [1] Proxy ports cannot also be full ports. This applies even if some of the stereotypes are on subsetted or redefined ports..
+ *
+ */
+public class ProxyPortNotFullPortModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ProxyPort proxyPort = (ProxyPort) context.getTarget();
+ Port port = proxyPort.getBase_Port();
+ if (port != null && UMLUtil.getStereotypeApplication(port, FullPort.class) != null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraint.java
new file mode 100644
index 0000000..2f3c7eb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/ProxyPortTypedByInterfaceBlockModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ *
+ * 9.3.2.12 ProxyPort
+ * [2] Proxy ports can only be typed by interface blocks
+ *
+ */
+public class ProxyPortTypedByInterfaceBlockModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ ProxyPort proxyPort = (ProxyPort) context.getTarget();
+ Port port = proxyPort.getBase_Port();
+ if (port != null) {
+ Type type = port.getType();
+ if (type != null && UMLUtil.getStereotypeApplication(type, InterfaceBlock.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/TriggerOnNestedPortPathConsistencyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/TriggerOnNestedPortPathConsistencyModelConstraint.java
new file mode 100644
index 0000000..0aca381
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/portsandflows/TriggerOnNestedPortPathConsistencyModelConstraint.java
@@ -0,0 +1,49 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.validation.rules.portsandflows;
+
+import java.util.List;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.Port;
+import org.eclipse.uml2.uml.Type;
+
+public class TriggerOnNestedPortPathConsistencyModelConstraint extends AbstractModelConstraint {
+
+ @Override
+ public IStatus validate(IValidationContext context) {
+ TriggerOnNestedPort addFlowPropertyValueOnNestedPortAction = (TriggerOnNestedPort) context.getTarget();
+ List<Port> onNestedPort = addFlowPropertyValueOnNestedPortAction.getOnNestedPort();
+ Classifier classifier = null;
+ for (Port port : onNestedPort) {
+ if (classifier != null && !classifier.getAllAttributes().contains(port)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ Type type = port.getType();
+ if (type instanceof Classifier) {
+ // FIXME: this constraint seems to assume that the
+ // type is a classifier
+ classifier = (Classifier) type;
+ } else {
+ classifier = null;
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyBetweenRequirementsModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyBetweenRequirementsModelConstraint.java
new file mode 100644
index 0000000..2f4030c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyBetweenRequirementsModelConstraint.java
@@ -0,0 +1,60 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.2 Copy [1] A Copy dependency may only be created between two NamedElements that have a subtype of the
+ * abstractRequirement stereotype applied
+ */
+public class CopyBetweenRequirementsModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Copy copy = (Copy) context.getTarget();
+ Abstraction abstraction = copy.getBase_Abstraction();
+ if (abstraction != null) {
+ EList<NamedElement> suppliers = abstraction.getSuppliers();
+ if (suppliers != null && !suppliers.isEmpty()) {
+ if (UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ EList<NamedElement> clients = abstraction.getClients();
+ if (clients != null && !clients.isEmpty()) {
+ if (UMLUtil.getStereotypeApplication(clients.get(0), AbstractRequirement.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyReadOnlyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyReadOnlyModelConstraint.java
new file mode 100644
index 0000000..25582b7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/CopyReadOnlyModelConstraint.java
@@ -0,0 +1,57 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.2 Copy [2] The text property of the client requirement is constrained to be a read-only copy of the text property of
+ * the supplier requirement and this applies recursively to all subrequirements.
+ */
+public class CopyReadOnlyModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Copy copy = (Copy) context.getTarget();
+ Abstraction abstraction = copy.getBase_Abstraction();
+ if (abstraction != null) {
+ EList<NamedElement> suppliers = abstraction.getSuppliers();
+ EList<NamedElement> clients = abstraction.getClients();
+ if (suppliers != null && !suppliers.isEmpty() && clients != null && !clients.isEmpty()) {
+ AbstractRequirement supplierRequirement = UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class);
+ AbstractRequirement clientRequirement = UMLUtil.getStereotypeApplication(clients.get(0), AbstractRequirement.class);
+ if (supplierRequirement != null && clientRequirement != null && !supplierRequirement.getText().equals(clientRequirement.getText())) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtClientModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtClientModelConstraint.java
new file mode 100644
index 0000000..c9aee57
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtClientModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.3 DeriveReqt [2] The client shall be an element stereotyped by a subtype of AbstractRequirement.
+ */
+public class DeriveReqtClientModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DeriveReqt deriveReqt = (DeriveReqt) context.getTarget();
+ Abstraction abstraction = deriveReqt.getBase_Abstraction();
+ if (abstraction != null) {
+ EList<NamedElement> clients = abstraction.getClients();
+ if (clients != null && !clients.isEmpty()) {
+ if (UMLUtil.getStereotypeApplication(clients.get(0), AbstractRequirement.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtSupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtSupplierModelConstraint.java
new file mode 100644
index 0000000..0f41204
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/DeriveReqtSupplierModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.3 DeriveReqt [1] The supplier shall be an element stereotyped by a subtype of AbstractRequirement.
+ */
+public class DeriveReqtSupplierModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ DeriveReqt deriveReqt = (DeriveReqt) context.getTarget();
+ Abstraction abstraction = deriveReqt.getBase_Abstraction();
+ if (abstraction != null) {
+ EList<NamedElement> suppliers = abstraction.getSuppliers();
+ if (suppliers != null && !suppliers.isEmpty()) {
+ if (UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RefineOneClientSupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RefineOneClientSupplierModelConstraint.java
new file mode 100644
index 0000000..15ead62
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RefineOneClientSupplierModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Refine;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * 16.3.2.4 Refine [2] Abstractions with a Refine stereotype or one of its specializations applied shall have exactly one client
+ * and one supplier.
+ */
+public class RefineOneClientSupplierModelConstraint extends AbstractModelConstraint {
+
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Refine refine = (Refine) context.getTarget();
+ Abstraction abstraction = refine.getBase_Abstraction();
+ if (abstraction == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ EList<NamedElement> clients = abstraction.getClients();
+ EList<NamedElement> suppliers = abstraction.getSuppliers();
+ if (clients == null || clients.size() != 1 || suppliers == null || suppliers.size() != 1) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNestedRequirementModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNestedRequirementModelConstraint.java
new file mode 100644
index 0000000..dca4ce9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNestedRequirementModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.5 Requirement [5] A nested classifier of a class stereotyped by Requirement or one of its specializations shall also be
+ * stereotyped by Requirement or one of its specializations.
+ */
+public class RequirementNestedRequirementModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Requirement requirement = (Requirement) context.getTarget();
+ Class clazz = requirement.getBase_Class();
+ if (clazz != null) {
+ EList<Classifier> nestedClassifiers = clazz.getNestedClassifiers();
+ for (Classifier classifier : nestedClassifiers) {
+ if (UMLUtil.getStereotypeApplication(classifier, Requirement.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoAssociationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoAssociationModelConstraint.java
new file mode 100644
index 0000000..6359f16
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoAssociationModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Association;
+import org.eclipse.uml2.uml.Class;
+
+/**
+ * 16.3.2.5 Requirement [3] Classes stereotyped by <<requirement>> shall not participate in associations.
+ */
+public class RequirementNoAssociationModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Requirement requirement = (Requirement) context.getTarget();
+ Class clazz = requirement.getBase_Class();
+ if (clazz != null) {
+ EList<Association> associations = clazz.getAssociations();
+ if (associations != null && !associations.isEmpty()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoGeneralizationModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoGeneralizationModelConstraint.java
new file mode 100644
index 0000000..ccb5b8d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNoGeneralizationModelConstraint.java
@@ -0,0 +1,51 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.Generalization;
+
+/**
+ * 16.3.2.5 Requirement [4] Classes stereotyped by <<requirement>> shall not participate in generalizations.
+ */
+public class RequirementNoGeneralizationModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Requirement requirement = (Requirement) context.getTarget();
+ Class clazz = requirement.getBase_Class();
+ if (clazz != null) {
+ EList<Generalization> generalizations = clazz.getGeneralizations();
+ if (generalizations != null && !generalizations.isEmpty()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNotTypeModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNotTypeModelConstraint.java
new file mode 100644
index 0000000..0ab767d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/RequirementNotTypeModelConstraint.java
@@ -0,0 +1,55 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import java.util.Set;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.transaction.util.TransactionUtil;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.gmf.runtime.emf.core.util.CrossReferenceAdapter;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+import org.eclipse.uml2.uml.Class;
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * 16.3.2.5 Requirement [6] Classes stereotyped by <<requirement>> shall not be used to type any other model element.
+ */
+public class RequirementNotTypeModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see
+ * org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.
+ * emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Requirement requirement = (Requirement) context.getTarget();
+ Class clazz = requirement.getBase_Class();
+ if (clazz != null) {
+ CrossReferenceAdapter crossReferenceAdapter = CrossReferenceAdapter.getCrossReferenceAdapter(TransactionUtil.getEditingDomain(clazz).getResourceSet());
+ Set inverseReferencers = crossReferenceAdapter.getInverseReferencers(clazz, UMLPackage.eINSTANCE.getTypedElement_Type(), null);
+ if (inverseReferencers != null && !inverseReferencers.isEmpty()) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/SatisfySupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/SatisfySupplierModelConstraint.java
new file mode 100644
index 0000000..2b71d29
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/SatisfySupplierModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Satisfy;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.7 Satisfy [1] The supplier shall be an element stereotyped by any subtype of <<AbstractRequirement>>.
+ */
+public class SatisfySupplierModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Satisfy satisfy = (Satisfy) context.getTarget();
+ Abstraction abstraction = satisfy.getBase_Abstraction();
+ if (abstraction != null) {
+ EList<NamedElement> suppliers = abstraction.getSuppliers();
+ if (suppliers != null && !suppliers.isEmpty()) {
+ if (UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TestCaseParamVerdictKindModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TestCaseParamVerdictKindModelConstraint.java
new file mode 100644
index 0000000..bad4392
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TestCaseParamVerdictKindModelConstraint.java
@@ -0,0 +1,59 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.TestCase;
+import org.eclipse.uml2.uml.Operation;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+import org.eclipse.uml2.uml.Type;
+
+/**
+ * 16.3.2.6 TestCase [1] The type of return parameter of the stereotyped model element shall be VerdictKind. (note this is
+ * consistent with the UML Testing Profile).
+ */
+public class TestCaseParamVerdictKindModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ TestCase testCase = (TestCase) context.getTarget();
+ Operation operation = testCase.getBase_Operation();
+ if (operation != null) {
+ EList<Parameter> ownedParameters = operation.getOwnedParameters();
+ if (ownedParameters != null && !ownedParameters.isEmpty()) {
+ for (Parameter parameter : ownedParameters) {
+ if (ParameterDirectionKind.RETURN_LITERAL.equals(parameter.getDirection())) {
+ Type type = parameter.getType();
+ if (type == null || !"VerdictKind".equals(type.getName())) { // FIXME get the value from the correct constant
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TraceDependencyModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TraceDependencyModelConstraint.java
new file mode 100644
index 0000000..58ce224
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/TraceDependencyModelConstraint.java
@@ -0,0 +1,47 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.Trace;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.Dependency;
+import org.eclipse.uml2.uml.DirectedRelationship;
+
+/**
+ * 16.3.2.8 Trace [1] Abstractions with a Trace stereotype or one of its specializations applied shall have exactly one client
+ * and one supplier.
+ */
+public class TraceDependencyModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Trace trace = (Trace) context.getTarget();
+ Abstraction abstraction = trace.getBase_Abstraction();
+ DirectedRelationship directedRelationship = trace.getBase_DirectedRelationship();
+ if (!(abstraction instanceof Dependency && directedRelationship instanceof Dependency)) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ return context.createSuccessStatus();
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/VerifySupplierModelConstraint.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/VerifySupplierModelConstraint.java
new file mode 100644
index 0000000..56368dd
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/rules/requirements/VerifySupplierModelConstraint.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.rules.requirements;
+
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.emf.common.util.EList;
+import org.eclipse.emf.validation.AbstractModelConstraint;
+import org.eclipse.emf.validation.IValidationContext;
+import org.eclipse.papyrus.sysml16.requirements.AbstractRequirement;
+import org.eclipse.papyrus.sysml16.requirements.Verify;
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.util.UMLUtil;
+
+/**
+ * 16.3.2.9 Verify [1] The supplier shall be an element stereotyped by any subtype of <<AbstractRequirement>>.
+ */
+public class VerifySupplierModelConstraint extends AbstractModelConstraint {
+
+ /*
+ * (non-Javadoc)
+ *
+ * @see org.eclipse.emf.validation.AbstractModelConstraint#validate(org.eclipse.emf.validation.IValidationContext)
+ */
+ @Override
+ public IStatus validate(IValidationContext context) {
+ Verify verify = (Verify) context.getTarget();
+ Abstraction abstraction = verify.getBase_Abstraction();
+ if (abstraction != null) {
+ EList<NamedElement> suppliers = abstraction.getSuppliers();
+ if (suppliers != null && !suppliers.isEmpty()) {
+ if (UMLUtil.getStereotypeApplication(suppliers.get(0), AbstractRequirement.class) == null) {
+ return context.createFailureStatus(context.getTarget());
+ }
+ }
+ }
+ return context.createSuccessStatus();
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AcceptChangeStructuralFeatureEventActionSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AcceptChangeStructuralFeatureEventActionSelector.java
new file mode 100644
index 0000000..d98792f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AcceptChangeStructuralFeatureEventActionSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.AcceptChangeStructuralFeatureEventAction;
+
+public class AcceptChangeStructuralFeatureEventActionSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof AcceptChangeStructuralFeatureEventAction;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AddFlowPropertyValueOnNestedPortActionSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AddFlowPropertyValueOnNestedPortActionSelector.java
new file mode 100644
index 0000000..629730a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AddFlowPropertyValueOnNestedPortActionSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.AddFlowPropertyValueOnNestedPortAction;
+
+public class AddFlowPropertyValueOnNestedPortActionSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object object) {
+ return object instanceof AddFlowPropertyValueOnNestedPortAction;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateActivityPartitionSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateActivityPartitionSelector.java
new file mode 100644
index 0000000..f494eac
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateActivityPartitionSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition;
+
+public class AllocateActivityPartitionSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof AllocateActivityPartition;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateSelector.java
new file mode 100644
index 0000000..aa5f272
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/AllocateSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+
+public class AllocateSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Allocate;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BehaviorSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BehaviorSelector.java
new file mode 100644
index 0000000..ef7ab08
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BehaviorSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.uml2.uml.Behavior;
+
+public class BehaviorSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Behavior;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BindingConnectorSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BindingConnectorSelector.java
new file mode 100644
index 0000000..ec70d9f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BindingConnectorSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.BindingConnector;
+
+public class BindingConnectorSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof BindingConnector;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BlockSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BlockSelector.java
new file mode 100644
index 0000000..c90c239
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BlockSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.Block;
+
+public class BlockSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Block;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BoundReferenceSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BoundReferenceSelector.java
new file mode 100644
index 0000000..fcaea8c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/BoundReferenceSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.BoundReference;
+
+public class BoundReferenceSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof BoundReference;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ChangeStructuralFeatureEventSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ChangeStructuralFeatureEventSelector.java
new file mode 100644
index 0000000..1056f95
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ChangeStructuralFeatureEventSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.ChangeStructuralFeatureEvent;
+
+public class ChangeStructuralFeatureEventSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ChangeStructuralFeatureEvent;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ClassifierBehaviorPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ClassifierBehaviorPropertySelector.java
new file mode 100644
index 0000000..6f279bb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ClassifierBehaviorPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ClassifierBehaviorProperty;
+
+public class ClassifierBehaviorPropertySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ClassifierBehaviorProperty;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConformSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConformSelector.java
new file mode 100644
index 0000000..a17b77d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConformSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.Conform;
+
+public class ConformSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Conform;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConjugatedInterfaceBlockSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConjugatedInterfaceBlockSelector.java
new file mode 100644
index 0000000..473bd20
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConjugatedInterfaceBlockSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.ConjugatedInterfaceBlock;
+
+public class ConjugatedInterfaceBlockSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object object) {
+ return object instanceof ConjugatedInterfaceBlock;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConnectorPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConnectorPropertySelector.java
new file mode 100644
index 0000000..cbdb376
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConnectorPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ConnectorProperty;
+
+public class ConnectorPropertySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ConnectorProperty;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConstraintBlockSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConstraintBlockSelector.java
new file mode 100644
index 0000000..c1409bb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ConstraintBlockSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlock;
+
+public class ConstraintBlockSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ConstraintBlock;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ControlOperatorSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ControlOperatorSelector.java
new file mode 100644
index 0000000..4546ddf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ControlOperatorSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+
+public class ControlOperatorSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ControlOperator;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/CopySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/CopySelector.java
new file mode 100644
index 0000000..1bd087e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/CopySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Copy;
+
+public class CopySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Copy;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DeriveReqtSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DeriveReqtSelector.java
new file mode 100644
index 0000000..6bbcf4b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DeriveReqtSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.DeriveReqt;
+
+public class DeriveReqtSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof DeriveReqt;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedFeatureSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedFeatureSelector.java
new file mode 100644
index 0000000..7ad2d9d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedFeatureSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.DirectedFeature;
+
+public class DirectedFeatureSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof DirectedFeature;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedRelationshipPropertyPathSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedRelationshipPropertyPathSelector.java
new file mode 100644
index 0000000..4da93a8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DirectedRelationshipPropertyPathSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+public class DirectedRelationshipPropertyPathSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof DirectedRelationshipPropertyPath;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DiscreteSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DiscreteSelector.java
new file mode 100644
index 0000000..6891e3e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DiscreteSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Discrete;
+
+public class DiscreteSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Discrete;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DistributedPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DistributedPropertySelector.java
new file mode 100644
index 0000000..fec5f01
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/DistributedPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.DistributedProperty;
+
+public class DistributedPropertySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof DistributedProperty;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ElementPropertyPathSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ElementPropertyPathSelector.java
new file mode 100644
index 0000000..b392dae
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ElementPropertyPathSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ElementPropertyPath;
+
+public class ElementPropertyPathSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ElementPropertyPath;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/EndPathMultiplicitySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/EndPathMultiplicitySelector.java
new file mode 100644
index 0000000..95abe67
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/EndPathMultiplicitySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.EndPathMultiplicity;
+
+public class EndPathMultiplicitySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof EndPathMultiplicity;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ExposeSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ExposeSelector.java
new file mode 100644
index 0000000..50eae0e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ExposeSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.Expose;
+
+public class ExposeSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Expose;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FlowPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FlowPropertySelector.java
new file mode 100644
index 0000000..f3791e0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FlowPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.FlowProperty;
+
+public class FlowPropertySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof FlowProperty;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FullPortSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FullPortSelector.java
new file mode 100644
index 0000000..687a812
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/FullPortSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.FullPort;
+
+public class FullPortSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof FullPort;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InterfaceBlockSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InterfaceBlockSelector.java
new file mode 100644
index 0000000..20a8525
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InterfaceBlockSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.InterfaceBlock;
+
+public class InterfaceBlockSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof InterfaceBlock;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InvocationOnNestedPortActionSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InvocationOnNestedPortActionSelector.java
new file mode 100644
index 0000000..c8eb956
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/InvocationOnNestedPortActionSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.InvocationOnNestedPortAction;
+
+public class InvocationOnNestedPortActionSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof InvocationOnNestedPortAction;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ItemFlowSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ItemFlowSelector.java
new file mode 100644
index 0000000..15e17f6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ItemFlowSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.ItemFlow;
+
+public class ItemFlowSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ItemFlow;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NestedConnectorEndSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NestedConnectorEndSelector.java
new file mode 100644
index 0000000..62945da
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NestedConnectorEndSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.NestedConnectorEnd;
+
+public class NestedConnectorEndSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof NestedConnectorEnd;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NoBufferSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NoBufferSelector.java
new file mode 100644
index 0000000..99d9233
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/NoBufferSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.NoBuffer;
+
+public class NoBufferSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof NoBuffer;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OperationSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OperationSelector.java
new file mode 100644
index 0000000..472f9c2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OperationSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.uml2.uml.Operation;
+
+public class OperationSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Operation;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OptionalSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OptionalSelector.java
new file mode 100644
index 0000000..87da046
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OptionalSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Optional;
+
+public class OptionalSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Optional;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OverwriteSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OverwriteSelector.java
new file mode 100644
index 0000000..6d8a716
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/OverwriteSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Overwrite;
+
+public class OverwriteSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Overwrite;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ParticipantPropertySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ParticipantPropertySelector.java
new file mode 100644
index 0000000..b310008
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ParticipantPropertySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ParticipantProperty;
+
+public class ParticipantPropertySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ParticipantProperty;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProbabilitySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProbabilitySelector.java
new file mode 100644
index 0000000..4a249cc
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProbabilitySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+
+public class ProbabilitySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Probability;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/PropertySpecificTypeSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/PropertySpecificTypeSelector.java
new file mode 100644
index 0000000..44ce010
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/PropertySpecificTypeSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.PropertySpecificType;
+
+public class PropertySpecificTypeSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof PropertySpecificType;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProxyPortSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProxyPortSelector.java
new file mode 100644
index 0000000..a1a8b3b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ProxyPortSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.ProxyPort;
+
+public class ProxyPortSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ProxyPort;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RateSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RateSelector.java
new file mode 100644
index 0000000..fa53d95
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RateSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+
+public class RateSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Rate;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RefineSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RefineSelector.java
new file mode 100644
index 0000000..6ecf991
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RefineSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Refine;
+
+public class RefineSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Refine;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RequirementSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RequirementSelector.java
new file mode 100644
index 0000000..91441ea
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/RequirementSelector.java
@@ -0,0 +1,28 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Requirement;
+
+public class RequirementSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Requirement;
+ }
+
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/SatisfySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/SatisfySelector.java
new file mode 100644
index 0000000..75864a9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/SatisfySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Satisfy;
+
+public class SatisfySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Satisfy;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/StakeholderSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/StakeholderSelector.java
new file mode 100644
index 0000000..beb00cb
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/StakeholderSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Pauline DEVILLE (CEA LIST) - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.Stakeholder;
+
+public class StakeholderSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Stakeholder;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TestCaseSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TestCaseSelector.java
new file mode 100644
index 0000000..502e33e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TestCaseSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.TestCase;
+
+public class TestCaseSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof TestCase;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TraceSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TraceSelector.java
new file mode 100644
index 0000000..a8f2121
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TraceSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Trace;
+
+public class TraceSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Trace;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TriggerOnNestedPortSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TriggerOnNestedPortSelector.java
new file mode 100644
index 0000000..4d7739a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TriggerOnNestedPortSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.portsandflows.TriggerOnNestedPort;
+
+public class TriggerOnNestedPortSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof TriggerOnNestedPort;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TrueSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TrueSelector.java
new file mode 100644
index 0000000..ee3e88b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/TrueSelector.java
@@ -0,0 +1,32 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+
+/**
+ * Temporary solution to execute validation on uml context
+ * @deprecated
+ */
+// TODO: to remove once Bug 507734 is solved
+@Deprecated
+public class TrueSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object object) {
+ return true;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ValueTypeSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ValueTypeSelector.java
new file mode 100644
index 0000000..5422ed6
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ValueTypeSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.blocks.ValueType;
+
+public class ValueTypeSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof ValueType;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/VerifySelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/VerifySelector.java
new file mode 100644
index 0000000..f370d91
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/VerifySelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.requirements.Verify;
+
+public class VerifySelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Verify;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewSelector.java
new file mode 100644
index 0000000..8dc606f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.View;
+
+public class ViewSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof View;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewpointSelector.java b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewpointSelector.java
new file mode 100644
index 0000000..50fcc6e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/src/org/eclipse/papyrus/sysml16/validation/selectors/ViewpointSelector.java
@@ -0,0 +1,27 @@
+/*****************************************************************************
+ * Copyright (c) 2019 CEA LIST, and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrus.sysml16.validation.selectors;
+
+import org.eclipse.emf.validation.model.IClientSelector;
+import org.eclipse.papyrus.sysml16.modelelements.Viewpoint;
+
+public class ViewpointSelector implements IClientSelector {
+
+ @Override
+ public boolean selects(Object stereoApplicationObj) {
+ return stereoApplicationObj instanceof Viewpoint;
+ }
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16.validation/validation.mediawiki b/plugins/core/org.eclipse.papyrus.sysml16.validation/validation.mediawiki
new file mode 100644
index 0000000..6483673
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16.validation/validation.mediawiki
@@ -0,0 +1,159 @@
+=DONE=
+==ModelElements==
+* (Conform) 1_general_is_viewpoint
+* (Conform) 2_specific_is_view
+* (Expose) 1_client_is_view
+* (Stakeholder) 1_not_association ??
+* (View) 1_single_viewpoint
+* (Viewpoint) 2_create_view_operation
+==Blocks==
+* (BindingConnector) 1_compatible_types
+* (Block) 1_associations_binary
+* (Block) 2_connectors_binary
+* (Block) 6_valueproperties_composite
+* (Block) 8_specializations_are_blocks
+* (BoundReference) 1_bindingconnector_end
+* (BoundReference) 2_opposite_bindingconnector_end
+* (BoundReference) 3_navigable
+* (BoundReference) 4_propertypath_consistency
+* (BoundReference) 5_reference_or_valueproperty
+* (BoundReference) 6_ordered_nonunique
+* (BoundReference) 7_cannot_redefine_boundreference
+* (BoundReference) 8_notbounded_to_itslef
+* (ClassifierBehaviorProperty) 1_owner_classifierbehavior
+* (ClassifierBehaviorProperty) 2_composite
+* (ClassifierBehaviorProperty) 3_typed_by_classifierbehavior
+* (ConnectorProperty) 1_block_property
+* (ConnectorProperty) 2_owned_or_inherited
+* (ConnectorProperty) 3_composite
+* (ConnectorProperty) 4_typed_by_associationblock
+* (ConnectorProperty) 5_same_name
+* (DirectedRelationshipPropertyPath) 1_sourcecontext_iif_property
+* (DirectedRelationshipPropertyPath) 2_targetcontext_iif_property
+* (DirectedRelationshipPropertyPath) 3_sourcepropertypath_implies_property
+* (DirectedRelationshipPropertyPath) 4_targetpropertypath_implies_property
+* (DirectedRelationshipPropertyPath) 5_sourcecontext_owns_sourcepath_first
+* (DirectedRelationshipPropertyPath) 6_targetcontext_owns_targetpath_first
+* (DirectedRelationshipPropertyPath) 8_sourcepath_last_type_owns_source
+* (DirectedRelationshipPropertyPath) 9_targetpath_last_type_owns_target
+* (DistributedProperty) 1_block_or_valuetype
+* (ElementPropertyPath) 1_path_consistency
+* (EndPathMultiplicity) 1_redefinition
+* (EndPathMultiplicity) 2_non_negative
+* (NestedConnectorEnd) 1_propertypath_first_owned_by_connector_owner
+* (NestedConnectorEnd) 2_propertypath_last_type_owns_role
+* (ParticipantProperty) 1_associationblock
+* (ParticipantProperty) 2_memberend
+* (ParticipantProperty) 3_aggregationkind_none
+* (ParticipantProperty) 4_end_owner
+* (ParticipantProperty) 5_same_type
+* (ParticipantProperty) 6_multiplicity_1
+* (PropertySpecificType) 1_only_one_property
+* (ValueType) 1_specializations_are_valuetypes
+* (ValueType) 2_unit
+* (ValueType) 3_quantitykind
+==PortsAndFlows==
+* (AcceptChangeStructuralFeatureEventAction) 1_one_trigger
+* (AcceptChangeStructuralFeatureEventAction) 2_two_resultpins
+* (AcceptChangeStructuralFeatureEventAction) 3_context_owns_structuralfeature
+* (AcceptChangeStructuralFeatureEventAction) 4_can_access_structuralfeature
+* (AddFlowPropertyValueOnNestedPortAction) 1_feature_flowproperty
+* (AddFlowPropertyValueOnNestedPortAction) 2_onnestedport_first_owned_by_target_type
+* (AddFlowPropertyValueOnNestedPortAction) 3_path_consistency
+* (AddFlowPropertyValueOnNestedPortAction) 4_onnestedport_last_type_owns_invocation_onPort
+* (ChangeStructuralFeatureEvent) 1_not_static
+* (ChangeStructuralFeatureEvent) 2_one_featuringclassifier
+* (DirectedFeature) 1_behavioralfeature_or_not_flowproperty
+* (FlowProperty) 1_restricted_types
+* (FullPort) 1_not_proxy
+* (FullPort) 2_not_bound_to_fullport
+* (FullPort) 3_not_behavioral
+* (InterfaceBlock) 1_no_behavior
+* (InterfaceBlock) 3_interfaceblock_typed_ports
+* (InterfaceBlock) isconjugated_not_used
+* (InvocationOnNestedPortAction) 1_onPort_defined
+* (InvocationOnNestedPortAction) 2_onnestedport_first_owned_by_target_type
+* (InvocationOnNestedPortAction) 3_path_consistency
+* (InvocationOnNestedPortAction) 4_onnestedport_last_type_owns_invocation_onPort
+* (ItemFlow) 2_type_restricted
+* (ItemFlow) 4_association_xor_itemproperty
+* (ItemFlow) 5_same_type
+* (ItemFlow) 6_same_name
+* (ProxyPort) 1_not_fullport
+* (ProxyPort) 2_interfaceblock
+* (ProxyPort) 3_subports_are_proxyports
+* (TriggerOnNestedPort) 1_single_proxyport
+* (TriggerOnNestedPort) 2_no_fullport
+* (TriggerOnNestedPort) 3_onnestedport_first_owned_by_context
+* (TriggerOnNestedPort) 4_path_consistency
+* (~InterfaceBlock) enforced_name
+==ConstraintBlocks==
+* (ConstraintBlock) 3_composite
+==Activities==
+* (ControlOperator) 1_one_parameter_controlvalue
+* (ControlOperator) 2_controloperator_operation_method
+* (Discrete) 1_not_continuous
+* (NoBuffer) 1_not_overwrite
+* (Overwrite) 1_not_nobuffer
+* (Optional) 1_lower_is_0
+* (Probability) 1_source_decisionnode_or_objectnode
+* (Probability) 2_all_outgoing_edges
+* (Probability) 3_all_parametersets
+* (Probability) 4_all_outputparameter_in_parametersets
+* (Rate) 1_streaming
+* (Rate) 2_edges_rates
+==Allocations==
+* (Allocate) 2_binary
+* (AllocateActivityPartition) 1_actions_on_client_ends
+==Requirements==
+* (Copy) 1_source_and_taget_are_requirements
+* (Copy) 2_same_text
+* (DeriveReqt) 1_supplier_is_requirement
+* (DeriveReqt) 2_client_is_requirement
+* (Refine) 2_binary
+* (Requirement) 1_no_operation
+* (Requirement) 2_no_attribute
+* (Requirement) 3_no_association
+* (Requirement) 4_no_generalization
+* (Requirement) 5_nestedclassifiers_are_requirements
+* (Requirement) 6_not_a_type
+* (TestCase) 1_return_verdictkind
+* (Satisfy) 1_supplier_is_requirement
+* (Trace) 2_binary
+* (Verify) 1_supplier_is_requirement
+
+=TODO=
+==ModelElements==
+* (View) 2_viewpoint_derived_from_conform
+* (View) 3_stakeholder_derived_from_conform
+* (Viewpoint) 1_method_derived_from_create_operations
+==Blocks==
+* (AdjunctProperty) 1_principal_kind
+* (AdjunctProperty) 2_same_name
+* (AdjunctProperty) 3_connector_and_callaction_composite
+* (AdjunctProperty) 4_same_owner
+* (AdjunctProperty) 5_compatible_type
+* (AdjunctProperty) 6_connector_principal_associationblock
+* (AdjunctProperty) 7_adjunctproperty_connectorproperty_consistent
+* (AdjunctProperty) 8_callAction_composite_and_consitent_type
+* (AdjunctProperty) 9_objectnode_multiplicity
+* (AdjunctProperty) 10_multiplicity_same_or_less_restrictive
+* (AdjunctProperty) 11_submachine_and_interactionuse_composite_and
+* (Block) 5_uml_connector_constraint_removed => remove an uml constraint
+* (Block) 7_composition_acyclic => inconsistency between ocl rule and text
+* (Block) 9_uml constraint_removed => remove an uml constraint
+* (DirectedRelationshipPropertyPath) 7_path_and_owners_consistency
+==PortsAndFlows==
+* (AcceptChangeStructuralFeatureEventAction) 5_uml_constraint_removed
+* (DirectedFeature) 2_method_if_provided => it seems that this constraint is conflicting with the (DirectedFeature) 1_behavioralfeature_or_not_flowproperty constraint
+* (InterfaceBlock) 2_no_part => change since 1.4 but it seems that the definition is not consistent with the OCL expression
+* (ItemFlow) 1_source_and_target_linked
+* (ItemFlow) 3_itemproperty_common_owner
+* (TriggerOnNestedPort) 5_onnestedport_last_type_owns_trigger_port
+* (~InterfaceBlock) inverted_features
+==ConstraintBlocks==
+* (ConstraintBlock) 1_constraintparameters_only
+==Activities==
+==Allocations==
+* (AllocateActivityPartition) 2_not_uml_semantics
+==Requirements==
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.classpath b/plugins/core/org.eclipse.papyrus.sysml16/.classpath
new file mode 100644
index 0000000..5814bdf
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.classpath
@@ -0,0 +1,8 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src-gen/"/>
+ <classpathentry kind="src" path="src/"/>
+ <classpathentry kind="output" path="target/classes"/>
+</classpath>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.project b/plugins/core/org.eclipse.papyrus.sysml16/.project
new file mode 100644
index 0000000..6b8a2f2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.sysml16</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.m2e.core.maven2Builder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.m2e.core.maven2Nature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.resources.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.resources.prefs
new file mode 100644
index 0000000..896a9a5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.resources.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+encoding/<project>=UTF-8
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.runtime.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.runtime.prefs
new file mode 100644
index 0000000..5a0ad22
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.core.runtime.prefs
@@ -0,0 +1,2 @@
+eclipse.preferences.version=1
+line.separator=\n
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 0000000..2411532
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,294 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
+org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
+org.eclipse.jdt.core.compiler.debug.lineNumber=generate
+org.eclipse.jdt.core.compiler.debug.localVariable=generate
+org.eclipse.jdt.core.compiler.debug.sourceFile=generate
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.release=disabled
+org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_call=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_assignment=0
+org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
+org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
+org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
+org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
+org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
+org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
+org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_constructor_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_throws_clause_in_method_declaration=16
+org.eclipse.jdt.core.formatter.alignment_for_union_type_in_multicatch=16
+org.eclipse.jdt.core.formatter.blank_lines_after_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_after_package=1
+org.eclipse.jdt.core.formatter.blank_lines_before_field=0
+org.eclipse.jdt.core.formatter.blank_lines_before_first_class_body_declaration=0
+org.eclipse.jdt.core.formatter.blank_lines_before_imports=1
+org.eclipse.jdt.core.formatter.blank_lines_before_member_type=1
+org.eclipse.jdt.core.formatter.blank_lines_before_method=1
+org.eclipse.jdt.core.formatter.blank_lines_before_new_chunk=1
+org.eclipse.jdt.core.formatter.blank_lines_before_package=0
+org.eclipse.jdt.core.formatter.blank_lines_between_import_groups=1
+org.eclipse.jdt.core.formatter.blank_lines_between_type_declarations=1
+org.eclipse.jdt.core.formatter.brace_position_for_annotation_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_anonymous_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_array_initializer=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_block_in_case=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_constructor_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_constant=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_enum_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_lambda_body=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_method_declaration=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_switch=end_of_line
+org.eclipse.jdt.core.formatter.brace_position_for_type_declaration=end_of_line
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_block_comment=false
+org.eclipse.jdt.core.formatter.comment.clear_blank_lines_in_javadoc_comment=false
+org.eclipse.jdt.core.formatter.comment.format_block_comments=true
+org.eclipse.jdt.core.formatter.comment.format_header=false
+org.eclipse.jdt.core.formatter.comment.format_html=true
+org.eclipse.jdt.core.formatter.comment.format_javadoc_comments=true
+org.eclipse.jdt.core.formatter.comment.format_line_comments=true
+org.eclipse.jdt.core.formatter.comment.format_source_code=true
+org.eclipse.jdt.core.formatter.comment.indent_parameter_description=true
+org.eclipse.jdt.core.formatter.comment.indent_root_tags=true
+org.eclipse.jdt.core.formatter.comment.insert_new_line_before_root_tags=insert
+org.eclipse.jdt.core.formatter.comment.insert_new_line_for_parameter=insert
+org.eclipse.jdt.core.formatter.comment.line_length=260
+org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries=true
+org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries=true
+org.eclipse.jdt.core.formatter.comment.preserve_white_space_between_code_and_line_comments=false
+org.eclipse.jdt.core.formatter.compact_else_if=true
+org.eclipse.jdt.core.formatter.continuation_indentation=2
+org.eclipse.jdt.core.formatter.continuation_indentation_for_array_initializer=2
+org.eclipse.jdt.core.formatter.disabling_tag=@formatter\:off
+org.eclipse.jdt.core.formatter.enabling_tag=@formatter\:on
+org.eclipse.jdt.core.formatter.format_guardian_clause_on_one_line=false
+org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_annotation_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_constant_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_enum_declaration_header=true
+org.eclipse.jdt.core.formatter.indent_body_declarations_compare_to_type_header=true
+org.eclipse.jdt.core.formatter.indent_breaks_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_empty_lines=false
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_block=true
+org.eclipse.jdt.core.formatter.indent_statements_compare_to_body=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_cases=true
+org.eclipse.jdt.core.formatter.indent_switchstatements_compare_to_switch=false
+org.eclipse.jdt.core.formatter.indentation.size=4
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_field=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_local_variable=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_method=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_package=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_parameter=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_annotation_on_type=insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_label=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_opening_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_after_type_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_at_end_of_file_if_missing=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_catch_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_closing_brace_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_else_in_if_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_finally_in_try_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_before_while_in_do_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_annotation_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_block=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
+org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_after_closing_paren_in_cast=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_case=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_colon_in_labeled_statement=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_allocation_expression=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_annotation=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_constructor_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_constant_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_enum_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_explicitconstructorcall_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_increments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_for_inits=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_declaration_throws=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_method_invocation_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_field_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_multiple_local_declarations=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_parameterized_type_reference=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_superinterfaces=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
+org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
+org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
+org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_opening_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
+org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_cast=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_catch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_if=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_switch=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_synchronized=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_try=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_closing_paren_in_while=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_assert=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_case=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_default=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_colon_in_labeled_statement=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_constructor_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_constant_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_enum_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_explicitconstructorcall_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_increments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_for_inits=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_declaration_throws=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_method_invocation_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_field_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_multiple_local_declarations=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_superinterfaces=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_annotation_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_anonymous_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_array_initializer=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_block=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_constructor_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_constant=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_enum_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_method_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_brace_in_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_bracket_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_catch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_for=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_if=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_parenthesized_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_switch=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_synchronized=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_try=insert
+org.eclipse.jdt.core.formatter.insert_space_before_opening_paren_in_while=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_return=insert
+org.eclipse.jdt.core.formatter.insert_space_before_parenthesized_expression_in_throw=insert
+org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
+org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_brackets_in_array_allocation_expression=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_annotation_type_member_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_constructor_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_enum_constant=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_declaration=do not insert
+org.eclipse.jdt.core.formatter.insert_space_between_empty_parens_in_method_invocation=do not insert
+org.eclipse.jdt.core.formatter.join_lines_in_comments=false
+org.eclipse.jdt.core.formatter.join_wrapped_lines=false
+org.eclipse.jdt.core.formatter.keep_else_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.keep_empty_array_initializer_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_imple_if_on_one_line=false
+org.eclipse.jdt.core.formatter.keep_then_statement_on_same_line=false
+org.eclipse.jdt.core.formatter.lineSplit=260
+org.eclipse.jdt.core.formatter.never_indent_block_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.never_indent_line_comments_on_first_column=false
+org.eclipse.jdt.core.formatter.number_of_blank_lines_at_beginning_of_method_body=0
+org.eclipse.jdt.core.formatter.number_of_empty_lines_to_preserve=5
+org.eclipse.jdt.core.formatter.put_empty_statement_on_new_line=true
+org.eclipse.jdt.core.formatter.tabulation.char=tab
+org.eclipse.jdt.core.formatter.tabulation.size=4
+org.eclipse.jdt.core.formatter.use_on_off_tags=false
+org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.ui.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.ui.prefs
new file mode 100644
index 0000000..ba7542e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.jdt.ui.prefs
@@ -0,0 +1,127 @@
+cleanup.add_default_serial_version_id=true
+cleanup.add_generated_serial_version_id=false
+cleanup.add_missing_annotations=true
+cleanup.add_missing_deprecated_annotations=true
+cleanup.add_missing_methods=false
+cleanup.add_missing_nls_tags=false
+cleanup.add_missing_override_annotations=true
+cleanup.add_missing_override_annotations_interface_methods=true
+cleanup.add_serial_version_id=false
+cleanup.always_use_blocks=true
+cleanup.always_use_parentheses_in_expressions=false
+cleanup.always_use_this_for_non_static_field_access=false
+cleanup.always_use_this_for_non_static_method_access=false
+cleanup.convert_functional_interfaces=false
+cleanup.convert_to_enhanced_for_loop=false
+cleanup.correct_indentation=false
+cleanup.format_source_code=false
+cleanup.format_source_code_changes_only=false
+cleanup.insert_inferred_type_arguments=false
+cleanup.make_local_variable_final=true
+cleanup.make_parameters_final=false
+cleanup.make_private_fields_final=true
+cleanup.make_type_abstract_if_missing_method=false
+cleanup.make_variable_declarations_final=false
+cleanup.never_use_blocks=false
+cleanup.never_use_parentheses_in_expressions=true
+cleanup.organize_imports=false
+cleanup.qualify_static_field_accesses_with_declaring_class=false
+cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+cleanup.qualify_static_member_accesses_with_declaring_class=true
+cleanup.qualify_static_method_accesses_with_declaring_class=false
+cleanup.remove_private_constructors=true
+cleanup.remove_redundant_type_arguments=true
+cleanup.remove_trailing_whitespaces=true
+cleanup.remove_trailing_whitespaces_all=true
+cleanup.remove_trailing_whitespaces_ignore_empty=false
+cleanup.remove_unnecessary_casts=true
+cleanup.remove_unnecessary_nls_tags=true
+cleanup.remove_unused_imports=true
+cleanup.remove_unused_local_variables=false
+cleanup.remove_unused_private_fields=true
+cleanup.remove_unused_private_members=false
+cleanup.remove_unused_private_methods=true
+cleanup.remove_unused_private_types=true
+cleanup.sort_members=false
+cleanup.sort_members_all=false
+cleanup.use_anonymous_class_creation=false
+cleanup.use_blocks=true
+cleanup.use_blocks_only_for_return_and_throw=false
+cleanup.use_lambda=true
+cleanup.use_parentheses_in_expressions=false
+cleanup.use_this_for_non_static_field_access=false
+cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+cleanup.use_this_for_non_static_method_access=false
+cleanup.use_this_for_non_static_method_access_only_if_necessary=true
+cleanup.use_type_arguments=false
+cleanup_profile=_Papyrus
+cleanup_settings_version=2
+eclipse.preferences.version=1
+editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
+formatter_profile=_Papyrus
+formatter_settings_version=12
+org.eclipse.jdt.ui.ignorelowercasenames=true
+org.eclipse.jdt.ui.importorder=java;javax;org;com;
+org.eclipse.jdt.ui.javadoc=true
+org.eclipse.jdt.ui.ondemandthreshold=99
+org.eclipse.jdt.ui.staticondemandthreshold=99
+org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates><template autoinsert\="true" context\="gettercomment_context" deleted\="false" description\="Comment for getter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.gettercomment" name\="gettercomment">/**\n * @return the ${bare_field_name}\n */</template><template autoinsert\="true" context\="settercomment_context" deleted\="false" description\="Comment for setter method" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.settercomment" name\="settercomment">/**\n * @param ${param} the ${bare_field_name} to set\n */</template><template autoinsert\="false" context\="constructorcomment_context" deleted\="false" description\="Comment for created constructors" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorcomment" name\="constructorcomment">/**\n * Constructor.\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="filecomment_context" deleted\="false" description\="Comment for created Java files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.filecomment" name\="filecomment">/*****************************************************************************\n * Copyright (c) ${year} CEA LIST and others.\n * \n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License 2.0\n * which accompanies this distribution, and is available at\n * http\://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n *\n * Contributors\:\n * CEA LIST - Initial API and implementation\n * \n *****************************************************************************/\n</template><template autoinsert\="true" context\="typecomment_context" deleted\="false" description\="Comment for created types" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.typecomment" name\="typecomment">/**\n * @author ${user}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="fieldcomment_context" deleted\="false" description\="Comment for fields" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.fieldcomment" name\="fieldcomment">/**\n * \n */</template><template autoinsert\="true" context\="methodcomment_context" deleted\="false" description\="Comment for non-overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodcomment" name\="methodcomment">/**\n * ${tags}\n */</template><template autoinsert\="false" context\="overridecomment_context" deleted\="false" description\="Comment for overriding methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.overridecomment" name\="overridecomment">/**\n * ${see_to_overridden}\n *\n * ${tags}\n */</template><template autoinsert\="false" context\="delegatecomment_context" deleted\="false" description\="Comment for delegate methods" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.delegatecomment" name\="delegatecomment">/**\n * ${see_to_target}\n *\n * ${tags}\n */</template><template autoinsert\="true" context\="newtype_context" deleted\="false" description\="Newly created files" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.newtype" name\="newtype">${filecomment}\n${package_declaration}\n\n${typecomment}\n${type_declaration}</template><template autoinsert\="true" context\="classbody_context" deleted\="false" description\="Code in new class type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.classbody" name\="classbody">\n</template><template autoinsert\="true" context\="interfacebody_context" deleted\="false" description\="Code in new interface type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.interfacebody" name\="interfacebody">\n</template><template autoinsert\="true" context\="enumbody_context" deleted\="false" description\="Code in new enum type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.enumbody" name\="enumbody">\n</template><template autoinsert\="true" context\="annotationbody_context" deleted\="false" description\="Code in new annotation type bodies" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.annotationbody" name\="annotationbody">\n</template><template autoinsert\="true" context\="catchblock_context" deleted\="false" description\="Code in new catch blocks" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.catchblock" name\="catchblock">// ${todo} Auto-generated catch block\n${exception_var}.printStackTrace();</template><template autoinsert\="true" context\="methodbody_context" deleted\="false" description\="Code in created method stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.methodbody" name\="methodbody">// ${todo} Auto-generated method stub\n${body_statement}</template><template autoinsert\="true" context\="constructorbody_context" deleted\="false" description\="Code in created constructor stubs" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.constructorbody" name\="constructorbody">${body_statement}\n// ${todo} Auto-generated constructor stub</template><template autoinsert\="true" context\="getterbody_context" deleted\="false" description\="Code in created getters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.getterbody" name\="getterbody">return ${field};</template><template autoinsert\="true" context\="setterbody_context" deleted\="false" description\="Code in created setters" enabled\="true" id\="org.eclipse.jdt.ui.text.codetemplates.setterbody" name\="setterbody">${field} \= ${param};</template></templates>
+sp_cleanup.add_default_serial_version_id=true
+sp_cleanup.add_generated_serial_version_id=false
+sp_cleanup.add_missing_annotations=true
+sp_cleanup.add_missing_deprecated_annotations=true
+sp_cleanup.add_missing_methods=false
+sp_cleanup.add_missing_nls_tags=false
+sp_cleanup.add_missing_override_annotations=true
+sp_cleanup.add_missing_override_annotations_interface_methods=true
+sp_cleanup.add_serial_version_id=false
+sp_cleanup.always_use_blocks=true
+sp_cleanup.always_use_parentheses_in_expressions=false
+sp_cleanup.always_use_this_for_non_static_field_access=false
+sp_cleanup.always_use_this_for_non_static_method_access=false
+sp_cleanup.convert_functional_interfaces=false
+sp_cleanup.convert_to_enhanced_for_loop=false
+sp_cleanup.correct_indentation=false
+sp_cleanup.format_source_code=true
+sp_cleanup.format_source_code_changes_only=false
+sp_cleanup.insert_inferred_type_arguments=false
+sp_cleanup.make_local_variable_final=true
+sp_cleanup.make_parameters_final=false
+sp_cleanup.make_private_fields_final=true
+sp_cleanup.make_type_abstract_if_missing_method=false
+sp_cleanup.make_variable_declarations_final=false
+sp_cleanup.never_use_blocks=false
+sp_cleanup.never_use_parentheses_in_expressions=true
+sp_cleanup.on_save_use_additional_actions=true
+sp_cleanup.organize_imports=true
+sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
+sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
+sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
+sp_cleanup.remove_private_constructors=true
+sp_cleanup.remove_redundant_modifiers=false
+sp_cleanup.remove_redundant_type_arguments=true
+sp_cleanup.remove_trailing_whitespaces=true
+sp_cleanup.remove_trailing_whitespaces_all=true
+sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
+sp_cleanup.remove_unnecessary_casts=true
+sp_cleanup.remove_unnecessary_nls_tags=true
+sp_cleanup.remove_unused_imports=true
+sp_cleanup.remove_unused_local_variables=false
+sp_cleanup.remove_unused_private_fields=true
+sp_cleanup.remove_unused_private_members=false
+sp_cleanup.remove_unused_private_methods=true
+sp_cleanup.remove_unused_private_types=true
+sp_cleanup.sort_members=false
+sp_cleanup.sort_members_all=false
+sp_cleanup.use_anonymous_class_creation=false
+sp_cleanup.use_blocks=true
+sp_cleanup.use_blocks_only_for_return_and_throw=false
+sp_cleanup.use_lambda=true
+sp_cleanup.use_parentheses_in_expressions=false
+sp_cleanup.use_this_for_non_static_field_access=false
+sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
+sp_cleanup.use_this_for_non_static_method_access=false
+sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.m2e.core.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.m2e.core.prefs
new file mode 100644
index 0000000..f897a7f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.m2e.core.prefs
@@ -0,0 +1,4 @@
+activeProfiles=
+eclipse.preferences.version=1
+resolveWorkspaceProjects=true
+version=1
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.pde.api.tools.prefs b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.pde.api.tools.prefs
new file mode 100644
index 0000000..b2260f8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/.settings/org.eclipse.pde.api.tools.prefs
@@ -0,0 +1,104 @@
+ANNOTATION_ELEMENT_TYPE_ADDED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_ADDED_METHOD_WITHOUT_DEFAULT_VALUE=Error
+ANNOTATION_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_FIELD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_METHOD=Error
+ANNOTATION_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_API_TYPE=Error
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_API_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_REEXPORTED_TYPE=Warning
+API_COMPONENT_ELEMENT_TYPE_REMOVED_TYPE=Error
+API_USE_SCAN_FIELD_SEVERITY=Error
+API_USE_SCAN_METHOD_SEVERITY=Error
+API_USE_SCAN_TYPE_SEVERITY=Error
+CLASS_ELEMENT_TYPE_ADDED_FIELD=Warning
+CLASS_ELEMENT_TYPE_ADDED_METHOD=Error
+CLASS_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+CLASS_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CLASS_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+CLASS_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+CLASS_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+CLASS_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+CLASS_ELEMENT_TYPE_REMOVED_CONSTRUCTOR=Error
+CLASS_ELEMENT_TYPE_REMOVED_FIELD=Error
+CLASS_ELEMENT_TYPE_REMOVED_METHOD=Error
+CLASS_ELEMENT_TYPE_REMOVED_SUPERCLASS=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+CLASS_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+CONSTRUCTOR_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+CONSTRUCTOR_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+ENUM_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+ENUM_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+ENUM_ELEMENT_TYPE_REMOVED_ENUM_CONSTANT=Error
+ENUM_ELEMENT_TYPE_REMOVED_FIELD=Error
+ENUM_ELEMENT_TYPE_REMOVED_METHOD=Error
+ENUM_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+FIELD_ELEMENT_TYPE_ADDED_VALUE=Warning
+FIELD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+FIELD_ELEMENT_TYPE_CHANGED_FINAL_TO_NON_FINAL_STATIC_CONSTANT=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+FIELD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+FIELD_ELEMENT_TYPE_CHANGED_TYPE=Error
+FIELD_ELEMENT_TYPE_CHANGED_VALUE=Warning
+FIELD_ELEMENT_TYPE_REMOVED_TYPE_ARGUMENT=Error
+FIELD_ELEMENT_TYPE_REMOVED_VALUE=Error
+ILLEGAL_EXTEND=Warning
+ILLEGAL_IMPLEMENT=Warning
+ILLEGAL_INSTANTIATE=Warning
+ILLEGAL_OVERRIDE=Warning
+ILLEGAL_REFERENCE=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_DEFAULT_METHOD=Warning
+INTERFACE_ELEMENT_TYPE_ADDED_FIELD=Ignore
+INTERFACE_ELEMENT_TYPE_ADDED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_SUPER_INTERFACE_WITH_METHODS=Error
+INTERFACE_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_CONTRACTED_SUPERINTERFACES_SET=Error
+INTERFACE_ELEMENT_TYPE_CHANGED_TYPE_CONVERSION=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_FIELD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_METHOD=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_MEMBER=Error
+INTERFACE_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+INVALID_ANNOTATION=Ignore
+INVALID_JAVADOC_TAG=Ignore
+INVALID_REFERENCE_IN_SYSTEM_LIBRARIES=Ignore
+LEAK_EXTEND=Warning
+LEAK_FIELD_DECL=Warning
+LEAK_IMPLEMENT=Warning
+LEAK_METHOD_PARAM=Warning
+LEAK_METHOD_RETURN_TYPE=Warning
+METHOD_ELEMENT_TYPE_ADDED_RESTRICTIONS=Error
+METHOD_ELEMENT_TYPE_ADDED_TYPE_PARAMETER=Error
+METHOD_ELEMENT_TYPE_CHANGED_DECREASE_ACCESS=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_ABSTRACT_TO_ABSTRACT=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_FINAL_TO_FINAL=Error
+METHOD_ELEMENT_TYPE_CHANGED_NON_STATIC_TO_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_STATIC_TO_NON_STATIC=Error
+METHOD_ELEMENT_TYPE_CHANGED_VARARGS_TO_ARRAY=Error
+METHOD_ELEMENT_TYPE_REMOVED_ANNOTATION_DEFAULT_VALUE=Error
+METHOD_ELEMENT_TYPE_REMOVED_TYPE_PARAMETER=Error
+MISSING_EE_DESCRIPTIONS=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_ADDED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_CHANGED_INTERFACE_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_CLASS_BOUND=Error
+TYPE_PARAMETER_ELEMENT_TYPE_REMOVED_INTERFACE_BOUND=Error
+UNUSED_PROBLEM_FILTERS=Warning
+automatically_removed_unused_problem_filters=Enabled
+changed_execution_env=Warning
+eclipse.preferences.version=1
+incompatible_api_component_version=Warning
+incompatible_api_component_version_include_major_without_breaking_change=Disabled
+incompatible_api_component_version_include_minor_without_api_change=Disabled
+incompatible_api_component_version_report_major_without_breaking_change=Error
+incompatible_api_component_version_report_minor_without_api_change=Error
+invalid_since_tag_version=Error
+malformed_since_tag=Error
+missing_since_tag=Error
+report_api_breakage_when_major_version_incremented=Disabled
+report_resolution_errors_api_component=Warning
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/META-INF/MANIFEST.MF b/plugins/core/org.eclipse.papyrus.sysml16/META-INF/MANIFEST.MF
new file mode 100644
index 0000000..8a5abc2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/META-INF/MANIFEST.MF
@@ -0,0 +1,48 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %Bundle-Name
+Bundle-SymbolicName: org.eclipse.papyrus.sysml16;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-ClassPath: .
+Bundle-Activator: org.eclipse.papyrus.sysml16.Activator
+Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.1,4.0.0)",
+ org.eclipse.emf.ecore;bundle-version="[2.11.2,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.profile.standard;bundle-version="[1.0.100,2.0.0)";visibility:=reexport,
+ org.eclipse.uml2.types;bundle-version="[2.0.0,3.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml;bundle-version="[5.1.0,6.0.0)";visibility:=reexport,
+ org.eclipse.uml2.uml.resources;bundle-version="[5.1.0,6.0.0)"
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Export-Package: org.eclipse.papyrus.sysml16,
+ org.eclipse.papyrus.sysml16.activities,
+ org.eclipse.papyrus.sysml16.activities.internal.impl,
+ org.eclipse.papyrus.sysml16.activities.util,
+ org.eclipse.papyrus.sysml16.allocations,
+ org.eclipse.papyrus.sysml16.allocations.internal.impl,
+ org.eclipse.papyrus.sysml16.allocations.util,
+ org.eclipse.papyrus.sysml16.blocks,
+ org.eclipse.papyrus.sysml16.blocks.internal.impl,
+ org.eclipse.papyrus.sysml16.blocks.util,
+ org.eclipse.papyrus.sysml16.constraintblocks,
+ org.eclipse.papyrus.sysml16.constraintblocks.internal.impl,
+ org.eclipse.papyrus.sysml16.constraintblocks.util,
+ org.eclipse.papyrus.sysml16.deprecatedelements,
+ org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl,
+ org.eclipse.papyrus.sysml16.deprecatedelements.util,
+ org.eclipse.papyrus.sysml16.internal.util,
+ org.eclipse.papyrus.sysml16.modelelements,
+ org.eclipse.papyrus.sysml16.modelelements.internal.impl,
+ org.eclipse.papyrus.sysml16.modelelements.util,
+ org.eclipse.papyrus.sysml16.portsandflows,
+ org.eclipse.papyrus.sysml16.portsandflows.internal.impl,
+ org.eclipse.papyrus.sysml16.portsandflows.util,
+ org.eclipse.papyrus.sysml16.requirements,
+ org.eclipse.papyrus.sysml16.requirements.internal.impl,
+ org.eclipse.papyrus.sysml16.requirements.util,
+ org.eclipse.papyrus.sysml16.sysml,
+ org.eclipse.papyrus.sysml16.sysml.internal.impl,
+ org.eclipse.papyrus.sysml16.util
+Bundle-ActivationPolicy: lazy
+Bundle-Localization: plugin
+Bundle-Description: %Bundle-Description
+Bundle-Vendor: %Bundle-Vendor
+Automatic-Module-Name: org.eclipse.papyrus.sysml16
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/about.html b/plugins/core/org.eclipse.papyrus.sysml16/about.html
new file mode 100644
index 0000000..164f781
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/about.html
@@ -0,0 +1,36 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
+<title>About</title>
+</head>
+<body lang="EN-US">
+ <h2>About This Content</h2>
+
+ <p>November 30, 2017</p>
+ <h3>License</h3>
+
+ <p>
+ The Eclipse Foundation makes available all content in this plug-in
+ ("Content"). Unless otherwise indicated below, the Content
+ is provided to you under the terms and conditions of the Eclipse
+ Public License Version 2.0 ("EPL"). A copy of the EPL is
+ available at <a href="http://www.eclipse.org/legal/epl-2.0">http://www.eclipse.org/legal/epl-2.0</a>.
+ For purposes of the EPL, "Program" 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
+ ("Redistributor") and different terms and conditions may
+ apply to your use of any object code in the Content. Check the
+ Redistributor's license that was provided with the Content. If no such
+ license exists, contact the Redistributor. Unless otherwise indicated
+ below, the terms and conditions of the EPL still apply to any source
+ code in the Content and such source code may be obtained at <a
+ href="http://www.eclipse.org/">http://www.eclipse.org</a>.
+ </p>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/build.properties b/plugins/core/org.eclipse.papyrus.sysml16/build.properties
new file mode 100644
index 0000000..bec2f0d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/build.properties
@@ -0,0 +1,24 @@
+# Copyright (c) 2015 CEA LIST.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Benoit Maggi (CEA LIST) benoit.maggi@cea.fr - Initial API and implementation
+#
+
+bin.includes = .,\
+ META-INF/,\
+ plugin.xml,\
+ plugin.properties,\
+ resources/,\
+ about.html
+jars.compile.order = .
+source.. = src-gen/,\
+ src/
+output.. = target/classes/
+src.includes = about.html
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/plugin.properties b/plugins/core/org.eclipse.papyrus.sysml16/plugin.properties
new file mode 100644
index 0000000..67e9f14
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/plugin.properties
@@ -0,0 +1,19 @@
+#################################################################################
+# Copyright (c) 2019 CEA LIST.
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+#
+# Contributors:
+# Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+##################################################################################
+Bundle-Name=Papyrus SysML 1.6 Profile
+Bundle-Description=This plug-in contains the SyML 1.6 profile.
+Bundle-Vendor=Eclipse Modeling Project
+
+
+pluginName = Papyrus SysML 1.6 Profile
+providerName = Eclipse Modeling Project
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/plugin.xml b/plugins/core/org.eclipse.papyrus.sysml16/plugin.xml
new file mode 100644
index 0000000..e12e50d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/plugin.xml
@@ -0,0 +1,188 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<!--
+ Copyright (c) 2019 CEA LIST.
+
+ All rights reserved. This program and the accompanying materials
+ are made available under the terms of the Eclipse Public License 2.0
+ which accompanies this distribution, and is available at
+ https://www.eclipse.org/legal/epl-2.0/
+
+ SPDX-License-Identifier: EPL-2.0
+
+ Contributors:
+ Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+
+-->
+
+<plugin>
+
+ <extension
+ point="org.eclipse.emf.ecore.uri_mapping">
+ <mapping
+ source="pathmap://SysML16_LIBRARIES/"
+ target="platform:/plugin/org.eclipse.papyrus.sysml16/resources/library/"/>
+ <mapping
+ source="pathmap://SysML16_PROFILES/"
+ target="platform:/plugin/org.eclipse.papyrus.sysml16/resources/profile/"/>
+ <mapping
+ source="pathmap://SysML16_OMG/"
+ target="platform:/plugin/org.eclipse.papyrus.sysml16/resources/doc/">
+ </mapping>
+ </extension>
+
+ <extension
+ point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ class="org.eclipse.papyrus.sysml16.blocks.BlocksFactoryCustomImpl"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks">
+ </factory>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ class="org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksFactoryCustomImpl"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks">
+ </factory>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ class="org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatEdelementsCustomFactoryImpl"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements">
+ </factory>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ class="org.eclipse.papyrus.sysml16.requirements.RequirementsFactoryCustomImpl"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements">
+ </factory>
+ </extension>
+ <extension
+ point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ class="org.eclipse.papyrus.sysml16.modelelements.ModelElementsFactoryCustomImpl"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements">
+ </factory>
+ </extension>
+
+ <extension
+ point="org.eclipse.emf.ecore.factory_override">
+ <factory
+ class="org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsCustomFactoryImpl"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows">
+ </factory>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML"
+ class="org.eclipse.papyrus.sysml16.sysml.SysMLPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"
+ class="org.eclipse.papyrus.sysml16.activities.ActivitiesPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"
+ class="org.eclipse.papyrus.sysml16.allocations.AllocationsPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"
+ class="org.eclipse.papyrus.sysml16.blocks.BlocksPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks"
+ class="org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements"
+ class="org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"
+ class="org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"
+ class="org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <!-- @generated SysML.profile -->
+ <package
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements"
+ class="org.eclipse.papyrus.sysml16.requirements.RequirementsPackage"
+ genModel="resources/profile/SysML.profile.genmodel"/>
+ </extension>
+
+ <extension point="org.eclipse.uml2.uml.generated_package">
+ <profile uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML"
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+ <profile
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities">
+ </profile>
+ <profile
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations">
+ </profile>
+ <profile
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks">
+ </profile>
+ <profile
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks">
+ </profile>
+ <profile
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements">
+ </profile>
+ <profile
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows">
+ </profile>
+ <profile
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements">
+ </profile>
+ <profile
+ location="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"
+ uri="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements">
+ </profile>
+ </extension>
+
+</plugin>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/pom.xml b/plugins/core/org.eclipse.papyrus.sysml16/pom.xml
new file mode 100644
index 0000000..f397cf9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/pom.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <artifactId>org.eclipse.papyrus.sysml16.core</artifactId>
+ <groupId>org.eclipse.papyrus.sysml</groupId>
+ <version>1.0.0-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.sysml16</artifactId>
+ <packaging>eclipse-plugin</packaging>
+ <name>org.eclipse.papyrus.sysml16</name>
+ <description>This plug-in contains the OMG SyML 1.6 profile and its associated QUDV library.</description>
+</project>
\ No newline at end of file
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.di b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.di
new file mode 100644
index 0000000..f784d67
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.sysml.architecture.SysML14"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.notation b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.notation
new file mode 100644
index 0000000..ffcb5de
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.notation
@@ -0,0 +1,269 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_YncoYJoQEeeXz9m6CNxSgg" type="PapyrusUMLClassDiagram" name="PortsdFlows" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_Y_vzoJoQEeeXz9m6CNxSgg" type="NamedElement_DefaultShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Y_xo0JoQEeeXz9m6CNxSgg" type="NamedElement_NameLabel"/>
+ <element xmi:type="uml:Operation" href="SysML-Extension.uml#_bkbkIFFjEeWDrM-hgr_-Kg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_vzoZoQEeeXz9m6CNxSgg" x="160" y="280"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Y_6ywJoQEeeXz9m6CNxSgg" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Y_7Z0JoQEeeXz9m6CNxSgg" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Y_7Z0ZoQEeeXz9m6CNxSgg" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y_7Z0poQEeeXz9m6CNxSgg" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Y_8A4JoQEeeXz9m6CNxSgg" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Y_8A4ZoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Y_8A4poQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Y_8A45oQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_8A5JoQEeeXz9m6CNxSgg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Y_8A5ZoQEeeXz9m6CNxSgg" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Y_8A5poQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Y_8A55oQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Y_8A6JoQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_8A6ZoQEeeXz9m6CNxSgg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Y_8A6poQEeeXz9m6CNxSgg" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Y_8A65oQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Y_8A7JoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Y_8A7ZoQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_8A7poQEeeXz9m6CNxSgg"/>
+ </children>
+ <element xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_5W_iEFFwEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Y_6ywZoQEeeXz9m6CNxSgg" x="430" y="249"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ZAkTAJoQEeeXz9m6CNxSgg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ZAkTAZoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZAkTA5oQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_5W_iEFFwEeWFqsbjn0GMrw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZAkTApoQEeeXz9m6CNxSgg" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ZBI6wJoQEeeXz9m6CNxSgg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ZBI6wZoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZBI6w5oQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_4mO-EFFxEeWFqsbjn0GMrw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ZBI6wpoQEeeXz9m6CNxSgg" x="530" y="149"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_YncoYZoQEeeXz9m6CNxSgg" name="diagram_compatibility_version" stringValue="1.3.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_YncoYpoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_YncoY5oQEeeXz9m6CNxSgg" diagramKindId="org.eclipse.papyrus.sysml14.diagram.package">
+ <owner xmi:type="uml:Package" href="SysML-Extension.uml#_lUJKsFFjEeWDrM-hgr_-Kg"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Extension.uml#_lUJKsFFjEeWDrM-hgr_-Kg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_ZAk6EJoQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_Y_6ywJoQEeeXz9m6CNxSgg" target="_ZAkTAJoQEeeXz9m6CNxSgg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZAk6EZoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZAlhIJoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_5W_iEFFwEeWFqsbjn0GMrw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZAk6EpoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZAk6E5oQEeeXz9m6CNxSgg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZAk6FJoQEeeXz9m6CNxSgg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZBEpUJoQEeeXz9m6CNxSgg" type="Dependency_Edge" source="_Y_vzoJoQEeeXz9m6CNxSgg" target="_Y_6ywJoQEeeXz9m6CNxSgg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZBEpU5oQEeeXz9m6CNxSgg" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZZ_foJoQEeeXz9m6CNxSgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZBEpVJoQEeeXz9m6CNxSgg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ZBEpVZoQEeeXz9m6CNxSgg" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ZaG0YJoQEeeXz9m6CNxSgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ZBEpVpoQEeeXz9m6CNxSgg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZBEpUZoQEeeXz9m6CNxSgg"/>
+ <element xmi:type="uml:Abstraction" href="SysML-Extension.uml#_4mO-EFFxEeWFqsbjn0GMrw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZBEpUpoQEeeXz9m6CNxSgg" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZaU20JoQEeeXz9m6CNxSgg" id="(1.0,0.5)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZaVd4JoQEeeXz9m6CNxSgg" id="(0.0,0.49557522123893805)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ZBI6xJoQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_ZBEpUJoQEeeXz9m6CNxSgg" target="_ZBI6wJoQEeeXz9m6CNxSgg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ZBI6xZoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ZBI6yZoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_4mO-EFFxEeWFqsbjn0GMrw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ZBI6xpoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZBI6x5oQEeeXz9m6CNxSgg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZBI6yJoQEeeXz9m6CNxSgg"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_bFgmQJoQEeeXz9m6CNxSgg" type="PapyrusUMLClassDiagram" name="Blocks" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_bh2kAJoQEeeXz9m6CNxSgg" type="NamedElement_DefaultShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bh3LEJoQEeeXz9m6CNxSgg" type="NamedElement_NameLabel"/>
+ <element xmi:type="uml:Operation" href="SysML-Extension.uml#_RQB2sFIUEeWHYvssogj-zQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh2kAZoQEeeXz9m6CNxSgg" x="160" y="400"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bh8qoJoQEeeXz9m6CNxSgg" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bh8qopoQEeeXz9m6CNxSgg" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bh8qo5oQEeeXz9m6CNxSgg" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bh8qpJoQEeeXz9m6CNxSgg" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bh8qpZoQEeeXz9m6CNxSgg" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bh8qppoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bh8qp5oQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bh8qqJoQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8qqZoQEeeXz9m6CNxSgg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bh8qqpoQEeeXz9m6CNxSgg" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bh8qq5oQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bh8qrJoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bh8qrZoQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8qrpoQEeeXz9m6CNxSgg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_bh8qr5oQEeeXz9m6CNxSgg" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bh8qsJoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_bh8qsZoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_bh8qspoQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8qs5oQEeeXz9m6CNxSgg"/>
+ </children>
+ <element xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bh8qoZoQEeeXz9m6CNxSgg" x="461" y="402"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_biLUI5oQEeeXz9m6CNxSgg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_biLUJJoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_biL7MJoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_biLUJZoQEeeXz9m6CNxSgg" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_bigEQ5oQEeeXz9m6CNxSgg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_bigERJoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_bigERpoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_839tMFIaEeWOVPwTUSkFAw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_bigERZoQEeeXz9m6CNxSgg" x="561" y="302"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_bFgmQZoQEeeXz9m6CNxSgg" name="diagram_compatibility_version" stringValue="1.3.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_bFgmQpoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_bFgmQ5oQEeeXz9m6CNxSgg" diagramKindId="org.eclipse.papyrus.sysml14.diagram.package">
+ <owner xmi:type="uml:Package" href="SysML-Extension.uml#_DjFlkFIUEeWHYvssogj-zQ"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Extension.uml#_DjFlkFIUEeWHYvssogj-zQ"/>
+ <edges xmi:type="notation:Connector" xmi:id="_biL7MZoQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_bh8qoJoQEeeXz9m6CNxSgg" target="_biLUI5oQEeeXz9m6CNxSgg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_biL7MpoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_biL7NpoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_biL7M5oQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biL7NJoQEeeXz9m6CNxSgg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_biL7NZoQEeeXz9m6CNxSgg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_bibLwJoQEeeXz9m6CNxSgg" type="Dependency_Edge" source="_bh2kAJoQEeeXz9m6CNxSgg" target="_bh8qoJoQEeeXz9m6CNxSgg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_bibLw5oQEeeXz9m6CNxSgg" type="Dependency_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_b-Xg4JoQEeeXz9m6CNxSgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bibLxJoQEeeXz9m6CNxSgg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_bibLxZoQEeeXz9m6CNxSgg" type="Dependency_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_b-cZYJoQEeeXz9m6CNxSgg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_bibLxpoQEeeXz9m6CNxSgg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_bibLwZoQEeeXz9m6CNxSgg"/>
+ <element xmi:type="uml:Abstraction" href="SysML-Extension.uml#_839tMFIaEeWOVPwTUSkFAw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bibLwpoQEeeXz9m6CNxSgg" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b-mKYJoQEeeXz9m6CNxSgg" id="(1.0,0.6)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b-mKYZoQEeeXz9m6CNxSgg" id="(0.0,0.4424778761061947)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_bigER5oQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_bibLwJoQEeeXz9m6CNxSgg" target="_bigEQ5oQEeeXz9m6CNxSgg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_bigESJoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_bigETJoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_839tMFIaEeWOVPwTUSkFAw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_bigESZoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bigESpoQEeeXz9m6CNxSgg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_bigES5oQEeeXz9m6CNxSgg"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_fAvFsJoQEeeXz9m6CNxSgg" type="PapyrusUMLClassDiagram" name="NewSysML1.6PackageDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_fU0fUJoQEeeXz9m6CNxSgg" type="NamedElement_DefaultShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fU0fUpoQEeeXz9m6CNxSgg" type="NamedElement_NameLabel"/>
+ <element xmi:type="uml:Operation" href="SysML-Extension.uml#_XgZG8FFjEeWDrM-hgr_-Kg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU0fUZoQEeeXz9m6CNxSgg" x="399" y="166"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fU6l8JoQEeeXz9m6CNxSgg" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fU6l8poQEeeXz9m6CNxSgg" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fU6l85oQEeeXz9m6CNxSgg" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fU6l9JoQEeeXz9m6CNxSgg" y="15"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fU6l9ZoQEeeXz9m6CNxSgg" type="Class_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fU6l9poQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fU6l95oQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fU6l-JoQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU6l-ZoQEeeXz9m6CNxSgg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fU6l-poQEeeXz9m6CNxSgg" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fU6l-5oQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fU6l_JoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fU6l_ZoQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU6l_poQEeeXz9m6CNxSgg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_fU6l_5oQEeeXz9m6CNxSgg" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fU6mAJoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_fU6mAZoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_fU6mApoQEeeXz9m6CNxSgg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU6mA5oQEeeXz9m6CNxSgg"/>
+ </children>
+ <element xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fU6l8ZoQEeeXz9m6CNxSgg" x="499" y="166"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fVOH85oQEeeXz9m6CNxSgg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fVOH9JoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fVOH9poQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fVOH9ZoQEeeXz9m6CNxSgg" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fVktQ5oQEeeXz9m6CNxSgg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_fVktRJoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fVktRpoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_nViSUFFxEeWFqsbjn0GMrw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fVktRZoQEeeXz9m6CNxSgg" x="599" y="66"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_fAvFsZoQEeeXz9m6CNxSgg" name="diagram_compatibility_version" stringValue="1.3.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_fAvFspoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_fAvFs5oQEeeXz9m6CNxSgg" diagramKindId="org.eclipse.papyrus.sysml14.diagram.package">
+ <owner xmi:type="uml:Package" href="SysML-Extension.uml#_M8sesFFjEeWDrM-hgr_-Kg"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Extension.uml#_M8sesFFjEeWDrM-hgr_-Kg"/>
+ <edges xmi:type="notation:Connector" xmi:id="_fVOH95oQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_fU6l8JoQEeeXz9m6CNxSgg" target="_fVOH85oQEeeXz9m6CNxSgg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_fVOvAJoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fVOvBJoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fVOvAZoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fVOvApoQEeeXz9m6CNxSgg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fVOvA5oQEeeXz9m6CNxSgg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_fViRAJoQEeeXz9m6CNxSgg" type="Dependency_Edge" source="_fU0fUJoQEeeXz9m6CNxSgg" target="_fU6l8JoQEeeXz9m6CNxSgg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fVi4EJoQEeeXz9m6CNxSgg" type="Dependency_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fVi4EZoQEeeXz9m6CNxSgg" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_fVi4EpoQEeeXz9m6CNxSgg" type="Dependency_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_fVi4E5oQEeeXz9m6CNxSgg" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_fViRAZoQEeeXz9m6CNxSgg"/>
+ <element xmi:type="uml:Abstraction" href="SysML-Extension.uml#_nViSUFFxEeWFqsbjn0GMrw"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fViRApoQEeeXz9m6CNxSgg" points="[0, 0, -643984, -643984]$[0, 0, -643984, -643984]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_fVlUUJoQEeeXz9m6CNxSgg" type="StereotypeCommentLink" source="_fViRAJoQEeeXz9m6CNxSgg" target="_fVktQ5oQEeeXz9m6CNxSgg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_fVlUUZoQEeeXz9m6CNxSgg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_fVlUVZoQEeeXz9m6CNxSgg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Abstraction" href="SysML-Extension.uml#_nViSUFFxEeWFqsbjn0GMrw"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_fVlUUpoQEeeXz9m6CNxSgg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fVlUU5oQEeeXz9m6CNxSgg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fVlUVJoQEeeXz9m6CNxSgg"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.uml
new file mode 100644
index 0000000..fe69ce5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/SysML-Extension.uml
@@ -0,0 +1,134 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Requirements="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/sysml/1.4/SysML/Requirements http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements">
+ <uml:Model xmi:id="_82iTcFFiEeWDrM-hgr_-Kg" name="SysML">
+ <packagedElement xmi:type="uml:Package" xmi:id="_M8sesFFjEeWDrM-hgr_-Kg" name="DeprecatedElements">
+ <packagedElement xmi:type="uml:Class" xmi:id="_PWXr0FFjEeWDrM-hgr_-Kg" name="FlowPort">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_XgZG8FFjEeWDrM-hgr_-Kg" name="getIcon">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_XgZG8VFjEeWDrM-hgr_-Kg" name="img" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_nViSUFFxEeWFqsbjn0GMrw" name="Satisfy1" client="_XgZG8FFjEeWDrM-hgr_-Kg">
+ <supplier xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_b0XAEFFvEeWFqsbjn0GMrw"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="_PEJF4Ga4EeW5JrLha2pcnA" name="FlowSpecification">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_XE7sgGa4EeW5JrLha2pcnA" name="getFlowProperties">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_XE7sgWa4EeW5JrLha2pcnA" name="flowProperties" direction="out">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_XE7sgma4EeW5JrLha2pcnA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_XE7sg2a4EeW5JrLha2pcnA" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_lUJKsFFjEeWDrM-hgr_-Kg" name="PortsAndFlows">
+ <packagedElement xmi:type="uml:Class" xmi:id="_j0IwgFFjEeWDrM-hgr_-Kg" name="FlowProperty">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_bkbkIFFjEeWDrM-hgr_-Kg" name="getIcon">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_bkbkIVFjEeWDrM-hgr_-Kg" name="img" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_4mO-EFFxEeWFqsbjn0GMrw" name="Satisfy1" client="_bkbkIFFjEeWDrM-hgr_-Kg">
+ <supplier xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_5W_iEFFwEeWFqsbjn0GMrw"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_DjFlkFIUEeWHYvssogj-zQ" name="Blocks">
+ <packagedElement xmi:type="uml:Class" xmi:id="_Mh_aQFIUEeWHYvssogj-zQ" name="Block">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_RQB2sFIUEeWHYvssogj-zQ" name="getReferences">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_5V4qYFIWEeWOVPwTUSkFAw" name="references" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_JptMQFIZEeWOVPwTUSkFAw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_JpxdsFIZEeWOVPwTUSkFAw" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_kEJocFYDEeW77p7V_ZuW3Q" name="getParts">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_rMeWAFYDEeW77p7V_ZuW3Q" name="parts" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_f5D2IFYFEeW77p7V_ZuW3Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gpIoMFYFEeW77p7V_ZuW3Q" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_K4WW8GE-EeWbSMDuSXx8SQ" name="getFlowProperties">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_QHhKgGE-EeWbSMDuSXx8SQ" name="flowProperties" direction="out">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UXmfoGE-EeWbSMDuSXx8SQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_U6nGEGE-EeWbSMDuSXx8SQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Abstraction" xmi:id="_839tMFIaEeWOVPwTUSkFAw" client="_RQB2sFIUEeWHYvssogj-zQ">
+ <supplier xmi:type="uml:Class" href="org.eclipse.papyrus.sysml14.uml#_ZyAskFIZEeWOVPwTUSkFAw"/>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_YYHkIACyEeabH6-I0dvpUQ" name="ConstraintBlocks">
+ <packagedElement xmi:type="uml:Class" xmi:id="_fe0hEACyEeabH6-I0dvpUQ" name="ConstraintBlock">
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_pFeSQACyEeabH6-I0dvpUQ" name="getParameters">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_pFeSQQCyEeabH6-I0dvpUQ" name="parameters" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_56uYIACyEeabH6-I0dvpUQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_56wNUACyEeabH6-I0dvpUQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7ccQJoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7dqYJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7eRcJoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7e4gJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7e4gZoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7ffkJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7gGoJoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7gGoZoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7gtsJoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7hUwJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//constraintblocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7h70JoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7h70ZoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//deprecatedelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7ii4JoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7ii4ZoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7jJ8JoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7jxAJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//portsandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_F7kYEJoQEeeXz9m6CNxSgg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7k_IJoQEeeXz9m6CNxSgg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.4/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML14_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+ </profileApplication>
+ </uml:Model>
+ <Requirements:Satisfy xmi:id="_nVoY8FFxEeWFqsbjn0GMrw" base_Abstraction="_nViSUFFxEeWFqsbjn0GMrw"/>
+ <Requirements:Satisfy xmi:id="_4mSocFFxEeWFqsbjn0GMrw" base_Abstraction="_4mO-EFFxEeWFqsbjn0GMrw"/>
+ <Requirements:Satisfy xmi:id="_-e_8cFIaEeWOVPwTUSkFAw" base_Abstraction="_839tMFIaEeWOVPwTUSkFAw"/>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/org.eclipse.papyrus.sysml14.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/org.eclipse.papyrus.sysml14.uml
new file mode 100644
index 0000000..6e00ebc
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/doc/org.eclipse.papyrus.sysml14.uml
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysML.gif b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysML.gif
new file mode 100644
index 0000000..ecc0b71
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysML.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysMLModel.gif b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysMLModel.gif
new file mode 100644
index 0000000..35ee3e1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/SysMLModel.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif
new file mode 100644
index 0000000..8f7da75
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/icons/full/obj16/SysML.gif
Binary files differ
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.di b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.di
new file mode 100644
index 0000000..785b011
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.sysml.architecture.SysML16"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.notation b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.notation
new file mode 100644
index 0000000..9bf93b8
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.notation
@@ -0,0 +1,1603 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_0Gvw8HJgEeWaaoAi4ttVsA" type="PapyrusUMLClassDiagram" name="QUDVDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_2RUyIHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_2RXOYHJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_2RXOYXJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2RXOYnJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_2RX1cHJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_lMIxsBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_lMIxsRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_n0ZNYBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.isInvertible"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_n0ZNYRL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_2RX1cXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_2RX1cnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_2RX1c3JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RX1dHJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_2RX1dXJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_2RX1dnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_2RX1d3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_2RX1eHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RX1eXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_2RX1enJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_2RX1e3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_2RX1fHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_2RX1fXJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RX1fnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_2T8oUHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_2T8oUXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2T8oUnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_2T9PYHJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_2T9PYXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_2T9PYnJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2T9PY3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_2UNHAHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_2UNuEHJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_2UOVIHJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_2UOVIXJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_2UO8MHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_2UO8MXJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_2UPjQHJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_U4N1IBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_ConversionBasedUnit"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2RUyIXJgEeWaaoAi4ttVsA" x="1640" y="720" width="141" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_2UWQ8HJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_2UWQ8XJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_2UWQ83JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_ConversionBasedUnit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_2UWQ8nJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3J2VkHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3J2VknJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3J2Vk3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3J2VlHJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3J2VlXJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uDd-wBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_uDd-wRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_v5Rp0BL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v5Rp0RL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v5SQ4BL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v5SQ4RL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v5S38BL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v5S38RL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3J2VlnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3J2Vl3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3J2VmHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3J2VmXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3J28oHJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3J28oXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3J28onJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3J28o3JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3J28pHJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3J28pXJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3J28pnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3J28p3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3J28qHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3J28qXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3KJ3kHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_3KJ3kXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3KJ3knJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3KJ3k3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3KJ3lHJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_3KJ3lXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3KJ3lnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_3KQlQHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_3KRMUHJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_3KRMUXJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_3KRMUnJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_3KSacHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_3KSacXJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_3KSacnJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VEZP8BIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Unit"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3J2VkXJgEeWaaoAi4ttVsA" x="1200" y="720" width="161" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3KXS8HJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3KXS8XJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3KXS83JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Unit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3KXS8nJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_39NFIHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_39NsMHJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_39NsMXJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_39NsMnJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_39NsM3JgEeWaaoAi4ttVsA" visible="false" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0dPXQBOMEeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0dPXQROMEeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_39NsNHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_39NsNXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_39NsNnJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_39NsN3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_39NsOHJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_39NsOXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_39NsOnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_39NsO3JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_39NsPHJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_39NsPXJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_39NsPnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_39NsP3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_39NsQHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_39NsQXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4AaKIHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_4AaKIXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4AaKInJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4AaKI3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4AaKJHJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_4AaKJXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4AaKJnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_4AgQwHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4Ag30HJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4Ahe4HJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4Ahe4XJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4Ahe4nJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4Ahe43JgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4AiF8HJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VE4YIBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedQuantityKind"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_39NFIXJgEeWaaoAi4ttVsA" x="256" y="267" width="164" height="104"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_4AlJQHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4AlJQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4AlJQ3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedQuantityKind"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4AlJQnJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_4m0p4HJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_4m1Q8HJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4m1Q8XJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4m1Q8nJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4m1Q83JgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_29WwkBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_29WwkRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_4ZL1YBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.exponent"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_4ZL1YRL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4m1Q9HJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4m1Q9XJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4m1Q9nJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m1Q93JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4m1Q-HJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4m1Q-XJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4m1Q-nJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4m1Q-3JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m1Q_HJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4m1Q_XJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4m1Q_nJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_4m1Q_3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_4m1RAHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m1RAXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_4pdHIHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_4pdHIXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4pdHInJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_4pdHI3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4pdHJHJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_4pdHJXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4pdHJnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_4pj00HJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4pkb4HJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4pkb4XJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4pkb4nJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4pkb43JgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4plC8HJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_4plC8XJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VFWSMBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKindFactor"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4m0p4XJgEeWaaoAi4ttVsA" x="100" y="480" width="161" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_4poGQHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_4poGQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4poGQ3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKindFactor"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_4poGQnJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5Y18sHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5Y18snJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5Y18s3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5Y18tHJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5Y18tXJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_QjpqwBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QjqR0BL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_ToHhUBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ToHhURL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5Y18tnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Y18t3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Y18uHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y18uXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5Y18unJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5Y18u3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Y18vHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Y18vXJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y18vnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5Y18v3JgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5Y18wHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Y18wXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Y18wnJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y18w3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5ZXhIHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_5ZXhIXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ZXhInJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5ZXhI3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5ZXhJHJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_5ZXhJXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ZXhJnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_5ZdnwHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_5ZdnwXJgEeWaaoAi4ttVsA" visible="false" type="constraints" showTitle="true">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aA62cBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aA7dgBL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_5ZeO0HJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_5ZeO0XJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_5ZeO0nJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_5ZeO03JgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_5Ze14HJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VF32oBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Y18sXJgEeWaaoAi4ttVsA" x="1520" y="220" width="159" height="118"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5Zh5MHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5Zh5MXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_5ZigQHJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Zh5MnJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6IwWsHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6IwWsnJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_6IwWs3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6IwWtHJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6Iw9wHJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_iqNngBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_iqOOkBL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_kKypcBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_UnitFactor_ownedAttribute.exponent"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_kKypcRL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6Iw9wXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6Iw9wnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6Iw9w3JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Iw9xHJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6Iw9xXJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6Iw9xnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6Iw9x3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6Iw9yHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Iw9yXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6Iw9ynJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6Iw9y3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6Iw9zHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6Iw9zXJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Iw9znJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_6Jc6QHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_6Jc6QXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6Jc6QnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6JdhUHJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6JdhUXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_6JdhUnJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6JdhU3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_6JmEMHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6JmEMXJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6JmEMnJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6JmrQHJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6JmrQXJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6JmrQnJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6JmrQ3JgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VGY0ABIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_UnitFactor"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6IwWsXJgEeWaaoAi4ttVsA" x="1520" y="500" width="164" height="113"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6JqVoHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6JqVoXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6JqVo3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_UnitFactor"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6JqVonJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6-dPoHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6-dPonJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_6-dPo3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6-d2sHJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6-d2sXJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_0cCqYBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_0cCqYRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_1YxYYBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_1YxYYRL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6-d2snJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6-d2s3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6-d2tHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-d2tXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6-d2tnJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6-d2t3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6-d2uHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6-d2uXJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-d2unJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6-d2u3JgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6-d2vHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_6-d2vXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_6-d2vnJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-d2v3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_6_Qg4HJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_6_Qg4XJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_Qg4nJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_6_RH8HJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6_RH8XJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_6_RH8nJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_RH83JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_6_X1oHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6_X1oXJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6_YcsHJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6_YcsXJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6_ZDwHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6_ZDwXJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_6_ZDwnJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VJADIBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Dimension"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6-dPoXJgEeWaaoAi4ttVsA" x="20" y="20" width="161" height="181"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6_cuIHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_6_cuIXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6_cuI3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Dimension"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_6_cuInJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7wOq0HJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7wOq0nJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7wOq03JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7wOq1HJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wPR4HJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_7yq5sBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_7yq5sRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_-Ju3sBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-Ju3sRL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-JvewBL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-JvewRL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-JwF0BL9EeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-JwF0RL9EeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wPR4XJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wPR4nJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wPR43JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wPR5HJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wPR5XJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wPR5nJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wPR53JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wPR6HJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wPR6XJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wPR6nJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wPR63JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wPR7HJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wPR7XJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wPR7nJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7xDKMHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_7xDKMXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7xDKMnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7xDxQHJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7xDxQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_7xDxQnJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7xDxQ3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_7xKe8HJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_7xKe8XJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_7xKe8nJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_7xKe83JgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_7xLGAHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_7xLGAXJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_7xLGAnJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VJhnkBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wOq0XJgEeWaaoAi4ttVsA" x="500" y="720" width="201" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7xOJUHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7xOJUXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7xOwYHJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7xOJUnJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8nrQMHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8nr3QHJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8nr3QXJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8nr3QnJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8nr3Q3JgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xb2p4BOMEeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xb34ABOMEeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_y4Q9gBOMEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_y4Q9gROMEeeY9ueKNJ6bdg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_y4Q9ghOMEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_y4Q9gxOMEeeY9ueKNJ6bdg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_y4Q9hBOMEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_y4Q9hROMEeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8nr3RHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8nr3RXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8nr3RnJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8nr3R3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8nr3SHJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8nr3SXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8nr3SnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8nr3S3JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8nr3THJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8nr3TXJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8nr3TnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8nr3T3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8nr3UHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8nr3UXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8okoEHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_8okoEXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8okoEnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8olPIHJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8olPIXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_8olPInJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8olPI3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_8orVwHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_8or80HJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_8or80XJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_8or80nJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_8osj4HJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_8osj4XJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_8osj4nJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VJ8eUBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8nrQMXJgEeWaaoAi4ttVsA" x="520" y="20" width="161" height="181"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8owOQHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8owOQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_8ow1UHJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8owOQnJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9YlvwHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9YlvwnJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9Ylvw3JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9YlvxHJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9YlvxXJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_H6aHkBL-EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_H6aHkRL-EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9YlvxnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9Ylvx3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9YlvyHJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9YlvyXJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9YmW0HJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9YmW0XJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9YmW0nJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9YmW03JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9YmW1HJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9YmW1XJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9YmW1nJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_9YmW13JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_9YmW2HJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9YmW2XJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9ZmcYHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_9ZmcYXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9ZmcYnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_9ZmcY3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9ZmcZHJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_9ZmcZXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9ZmcZnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_9ZsjAHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_9ZtKEHJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_9ZtKEXJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_9ZtKEnJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_9ZtxIHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_9ZtxIXJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_9ZtxInJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VKgfABIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfUnits"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9YlvwXJgEeWaaoAi4ttVsA" x="1200" y="20" width="141" height="134"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9ZxbgHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_9ZxbgXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9Zxbg3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfUnits"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9ZxbgnJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-IDd0HJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-IDd0nJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-IDd03JgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-IDd1HJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-IDd1XJgEeWaaoAi4ttVsA" visible="false" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Bjm9kBL-EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Bjm9kRL-EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-IDd1nJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-IDd13JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-IEE4HJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IEE4XJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-IEE4nJgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-IEE43JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-IEE5HJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-IEE5XJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IEE5nJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-IEE53JgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-IEE6HJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-IEE6XJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-IEE6nJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IEE63JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-JH00HJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_-JH00XJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-JH00nJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-JIb4HJgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-JIb4XJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_-JIb4nJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-JIb43JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_-JPJkHJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-JPJkXJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-JPJknJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-JPJk3JgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-JPwoHJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-JPwoXJgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-JPwonJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VLEfsBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_PrefixedUnit"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-IDd0XJgEeWaaoAi4ttVsA" x="840" y="280" width="141" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-JTbAHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-JTbAXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-JTbA3JgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_PrefixedUnit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-JTbAnJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-17QcHJgEeWaaoAi4ttVsA" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-17QcnJgEeWaaoAi4ttVsA" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-173gHJgEeWaaoAi4ttVsA" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-173gXJgEeWaaoAi4ttVsA" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-173gnJgEeWaaoAi4ttVsA" type="Class_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_GRsdUBL-EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_GRsdURL-EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_FIgasBONEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Prefix_ownedAttribute.factor"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FIgasRONEeeY9ueKNJ6bdg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FImhUBONEeeY9ueKNJ6bdg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="QUDV.uml#QUDV.class_packagedElement_Prefix_ownedAttribute.symbol"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_FImhURONEeeY9ueKNJ6bdg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-173g3JgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-173hHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-173hXJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-173hnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-173h3JgEeWaaoAi4ttVsA" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-173iHJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-173iXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-173inJgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-173i3JgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-173jHJgEeWaaoAi4ttVsA" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-173jXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_-173jnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_-173j3JgEeWaaoAi4ttVsA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-173kHJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-3GVIHJgEeWaaoAi4ttVsA" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_-3GVIXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3GVInJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_-3GVI3JgEeWaaoAi4ttVsA" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-3GVJHJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_-3GVJXJgEeWaaoAi4ttVsA" name="stereotype" stringValue="SysML::Blocks::Block"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3GVJnJgEeWaaoAi4ttVsA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_-3NC0HJgEeWaaoAi4ttVsA" type="Flow Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-3NC0XJgEeWaaoAi4ttVsA" visible="false" type="constraints"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-3Np4HJgEeWaaoAi4ttVsA" type="Parts"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-3Np4XJgEeWaaoAi4ttVsA" type="Proxy Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-3Np4nJgEeWaaoAi4ttVsA" type="Full Ports"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-3Np43JgEeWaaoAi4ttVsA" type="References"/>
+ <children xmi:type="notation:Compartment" xmi:id="_-3OQ8HJgEeWaaoAi4ttVsA" type="Flow Properties"/>
+ <children xmi:type="notation:Compartment" xmi:id="_VLc6MBIqEeeFNrLZFDmeGg" type="Parameters"/>
+ <element xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Prefix"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-17QcXJgEeWaaoAi4ttVsA" x="980" y="520" width="141" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-3RUQHJgEeWaaoAi4ttVsA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_-3RUQXJgEeWaaoAi4ttVsA" showTitle="true"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-3R7UHJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Prefix"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-3RUQnJgEeWaaoAi4ttVsA" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_dQph0BL9EeeY9ueKNJ6bdg" type="Constraint_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_dQqI4BL9EeeY9ueKNJ6bdg" type="Constraint_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_dQqI4RL9EeeY9ueKNJ6bdg" type="Constraint_BodyLabel"/>
+ <element xmi:type="uml:Constraint" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_dQph0RL9EeeY9ueKNJ6bdg" x="1667" y="79"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_-20nMBL9EeeY9ueKNJ6bdg" type="Constraint_PackagedElementShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-21OQBL9EeeY9ueKNJ6bdg" type="Constraint_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-21OQRL9EeeY9ueKNJ6bdg" type="Constraint_BodyLabel"/>
+ <element xmi:type="uml:Constraint" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_-20nMRL9EeeY9ueKNJ6bdg" x="640" y="960"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_0Gvw8XJgEeWaaoAi4ttVsA" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_0Gvw8nJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_3gCm4FdZEee6UuspFlbpuA" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+ <owner xmi:type="uml:Package" href="QUDV.uml#QUDV"/>
+ </styles>
+ <element xmi:type="uml:Package" href="QUDV.uml#QUDV"/>
+ <edges xmi:type="notation:Connector" xmi:id="_2UW4AHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_2RUyIHJgEeWaaoAi4ttVsA" target="_2UWQ8HJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_2UW4AXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_2UW4BXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_ConversionBasedUnit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2UW4AnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2UW4A3JgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2UW4BHJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_3KXS9HJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_3J2VkHJgEeWaaoAi4ttVsA" target="_3KXS8HJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_3KXS9XJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_3KXS-XJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Unit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3KXS9nJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3KXS93JgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_3KXS-HJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_35XuAHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_2RUyIHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_35YVEHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n8or0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_35YVEXJgEeWaaoAi4ttVsA" x="-1" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_35YVEnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n953IBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_35YVE3JgEeWaaoAi4ttVsA" x="100" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_35YVFHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n-masBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_35YVFXJgEeWaaoAi4ttVsA" x="100" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_35YVFnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n_ZE4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_35YVF3JgEeWaaoAi4ttVsA" x="1" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_35Y8IHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_oAGPgBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_35Y8IXJgEeWaaoAi4ttVsA" x="20" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_35Y8InJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_oAyzEBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_35Y8I3JgEeWaaoAi4ttVsA" x="-19" y="13"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_35XuAXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_35XuAnJgEeWaaoAi4ttVsA" points="[1000, 801, -643984, -643984]$[900, 940, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DDVFAHJhEeWaaoAi4ttVsA" id="(0.0,0.37267080745341613)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DDVsEHJhEeWaaoAi4ttVsA" id="(1.0,0.37267080745341613)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_4AlwUHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_39NFIHJgEeWaaoAi4ttVsA" target="_4AlJQHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_4AlwUXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4AlwVXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedQuantityKind"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4AlwUnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4AlwU3JgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4AlwVHJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_4poGRHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_4m0p4HJgEeWaaoAi4ttVsA" target="_4poGQHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_4poGRXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_4poGSXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKindFactor"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_4poGRnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4poGR3JgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4poGSHJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5V6kgHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_39NFIHJgEeWaaoAi4ttVsA" target="_4m0p4HJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5V6kg3JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Dpoz0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5V6khHJgEeWaaoAi4ttVsA" x="1" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5V7LkHJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DqUJQBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7LkXJgEeWaaoAi4ttVsA" x="19" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5V7LknJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DuYw8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7Lk3JgEeWaaoAi4ttVsA" x="17" y="-16"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5V7LlHJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DvDfUBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7LlXJgEeWaaoAi4ttVsA" x="-13" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5V7LlnJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Dx5X8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7Ll3JgEeWaaoAi4ttVsA" x="17" y="32"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_5V7LmHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DyjfQBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5V7LmXJgEeWaaoAi4ttVsA" x="-13" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5V6kgXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_derivedQuantityKind_factor"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5V6kgnJgEeWaaoAi4ttVsA" points="[340, 401, -643984, -643984]$[340, 440, -643984, -643984]$[220, 440, -643984, -643984]$[220, 480, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DHS_AHJhEeWaaoAi4ttVsA" id="(0.49390243902439024,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DHTmEHJhEeWaaoAi4ttVsA" id="(0.7453416149068323,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5ZigQXJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_5Y18sHJgEeWaaoAi4ttVsA" target="_5Zh5MHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_5ZigQnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_5ZigRnJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_DerivedUnit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5ZigQ3JgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ZigRHJgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5ZigRXJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_6JqVpHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_6IwWsHJgEeWaaoAi4ttVsA" target="_6JqVoHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_6JqVpXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6Jq8snJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_UnitFactor"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6JqVpnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6Jq8sHJgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6Jq8sXJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_65aXkHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_5Y18sHJgEeWaaoAi4ttVsA" target="_6IwWsHJgEeWaaoAi4ttVsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_dfHboBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_dfHboRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_65a-oHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lj4rwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-oXJgEeWaaoAi4ttVsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_65a-onJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_llXScBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-o3JgEeWaaoAi4ttVsA" x="6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_65a-pHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lmpr4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-pXJgEeWaaoAi4ttVsA" x="6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_65a-pnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_loF2UBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-p3JgEeWaaoAi4ttVsA" x="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_65a-qHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_loyZ4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-qXJgEeWaaoAi4ttVsA" x="6" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_65a-qnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_lpfkgBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_65a-q3JgEeWaaoAi4ttVsA" x="-13" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_65aXkXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_derivedUnit_factor"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_65aXknJgEeWaaoAi4ttVsA" points="[1588, 381, -643984, -643984]$[1588, 500, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DM3bgHJhEeWaaoAi4ttVsA" id="(0.425531914893617,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DM3bgXJhEeWaaoAi4ttVsA" id="(0.425531914893617,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_6_cuJHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_6-dPoHJgEeWaaoAi4ttVsA" target="_6_cuIHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_6_cuJXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_6_cuKXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Dimension"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6_cuJnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6_cuJ3JgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6_cuKHJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_7tLW0HJgEeWaaoAi4ttVsA" type="Association_Edge" source="_6-dPoHJgEeWaaoAi4ttVsA" target="_4m0p4HJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7tLW03JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CGdJ0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7tLW1HJgEeWaaoAi4ttVsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7tLW1XJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CIJL4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7tLW1nJgEeWaaoAi4ttVsA" x="-11" y="-53"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7tL94HJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CJYiABIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7tL94XJgEeWaaoAi4ttVsA" x="6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7tL94nJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CKjmsBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7tL943JgEeWaaoAi4ttVsA" x="-13" y="80"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7tL95HJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CLYtIBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7tL95XJgEeWaaoAi4ttVsA" x="6" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_7tL95nJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_CMan4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_7tL953JgEeWaaoAi4ttVsA" x="-13" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_7tLW0XJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_dimension_factor"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7tLW0nJgEeWaaoAi4ttVsA" points="[80, 201, -643984, -643984]$[80, 360, -643984, -643984]$[140, 360, -643984, -643984]$[140, 480, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DKQzcXJhEeWaaoAi4ttVsA" id="(0.37267080745341613,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DKQzcnJhEeWaaoAi4ttVsA" id="(0.2484472049689441,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_7xOwYXJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_7wOq0HJgEeWaaoAi4ttVsA" target="_7xOJUHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_7xOwYnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_7xOwZnJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_QuantityKind"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7xOwY3JgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7xOwZHJgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7xOwZXJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8fpVkHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_7wOq0HJgEeWaaoAi4ttVsA" target="_7wOq0HJgEeWaaoAi4ttVsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8S9FBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8S9FRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fp8oHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vLvW0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fp8oXJgEeWaaoAi4ttVsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fp8onJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vM_7EBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fp8o3JgEeWaaoAi4ttVsA" x="-33" y="240"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fp8pHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vNrQgBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fqjsHJgEeWaaoAi4ttVsA" x="60" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fqjsXJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vOWl8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fqjsnJgEeWaaoAi4ttVsA" x="-46" y="-60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fqjs3JgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vPBUUBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fqjtHJgEeWaaoAi4ttVsA" x="20" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8frKwHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_vPsCsBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8frKwXJgEeWaaoAi4ttVsA" x="-26" y="-40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8fpVkXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8fpVknJgEeWaaoAi4ttVsA" points="[500, 820, -643984, -643984]$[440, 820, -643984, -643984]$[440, 920, -643984, -643984]$[560, 920, -643984, -643984]$[620, 881, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZwlVcBIuEeeFNrLZFDmeGg" id="(0.0,0.6211180124223602)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ZwlVcRIuEeeFNrLZFDmeGg" id="(0.29850746268656714,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8i9vUHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_3J2VkHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8i9vU3JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pUU3gBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8i9vVHJgEeWaaoAi4ttVsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8i9vVXJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pVtXkBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8i9vVnJgEeWaaoAi4ttVsA" x="-170" y="-33"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8i9vV3JgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pWyVoBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8i9vWHJgEeWaaoAi4ttVsA" x="60" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8i9vWXJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pXncEBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8i-WYHJgEeWaaoAi4ttVsA" x="-6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8i-WYXJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pYSxgBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8i-WYnJgEeWaaoAi4ttVsA" x="40" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8i-WY3JgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pZAjMBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8i-WZHJgEeWaaoAi4ttVsA" x="-6" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8i9vUXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_generalUnit_specificUnit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8i9vUnJgEeWaaoAi4ttVsA" points="[1200, 840, -643984, -643984]$[1140, 840, -643984, -643984]$[1140, 920, -643984, -643984]$[1260, 920, -643984, -643984]$[1300, 881, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GvZHABIvEeeFNrLZFDmeGg" id="(0.0,0.7453416149068323)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HIAbUBIvEeeFNrLZFDmeGg" id="(0.37267080745341613,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8ow1UXJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_8owOQHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8ow1UnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_8ow1VnJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfQuantities"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8ow1U3JgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8ow1VHJgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8ow1VXJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_9VpwgHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_8nrQMHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9Vpwg3JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7XXboBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwhHJgEeWaaoAi4ttVsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9VpwhXJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7YxJ0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwhnJgEeWaaoAi4ttVsA" x="-53"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9Vpwh3JgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7ZkbEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwiHJgEeWaaoAi4ttVsA" x="19" y="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9VpwiXJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7a4psBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwinJgEeWaaoAi4ttVsA" x="-49" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9Vpwi3JgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7cArEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9VpwjHJgEeWaaoAi4ttVsA" x="19" y="7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_9VqXkHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7dUSoBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_9VqXkXJgEeWaaoAi4ttVsA" x="-26" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_9VpwgXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9VpwgnJgEeWaaoAi4ttVsA" points="[681, 160, -643984, -643984]$[720, 160, -643984, -643984]$[720, 240, -643984, -643984]$[640, 240, -643984, -643984]$[640, 201, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ahc64BIrEeeFNrLZFDmeGg" id="(1.0,0.7734806629834254)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ahc64RIrEeeFNrLZFDmeGg" id="(0.7453416149068323,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_9ZyCkHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_9ZxbgHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_9ZyCkXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_9ZyClXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_SystemOfUnits"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_9ZyCknJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9ZyCk3JgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9ZyClHJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-FOMQHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_9YlvwHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-FOzUHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-Q_UIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzUXJgEeWaaoAi4ttVsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-FOzUnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-SM1EBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzU3JgEeWaaoAi4ttVsA" x="-43"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-FOzVHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-TAtYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzVXJgEeWaaoAi4ttVsA" x="19" y="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-FOzVnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-TywgBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzV3JgEeWaaoAi4ttVsA" x="-46"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-FOzWHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-VVBkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-FOzWXJgEeWaaoAi4ttVsA" x="19" y="7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-FPaYHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-WEBYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-FPaYXJgEeWaaoAi4ttVsA" x="-26" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-FOMQXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-FOMQnJgEeWaaoAi4ttVsA" points="[1341, 160, -643984, -643984]$[1400, 160, -643984, -643984]$[1400, 240, -643984, -643984]$[1320, 240, -643984, -643984]$[1320, 201, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Al4ScBIsEeeFNrLZFDmeGg" id="(1.0,0.7734806629834254)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AXhtYBIsEeeFNrLZFDmeGg" id="(0.851063829787234,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-JTbBHJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_-IDd0HJgEeWaaoAi4ttVsA" target="_-JTbAHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_-JTbBXJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-JTbCXJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_PrefixedUnit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-JTbBnJgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-JTbB3JgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-JTbCHJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-y9cAHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_7wOq0HJgEeWaaoAi4ttVsA" target="_-IDd0HJgEeWaaoAi4ttVsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8RH4BL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8RH4RL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-y-DEHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uIl3wBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DEXJgEeWaaoAi4ttVsA" x="2" y="-17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-y-DEnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uKDQUBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DE3JgEeWaaoAi4ttVsA" x="-170" y="-93"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-y-DFHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uKwa8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DFXJgEeWaaoAi4ttVsA" x="33"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-y-DFnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uLdlkBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DF3JgEeWaaoAi4ttVsA" x="-6" y="-100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-y-DGHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uMI7ABIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DGXJgEeWaaoAi4ttVsA" x="33" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_-y-DGnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_uMzpYBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-y-DG3JgEeWaaoAi4ttVsA" x="-6"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-y9cAXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-y9cAnJgEeWaaoAi4ttVsA" points="[680, 720, -643984, -643984]$[660, 680, -643984, -643984]$[880, 680, -643984, -643984]$[880, 441, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUyBYHJhEeWaaoAi4ttVsA" id="(0.7960199004975125,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUyBYXJhEeWaaoAi4ttVsA" id="(0.28368794326241137,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-3R7UXJgEeWaaoAi4ttVsA" type="StereotypeCommentLink" source="_-17QcHJgEeWaaoAi4ttVsA" target="_-3RUQHJgEeWaaoAi4ttVsA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_-3R7UnJgEeWaaoAi4ttVsA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_-3R7VnJgEeWaaoAi4ttVsA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="QUDV.uml#QUDV.class_packagedElement_Prefix"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-3R7U3JgEeWaaoAi4ttVsA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-3R7VHJgEeWaaoAi4ttVsA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-3R7VXJgEeWaaoAi4ttVsA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__gug8HJgEeWaaoAi4ttVsA" type="Association_Edge" source="_-IDd0HJgEeWaaoAi4ttVsA" target="_-17QcHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="__gvIAHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o2JtwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__gvIAXJgEeWaaoAi4ttVsA" x="1" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__gvIAnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o3cHMBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__gvIA3JgEeWaaoAi4ttVsA" x="-31" y="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__gvIBHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o4Kf8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__gvIBXJgEeWaaoAi4ttVsA" x="6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__gvIBnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o42ccBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__gvIB3JgEeWaaoAi4ttVsA" x="-13" y="80"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__gvICHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o5k1MBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__gvvEHJgEeWaaoAi4ttVsA" x="6" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__gvvEXJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_o6Z7oBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__gvvEnJgEeWaaoAi4ttVsA" x="-13" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__gug8XJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_prefixedUnit_prefix"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__gug8nJgEeWaaoAi4ttVsA" points="[940, 441, -643984, -643984]$[940, 480, -643984, -643984]$[1020, 480, -643984, -643984]$[1020, 520, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DeR7oHJhEeWaaoAi4ttVsA" id="(0.7092198581560284,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DeSisHJhEeWaaoAi4ttVsA" id="(0.28368794326241137,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__jv_wHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_4m0p4HJgEeWaaoAi4ttVsA" target="_7wOq0HJgEeWaaoAi4ttVsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8TkIhL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8TkIxL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="__jwm0HJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Dkd_8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm0XJgEeWaaoAi4ttVsA" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__jwm0nJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DlsH8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm03JgEeWaaoAi4ttVsA" x="-71" y="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__jwm1HJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DmmG4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm1XJgEeWaaoAi4ttVsA" x="6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__jwm1nJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DnVGsBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm13JgEeWaaoAi4ttVsA" x="-13" y="120"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__jwm2HJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DoRh4BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm2XJgEeWaaoAi4ttVsA" x="6" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__jwm2nJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Do-FcBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__jwm23JgEeWaaoAi4ttVsA" x="-13"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__jv_wXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_quantityKindFactor_quantityKind"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__jv_wnJgEeWaaoAi4ttVsA" points="[180, 641, -643984, -643984]$[180, 680, -643984, -643984]$[540, 680, -643984, -643984]$[540, 720, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DKQMYHJhEeWaaoAi4ttVsA" id="(0.4968944099378882,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DKQzcHJhEeWaaoAi4ttVsA" id="(0.19900497512437812,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__m2-IHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_7wOq0HJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8TkIBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8TkIRL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="__m3lMHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pZymUBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__m3lMXJgEeWaaoAi4ttVsA" x="1" y="-18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__m3lMnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_paei0BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__m3lM3JgEeWaaoAi4ttVsA" x="-91" y="7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__m3lNHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pes7gBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__m3lNXJgEeWaaoAi4ttVsA" x="19" y="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__m3lNnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pi9wcBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__m3lN3JgEeWaaoAi4ttVsA" x="-100" y="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__m4MQHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_pj49gBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__m4MQXJgEeWaaoAi4ttVsA" x="39" y="7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__m4MQnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_poWmwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__m4MQ3JgEeWaaoAi4ttVsA" x="-40" y="7"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__m2-IXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__m2-InJgEeWaaoAi4ttVsA" points="[701, 800, -643984, -643984]$[1200, 800, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFxVAHJhEeWaaoAi4ttVsA" id="(1.0,0.4968944099378882)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFxVAXJhEeWaaoAi4ttVsA" id="(0.0,0.4968944099378882)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__qI7oHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_7wOq0HJgEeWaaoAi4ttVsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8S9EBL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8S9ERL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="__qJisHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7hqnIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__qJisXJgEeWaaoAi4ttVsA" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__qJisnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7i0dsBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__qJis3JgEeWaaoAi4ttVsA" x="86" y="220"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__qJitHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7x8e0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__qJitXJgEeWaaoAi4ttVsA" x="106" y="120"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__qJitnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7ysswBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__qJit3JgEeWaaoAi4ttVsA" x="-93" y="120"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__qJiuHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_724pMBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__qJiuXJgEeWaaoAi4ttVsA" x="106"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__qKJwHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_733goBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__qKJwXJgEeWaaoAi4ttVsA" x="-93"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__qI7oXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__qI7onJgEeWaaoAi4ttVsA" points="[560, 201, -643984, -643984]$[480, 1000, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUyocHJhEeWaaoAi4ttVsA" id="(0.37267080745341613,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUyocXJhEeWaaoAi4ttVsA" id="(0.39800995024875624,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__u0nUHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_6-dPoHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="__u0nU3JgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_78fh8BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OYHJgEeWaaoAi4ttVsA" x="-1" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__u1OYXJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_79YSwBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OYnJgEeWaaoAi4ttVsA" x="62" y="56"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__u1OY3JgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8BfWsBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OZHJgEeWaaoAi4ttVsA" x="119" y="-22"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__u1OZXJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8C5r8BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OZnJgEeWaaoAi4ttVsA" x="-10" y="26"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__u1OZ3JgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8DuyYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OaHJgEeWaaoAi4ttVsA" x="25" y="15"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__u1OaXJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8E0-kBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__u1OanJgEeWaaoAi4ttVsA" x="-14" y="-19"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__u0nUXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfQuantities_dimension"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__u0nUnJgEeWaaoAi4ttVsA" points="[500, 80, -643984, -643984]$[160, 20, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DQ6OAHJhEeWaaoAi4ttVsA" id="(0.0,0.3314917127071823)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DQ61EHJhEeWaaoAi4ttVsA" id="(1.0,0.3314917127071823)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__yBFQHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_7wOq0HJgEeWaaoAi4ttVsA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-8S9EhL9EeeY9ueKNJ6bdg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_-8S9ExL9EeeY9ueKNJ6bdg" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="__yBsUHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8FtIUBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsUXJgEeWaaoAi4ttVsA" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__yBsUnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8HFBUBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsU3JgEeWaaoAi4ttVsA" x="26"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__yBsVHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8ID4wBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsVXJgEeWaaoAi4ttVsA" x="126"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__yBsVnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8I3KABIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsV3JgEeWaaoAi4ttVsA" x="-73"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__yBsWHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8Jmw4BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsWXJgEeWaaoAi4ttVsA" x="126" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__yBsWnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8Mpd0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__yBsW3JgEeWaaoAi4ttVsA" x="-73" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__yBFQXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__yBFQnJgEeWaaoAi4ttVsA" points="[580, 201, -643984, -643984]$[560, 1000, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUzPgHJhEeWaaoAi4ttVsA" id="(0.6211180124223602,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUzPgXJhEeWaaoAi4ttVsA" id="(0.5970149253731343,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__1Tp0HJgEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="__1UQ4HJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-XMp0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__1UQ4XJgEeWaaoAi4ttVsA" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__1UQ4nJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-aDJgBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__1UQ43JgEeWaaoAi4ttVsA" x="26"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__1UQ5HJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-c2l4BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__1UQ5XJgEeWaaoAi4ttVsA" x="186"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__1UQ5nJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-dsTYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__1U38HJgEeWaaoAi4ttVsA" x="-93"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__1U38XJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-gg94BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__1U38nJgEeWaaoAi4ttVsA" x="166" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__1U383JgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-hM6YBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__1U39HJgEeWaaoAi4ttVsA" x="-93" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__1Tp0XJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfUnits_baseUnit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__1Tp0nJgEeWaaoAi4ttVsA" points="[1120, 201, -643984, -643984]$[1000, 940, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFx8E3JhEeWaaoAi4ttVsA" id="(0.7092198581560284,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFyjIHJhEeWaaoAi4ttVsA" id="(0.6211180124223602,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__6sgIHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_-17QcHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="__6tHMHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-h7TIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHMXJgEeWaaoAi4ttVsA" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__6tHMnJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-k2EQBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHM3JgEeWaaoAi4ttVsA" x="39" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__6tHNHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-lgyoBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHNXJgEeWaaoAi4ttVsA" x="34" y="15"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__6tHNnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-ouesBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHN3JgEeWaaoAi4ttVsA" x="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__6tHOHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-peFkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHOXJgEeWaaoAi4ttVsA" x="86"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__6tHOnJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-qKCEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__6tHO3JgEeWaaoAi4ttVsA" x="-13" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__6sgIXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfUnits_prefix"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__6sgInJgEeWaaoAi4ttVsA" points="[1240, 201, -643984, -643984]$[1240, 320, -643984, -643984]$[1080, 320, -643984, -643984]$[1060, 520, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Da1mEHJhEeWaaoAi4ttVsA" id="(0.28368794326241137,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Da1mEXJhEeWaaoAi4ttVsA" id="(0.7092198581560284,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__-HnkHJgEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_8nrQMHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="__-IOoHJgEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8TUtkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOoXJgEeWaaoAi4ttVsA" x="1" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__-IOonJgEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8UWoUBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOo3JgEeWaaoAi4ttVsA" x="100" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__-IOpHJgEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8VTqkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOpXJgEeWaaoAi4ttVsA" x="120" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__-IOpnJgEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8WQs0BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOp3JgEeWaaoAi4ttVsA" x="-19" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__-IOqHJgEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8aS4QBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__-IOqXJgEeWaaoAi4ttVsA" x="20" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="__-I1sHJgEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8bBRABIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__-I1sXJgEeWaaoAi4ttVsA" x="-19" y="13"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__-HnkXJgEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__-HnknJgEeWaaoAi4ttVsA" points="[1200, 80, -643984, -643984]$[681, 80, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DYbyUHJhEeWaaoAi4ttVsA" id="(0.0,0.4552238805970149)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DYbyUXJhEeWaaoAi4ttVsA" id="(1.0,0.3314917127071823)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ABWhwHJhEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ABWhw3JhEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-tXuIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ABWhxHJhEeWaaoAi4ttVsA" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ABXI0HJhEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-uB1cBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI0XJhEeWaaoAi4ttVsA" x="-12" y="139"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ABXI0nJhEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-ur8wBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI03JhEeWaaoAi4ttVsA" x="166" y="40"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ABXI1HJhEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-vZHYBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI1XJhEeWaaoAi4ttVsA" x="-32" y="123"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ABXI1nJhEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-wLxkBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI13JhEeWaaoAi4ttVsA" x="186" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ABXI2HJhEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-zztUBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ABXI2XJhEeWaaoAi4ttVsA" x="-113"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_ABWhwXJhEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_systemOfUnits_unit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ABWhwnJhEeWaaoAi4ttVsA" points="[1260, 201, -643984, -643984]$[1000, 940, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFx8EXJhEeWaaoAi4ttVsA" id="(0.425531914893617,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFx8EnJhEeWaaoAi4ttVsA" id="(0.37267080745341613,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_AF5DgHJhEeWaaoAi4ttVsA" type="Association_Edge" source="_6IwWsHJgEeWaaoAi4ttVsA" target="_3J2VkHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AF5Dg3JhEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ni1rwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5DhHJhEeWaaoAi4ttVsA" x="1" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AF5DhXJhEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nkZK8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5DhnJhEeWaaoAi4ttVsA" x="19" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AF5Dh3JhEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nlohEBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5qkHJhEeWaaoAi4ttVsA" x="6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AF5qkXJhEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nmW50BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5qknJhEeWaaoAi4ttVsA" x="-13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AF5qk3JhEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_nnSt8BIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5qlHJhEeWaaoAi4ttVsA" x="6" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AF5qlXJhEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_noBtwBIrEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AF5qlnJhEeWaaoAi4ttVsA" x="-13" y="20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AF5DgXJhEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_unitFactor_unit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AF5DgnJhEeWaaoAi4ttVsA" points="[1600, 661, -643984, -643984]$[1600, 680, -643984, -643984]$[1340, 680, -643984, -643984]$[1340, 720, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFxVAnJhEeWaaoAi4ttVsA" id="(0.4968944099378882,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFx8EHJhEeWaaoAi4ttVsA" id="(0.8695652173913043,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_AJP5gHJhEeWaaoAi4ttVsA" type="Association_Edge" source="_8nrQMHJgEeWaaoAi4ttVsA" target="_8nrQMHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AJP5g3JhEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8N4M4BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AJP5hHJhEeWaaoAi4ttVsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AJQgkHJhEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8O_AIBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQgkXJhEeWaaoAi4ttVsA" x="-18" y="271"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AJQgknJhEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8P9QgBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQgk3JhEeWaaoAi4ttVsA" x="200" y="16"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AJQglHJhEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8QtecBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQglXJhEeWaaoAi4ttVsA" x="-46" y="-100"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AJQglnJhEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8RmPQBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQgl3JhEeWaaoAi4ttVsA" x="35" y="-16"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AJQgmHJhEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_8SfAEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AJQgmXJhEeWaaoAi4ttVsA" x="-26" y="-40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AJP5gXJhEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AJP5gnJhEeWaaoAi4ttVsA" points="[520, 160, -643984, -643984]$[460, 160, -643984, -643984]$[460, 240, -643984, -643984]$[540, 240, -643984, -643984]$[540, 201, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Iq5HMBIrEeeFNrLZFDmeGg" id="(0.0,0.7734806629834254)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_J5kg0BIrEeeFNrLZFDmeGg" id="(0.12422360248447205,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_AMhP8HJhEeWaaoAi4ttVsA" type="Association_Edge" source="_9YlvwHJgEeWaaoAi4ttVsA" target="_9YlvwHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AMh3AHJhEeWaaoAi4ttVsA" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-0qo8BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AMh3AXJhEeWaaoAi4ttVsA" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AMh3AnJhEeWaaoAi4ttVsA" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-1lO8BIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AMh3A3JhEeWaaoAi4ttVsA" x="-176" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AMh3BHJhEeWaaoAi4ttVsA" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-2ktcBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AMh3BXJhEeWaaoAi4ttVsA" x="120" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AMieEHJhEeWaaoAi4ttVsA" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-6incBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AMieEXJhEeWaaoAi4ttVsA" x="-46" y="-80"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AMieEnJhEeWaaoAi4ttVsA" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-8tKoBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AMieE3JhEeWaaoAi4ttVsA" x="40" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_AMieFHJhEeWaaoAi4ttVsA" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-9YgEBIqEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AMieFXJhEeWaaoAi4ttVsA" x="-26" y="-40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AMhP8XJhEeWaaoAi4ttVsA"/>
+ <element xmi:type="uml:Association" href="QUDV.uml#QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AMhP8nJhEeWaaoAi4ttVsA" points="[1200, 160, -643984, -643984]$[1140, 160, -643984, -643984]$[1140, 240, -643984, -643984]$[1220, 240, -643984, -643984]$[1300, 201, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4MgMsBIrEeeFNrLZFDmeGg" id="(0.0,0.7734806629834254)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_4jABIBIrEeeFNrLZFDmeGg" id="(0.14184397163120568,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_dfIpwBL9EeeY9ueKNJ6bdg" type="Constraint_ContextEdge" source="_dQph0BL9EeeY9ueKNJ6bdg" target="_5Y18sHJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_dfJ34BL9EeeY9ueKNJ6bdg" type="Constraint_KeywordLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_dfJ34RL9EeeY9ueKNJ6bdg" y="15"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_dfIpwRL9EeeY9ueKNJ6bdg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dfIpwhL9EeeY9ueKNJ6bdg" points="[0, 0, -643984, -643984]$[1520, 296, -643984, -643984]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-8Ru8BL9EeeY9ueKNJ6bdg" type="Constraint_ContextEdge" source="_-20nMBL9EeeY9ueKNJ6bdg" target="_7wOq0HJgEeWaaoAi4ttVsA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-8Ru8xL9EeeY9ueKNJ6bdg" type="Constraint_KeywordLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="__dWbsBL9EeeY9ueKNJ6bdg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-8Ru9BL9EeeY9ueKNJ6bdg" x="-1" y="13"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-8Ru8RL9EeeY9ueKNJ6bdg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-8Ru8hL9EeeY9ueKNJ6bdg" points="[0, 0, -643984, -643984]$[540, 720, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="__eSP0BL9EeeY9ueKNJ6bdg" id="(0.3835616438356164,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="__eSP0RL9EeeY9ueKNJ6bdg" id="(0.8955223880597015,1.0)"/>
+ </edges>
+</notation:Diagram>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.uml
new file mode 100644
index 0000000..93a79c1
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/QUDV.uml
@@ -0,0 +1,1963 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<xmi:XMI
+xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"
+xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML"
+xmlns:StandardProfile="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard"
+xmlns:SysML="http://www.eclipse.org/papyrus/sysml/1.6/SysML"
+xsi:schemaLocation="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks">
+ <uml:Package xmi:id="QUDV" xmi:uuid="org.omg.sysml.QUDV" xmi:type="uml:Package">
+ <name>QUDV</name>
+ <URI>http://www.omg.org/spec/SysML/20150709/QUDV</URI>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit" xmi:type="uml:Association">
+ <name>A_conversionBasedUnit_referenceUnit</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit" xmi:type="uml:Property">
+ <name>conversionBasedUnit</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue
+ xmi:id="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit_ownedEnd.conversionBasedUnit"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor" xmi:type="uml:Association">
+ <name>A_derivedQuantityKind_factor</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind" xmi:type="uml:Property">
+ <name>derivedQuantityKind</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor_ownedEnd.derivedQuantityKind"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_derivedUnit_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedUnit_factor" xmi:type="uml:Association">
+ <name>A_derivedUnit_factor</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit" xmi:type="uml:Property">
+ <name>derivedUnit</name>
+ <type xmi:idref="QUDV.class_packagedElement_DerivedUnit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor_ownedEnd.derivedUnit"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_dimension_factor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor" xmi:type="uml:Association">
+ <name>A_dimension_factor</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension" xmi:type="uml:Property">
+ <name>dimension</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_dimension_factor"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_dimension_factor_ownedEnd.dimension"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_Dimension_ownedAttribute.factor"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind" xmi:type="uml:Association">
+ <name>A_generalQuantityKind_specificQuantityKind</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific" xmi:type="uml:Property">
+ <name>specific</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general"/>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind_ownedEnd.specific"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit" xmi:type="uml:Association">
+ <name>A_generalUnit_specificUnit</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific" xmi:type="uml:Property">
+ <name>specific</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit_ownedEnd.specific"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.general"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities" xmi:type="uml:Association">
+ <name>A_includedSystemOfQuantities_systemOfQuantities</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+ <name>systemOfQuantities</name>
+ <lowerValue
+ xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits" xmi:type="uml:Association">
+ <name>A_includedSystemOfUnits_systemOfUnits</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+ <name>systemOfUnits</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit" xmi:type="uml:Association">
+ <name>A_noQuantityKind_prefixedUnit</name>
+ <generalization
+ xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit._generalization.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit._generalization.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
+ </generalization>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit" xmi:type="uml:Property">
+ <name>prefixedUnit</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural"/>
+ <type xmi:idref="QUDV.class_packagedElement_PrefixedUnit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit"/>
+ <redefinedProperty xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind"/>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit_ownedEnd.prefixedUnit"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix" xmi:type="uml:Association">
+ <name>A_prefixedUnit_prefix</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit" xmi:type="uml:Property">
+ <name>prefixedUnit</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_PrefixedUnit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix_ownedEnd.prefixedUnit"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind" xmi:type="uml:Association">
+ <name>A_quantityKindFactor_quantityKind</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor" xmi:type="uml:Property">
+ <name>quantityKindFactor</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind_ownedEnd.quantityKindFactor"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit" xmi:type="uml:Association">
+ <name>A_quantityKind_measurementUnit</name>
+ <generalization
+ xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit" xmi:type="uml:Generalization">
+ <general xmi:type="uml:Association" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit"/>
+ </generalization>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit" xmi:type="uml:Property">
+ <name>measurementUnit</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
+ <redefinedProperty xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit_ownedEnd.measurementUnit"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind" xmi:type="uml:Association">
+ <name>A_systemOfQuantities_baseQuantityKind</name>
+ <generalization
+ xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind._generalization.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind._generalization.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
+ </generalization>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+ <name>systemOfQuantities</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue
+ xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind"/>
+ <subsettedProperty xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind_ownedEnd.systemOfQuantities"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension" xmi:type="uml:Association">
+ <name>A_systemOfQuantities_dimension</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+ <name>systemOfQuantities</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension_ownedEnd.systemOfQuantities"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind" xmi:type="uml:Association">
+ <name>A_systemOfQuantities_quantityKind</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+ <name>systemOfQuantities</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind_ownedEnd.systemOfQuantities"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit" xmi:type="uml:Association">
+ <name>A_systemOfUnits_baseUnit</name>
+ <generalization
+ xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit._generalization.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit._generalization.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
+ </generalization>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+ <name>systemOfUnits</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit"/>
+ <subsettedProperty xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit_ownedEnd.systemOfUnits"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix" xmi:type="uml:Association">
+ <name>A_systemOfUnits_prefix</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+ <name>systemOfUnits</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix_ownedEnd.systemOfUnits"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities" xmi:type="uml:Association">
+ <name>A_systemOfUnits_systemOfQuantities</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+ <name>systemOfUnits</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities_ownedEnd.systemOfUnits"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit" xmi:type="uml:Association">
+ <name>A_systemOfUnits_unit</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+ <name>systemOfUnits</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit_ownedEnd.systemOfUnits"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_unitFactor_unit" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit" xmi:type="uml:Association">
+ <name>A_unitFactor_unit</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor" xmi:type="uml:Property">
+ <name>unitFactor</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_UnitFactor"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit_ownedEnd.unitFactor"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities" xmi:type="uml:Association">
+ <name>A_usedSystemOfQuantities_systemOfQuantities</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities" xmi:type="uml:Property">
+ <name>systemOfQuantities</name>
+ <lowerValue
+ xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities_ownedEnd.systemOfQuantities"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits" xmi:type="uml:Association">
+ <name>A_usedSystemOfUnits_systemOfUnits</name>
+ <ownedEnd xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits" xmi:type="uml:Property">
+ <name>systemOfUnits</name>
+ <lowerValue xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits"/>
+ </ownedEnd>
+ <memberEnd xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits_ownedEnd.systemOfUnits"/>
+ <memberEnd xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits"/>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_AffineConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit" xmi:type="uml:Class">
+ <name>AffineConversionUnit</name>
+ <ownedRule xmi:id="QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible" xmi:type="uml:Constraint">
+ <name>invertible</name>
+ <specification xmi:id="QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.constraint_ownedRule_invertible_specification" xmi:type="uml:OpaqueExpression">
+ <body>isInvertible = true</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <generalization
+ xmi:id="QUDV.class_packagedElement_AffineConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.factor" xmi:type="uml:Property">
+ <name>factor</name>
+ <type xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.offset" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit_ownedAttribute.offset" xmi:type="uml:Property">
+ <name>offset</name>
+ <type xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Class">
+ <name>ConversionBasedUnit</name>
+ <isAbstract>true</isAbstract>
+ <generalization xmi:id="QUDV.class_packagedElement_ConversionBasedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.isInvertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.isInvertible" xmi:type="uml:Property">
+ <name>isInvertible</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedAttribute.referenceUnit" xmi:type="uml:Property">
+ <name>referenceUnit</name>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_conversionBasedUnit_referenceUnit"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
+ <name>dependsOnUnits</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>A ConversionBasedUnit transitively depends on its referenceUnit and all of the Units that its referenceUnit depends on.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>referenceUnit.dependsOnUnits()->including(referenceUnit)->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit_ownedOperation.dependsOnUnits_Unit"/>
+ </bodyCondition>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_DerivedQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind" xmi:type="uml:Class">
+ <name>DerivedQuantityKind</name>
+ <generalization xmi:id="QUDV.class_packagedElement_DerivedQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor" xmi:type="uml:Property">
+ <name>factor</name>
+ <upperValue xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_derivedQuantityKind_factor"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+ <name>dependsOnQuantityKinds</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+ <body>A DerivedQuantityKind transitively depends on its factors' QuantityKinds and all of the QuantityKinds that its factors' QuantityKinds depend on.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>factor.quantityKind.dependsOnQuantityKinds()->flatten()->asSet()->union(factor.quantityKind->flatten()->asSet())->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+ </bodyCondition>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_DerivedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit" xmi:type="uml:Class">
+ <name>DerivedUnit</name>
+ <ownedRule xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind" xmi:type="uml:Constraint">
+ <name>mustSpecifyQuantityKind</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind._ownedComment.0" xmi:type="uml:Comment">
+ <body>Since a DerivedUnit is defined as a product factor of one or more other Units, it must specify explicitly its QuantityKinds.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.constraint_ownedRule_mustSpecifyQuantityKind_specification" xmi:type="uml:OpaqueExpression">
+ <body>quantityKind <> null and quantityKind->notEmpty()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <generalization xmi:id="QUDV.class_packagedElement_DerivedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor" xmi:type="uml:Property">
+ <name>factor</name>
+ <upperValue xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_UnitFactor"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_derivedUnit_factor"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors" xmi:type="uml:Property">
+ <name>hasReducedFactors</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors._ownedComment.0" xmi:type="uml:Comment">
+ <body>
+ If true, the UnitFactors specifying the product of powers of other measurement units that define the DerivedUnit cannot be simplified. If false, the DerivedUnit is non-reduced; some UnitFactors can be simplified. A non-reduced DerivedUnit can have as a general unit other DerivedUnits defined in terms of simplified UnitFactors, possibly in reduced form.
+ </body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors"/>
+ </ownedComment>
+ <defaultValue xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedAttribute.hasReducedFactors_defaultValue" xmi:type="uml:LiteralBoolean">
+ <value>true</value>
+ </defaultValue>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
+ <name>dependsOnUnits</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>A DerivedUnit transitively depends on its factors' Units and all of the Units that its factors' Units depend on.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>factor.unit.dependsOnUnits()->flatten()->asSet()->union(factor.unit->flatten()->asSet())->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_DerivedUnit_ownedOperation.dependsOnUnits_Unit"/>
+ </bodyCondition>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_Dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension" xmi:type="uml:Class">
+ <name>Dimension</name>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor" xmi:type="uml:Property">
+ <name>factor</name>
+ <isOrdered>true</isOrdered>
+ <lowerValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.factor_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.factor_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKindFactor"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_dimension_factor"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression" xmi:type="uml:Property">
+ <name>symbolicExpression</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression._ownedComment.0" xmi:type="uml:Comment">
+ <body>Symbolic expression of the quantity dimension's product of powers, in terms of symbols of the kinds of quantity that represent the base kinds of quantity and their exponents. In tool implementations, the symbolicExpression may automatically derived from the associated factor set.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression"/>
+ </ownedComment>
+ <lowerValue xmi:id="QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension_ownedAttribute.symbolicExpression_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_GeneralConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit" xmi:type="uml:Class">
+ <name>GeneralConversionUnit</name>
+ <generalization
+ xmi:id="QUDV.class_packagedElement_GeneralConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expression" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expression" xmi:type="uml:Property">
+ <name>expression</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI" xmi:type="uml:Property">
+ <name>expressionLanguageURI</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit_ownedAttribute.expressionLanguageURI_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_LinearConversionUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit" xmi:type="uml:Class">
+ <name>LinearConversionUnit</name>
+ <ownedRule xmi:id="QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible" xmi:type="uml:Constraint">
+ <name>invertible</name>
+ <specification xmi:id="QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.constraint_ownedRule_invertible_specification" xmi:type="uml:OpaqueExpression">
+ <body>isInvertible = true</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <generalization
+ xmi:id="QUDV.class_packagedElement_LinearConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_LinearConversionUnit_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit_ownedAttribute.factor" xmi:type="uml:Property">
+ <name>factor</name>
+ <type xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_Prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix" xmi:type="uml:Class">
+ <name>Prefix</name>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Prefix_ownedAttribute.factor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix_ownedAttribute.factor" xmi:type="uml:Property">
+ <name>factor</name>
+ <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Prefix_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix_ownedAttribute.symbol" xmi:type="uml:Property">
+ <name>symbol</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_PrefixedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit" xmi:type="uml:Class">
+ <name>PrefixedUnit</name>
+ <ownedRule xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1" xmi:type="uml:Constraint">
+ <name>PU1</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1._ownedComment.0" xmi:type="uml:Comment">
+ <body>The referenceUnit shall not be a PrefixedUnit, i.e.,it is not allowed to prefix an already prefixed measurement unit. In general the referenceUnit should be a SimpleUnit.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.constraint_ownedRule_PU1_specification" xmi:type="uml:OpaqueExpression">
+ <body>not referenceUnit.oclIsTypeOf(PrefixedUnit)</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <generalization xmi:id="QUDV.class_packagedElement_PrefixedUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit._generalization.QUDV.class_packagedElement_ConversionBasedUnit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_ConversionBasedUnit"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind" xmi:type="uml:Property">
+ <name>noQuantityKind</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.noQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural"/>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_noQuantityKind_prefixedUnit"/>
+ <redefinedProperty xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit_ownedAttribute.prefix" xmi:type="uml:Property">
+ <name>prefix</name>
+ <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_prefixedUnit_prefix"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Class">
+ <name>QuantityKind</name>
+ <isAbstract>true</isAbstract>
+ <ownedRule xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies" xmi:type="uml:Constraint">
+ <name>acyclic_quantity_kind_dependencies</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies._ownedComment.0" xmi:type="uml:Comment">
+ <body>A QuantityKind cannot be defined in terms of itself. This follows from the quantity calculus used for expressing a derived QuantityKind in terms of base QuantityKinds chosen for a SystemOfQuantities by means of non-contradictory equations (See ISO 80000-1, 4.3).</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies"/>
+ </ownedComment>
+ <specification
+ xmi:id="QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.constraint_ownedRule_acyclic_quantity_kind_dependencies_specification" xmi:type="uml:OpaqueExpression">
+ <body>dependsOnQuantityKinds->excludes(self)</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <generalization
+ xmi:id="QUDV.class_packagedElement_QuantityKind._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
+ <general xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds" xmi:type="uml:Property">
+ <name>dependsOnQuantityKinds</name>
+ <isReadOnly>true</isReadOnly>
+ <isDerived>true</isDerived>
+ <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds._ownedComment.0" xmi:type="uml:Comment">
+ <body>The set of all QuantityKinds that this QuantityKind directly or indirectly depends on according to its definition.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds"/>
+ </ownedComment>
+ <lowerValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.dependsOnQuantityKinds_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general" xmi:type="uml:Property">
+ <name>general</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.general_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_generalQuantityKind_specificQuantityKind"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities" xmi:type="uml:Property">
+ <name>isNumberOfEntities</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities._ownedComment.0" xmi:type="uml:Comment">
+ <body>If true, indicates that the QuantityKind represents a number of entities (see ISO 80000-1, 3.8, Note 4).</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities"/>
+ </ownedComment>
+ <defaultValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isNumberOfEntities_defaultValue" xmi:type="uml:LiteralBoolean"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne" xmi:type="uml:Property">
+ <name>isQuantityOfDimensionOne</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne._ownedComment.0" xmi:type="uml:Comment">
+ <body>If true, indicates that the QuantityKind has dimension one (see ISO 80000-1, 3.8).</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne"/>
+ </ownedComment>
+ <defaultValue xmi:id="QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedAttribute.isQuantityOfDimensionOne_defaultValue" xmi:type="uml:LiteralBoolean"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+ <name>dependsOnQuantityKinds</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+ <body>Abstract operation specified in SpecializedQuantityKind, SimpleQuantityKind and DerivedQuantityKind to calculate the value of the derived property QuantityKind:/dependsOnQuantityKinds.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+ </ownedComment>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_QuantityKindFactor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor" xmi:type="uml:Class">
+ <name>QuantityKindFactor</name>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.exponent" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.exponent" xmi:type="uml:Property">
+ <name>exponent</name>
+ <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor_ownedAttribute.quantityKind" xmi:type="uml:Property">
+ <name>quantityKind</name>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_quantityKindFactor_quantityKind"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_SimpleQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind" xmi:type="uml:Class">
+ <name>SimpleQuantityKind</name>
+ <generalization xmi:id="QUDV.class_packagedElement_SimpleQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind._generalization.QUDV.class_packagedElement_QuantityKind" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </generalization>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+ <name>dependsOnQuantityKinds</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+ <body>A SimpleQuantityKind does not depend on any other QuantityKind.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>Set(QuantityKind){}</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SimpleQuantityKind_ownedOperation.dependsOnQuantityKinds_QuantityKind"/>
+ </bodyCondition>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_SimpleUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit" xmi:type="uml:Class">
+ <name>SimpleUnit</name>
+ <generalization xmi:id="QUDV.class_packagedElement_SimpleUnit._generalization.QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit._generalization.QUDV.class_packagedElement_Unit" xmi:type="uml:Generalization">
+ <general xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </generalization>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
+ <name>dependsOnUnits</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>A SimpleUnit, by definition, does not depend on any other Unit.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>Set(Unit){}</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SimpleUnit_ownedOperation.dependsOnUnits_Unit"/>
+ </bodyCondition>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities" xmi:type="uml:Class">
+ <name>SystemOfQuantities</name>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance" xmi:type="uml:Constraint">
+ <name>acyclicProvenance</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:type="uml:Comment">
+ <body>For a QuantityKind to have a provenance to a single SystemOfQuantities, the use and includes relationships among SystemOfQuantities must be acyclic.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_acyclicProvenance_specification" xmi:type="uml:OpaqueExpression">
+ <body>allAccessibleSystemOfQuantities()->excludes(self)</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities" xmi:type="uml:Constraint">
+ <name>allBaseQuantitiesAreQuantities</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities._ownedComment.0" xmi:type="uml:Comment">
+ <body>
+ The set of all QuantityKinds in a given SystemOfQuantities can be partitioned into two disjoint, covering subsets: the set of base QuantityKinds (typically chosen to be mutually independent) and all its complement, the set of derived QuantityKinds, each of which can be expressed in terms of the base QuantityKinds (See ISO 80000-1, 4.3).
+ </body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities"/>
+ </ownedComment>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_allBaseQuantitiesAreQuantities_specification" xmi:type="uml:OpaqueExpression">
+ <body>allQuantityKinds()->includesAll(allBaseQuantityKinds())</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities" xmi:type="uml:Constraint">
+ <name>includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities</name>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
+ <body>For a QuantityKind to have a provenance to a single SystemOfQuantities, includedSystemsOfQuantities must be transitively disjoint with usedSystemsOfQuantities</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities"/>
+ </ownedComment>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_includedSystemOfQuantities_transitivelyDisjoint_usedSystemOfQuantities_specification" xmi:type="uml:OpaqueExpression">
+ <body>allIncludedSystemOfQuantities()->intersection(self.oclAsSet()->closure(usedSystemOfQuantities))->isEmpty()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance" xmi:type="uml:Constraint">
+ <name>singleProvenance</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:type="uml:Comment">
+ <body>
+ Every QuantityKind must be defined in only one SystemOfQuantities but it can be in the scope of several SystemOfQuantities. A given QuantityKind is in scope of a SystemOfQuantities either because it is defined or used in a SystemOfQuantities or because it is included from the scope of another SystemOfQuantities.
+ </body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.constraint_ownedRule_singleProvenance_specification" xmi:type="uml:OpaqueExpression">
+ <body>includedSystemOfQuantities->collect(allQuantityKinds())->intersection(quantityKind)->isEmpty()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind" xmi:type="uml:Property">
+ <name>baseQuantityKind</name>
+ <isOrdered>true</isOrdered>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.baseQuantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_baseQuantityKind"/>
+ <subsettedProperty xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI" xmi:type="uml:Property">
+ <name>definitionURI</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.definitionURI_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description" xmi:type="uml:Property">
+ <name>description</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.description_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension" xmi:type="uml:Property">
+ <name>dimension</name>
+ <isOrdered>true</isOrdered>
+ <isUnique>false</isUnique>
+ <isReadOnly>true</isReadOnly>
+ <isDerived>true</isDerived>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.dimension_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_dimension"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities" xmi:type="uml:Property">
+ <name>includedSystemOfQuantities</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.includedSystemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfQuantities_systemOfQuantities"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind" xmi:type="uml:Property">
+ <name>quantityKind</name>
+ <isOrdered>true</isOrdered>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.quantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfQuantities_quantityKind"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol" xmi:type="uml:Property">
+ <name>symbol</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.symbol_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities" xmi:type="uml:Property">
+ <name>usedSystemOfQuantities</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedAttribute.usedSystemOfQuantities_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfQuantities_systemOfQuantities"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+ <name>allAccessibleQuantityKinds</name>
+ <isQuery>true</isQuery>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query accessibleQuantityKinds() gives all the QuantityKinds directly defined in the SystemOfQuantities or transitively in any included or used SystemOfQuantities.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allAccessibleSystemOfQuantities()->collect(quantityKind)->flatten()->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleQuantityKinds_QuantityKind"/>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
+ <name>allAccessibleSystemOfQuantities</name>
+ <isQuery>true</isQuery>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allAccessibleSystemOfQuantities() gives all the SystemOfQuantities directly or transitively included or used.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allAccessibleSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>self->closure(includedSystemOfQuantities->union(usedSystemOfQuantities))->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+ <name>allBaseQuantityKinds</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allBaseQuantityKinds() gives all the QuantityKinds directly adopted or transitively adopted from any included SystemOfQuantities as base QuantityKinds.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allIncludedSystemOfQuantities()->collect(baseQuantityKind)->flatten()->asSet()->union(baseQuantityKind)->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
+ <name>allIncludedSystemOfQuantities</name>
+ <isQuery>true</isQuery>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allIncludedSystemOfQuantities() gives all the SystemOfQuantities directly or transitively included.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allIncludedSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>self->closure(includedSystemOfQuantities)->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+ <name>allQuantityKinds</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+ <body>
+ The query allQuantityKinds() gives all the QuantityKinds in scope of a SystemOfQuantities; that is, each QuantityKind is either directly defined in the SystemOfQuantities, selectively used from another SystemOfQuantities or part of the scope of all the QuantityKinds included from another SystemOfQuantities.
+ </body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allIncludedSystemOfQuantities()->collect(quantityKind)->flatten()->asSet()->union(quantityKind)->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.allQuantityKinds_QuantityKind"/>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension" xmi:type="uml:Operation">
+ <name>getDimension</name>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_qk" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_qk" xmi:type="uml:Parameter">
+ <name>qk</name>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities_ownedOperation.getDimension_QuantityKind_Dimension.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <type xmi:idref="QUDV.class_packagedElement_Dimension"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits" xmi:type="uml:Class">
+ <name>SystemOfUnits</name>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1" xmi:type="uml:Constraint">
+ <name>SoU3_1</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1._ownedComment.0" xmi:type="uml:Comment">
+ <body>In a well-formed SystemOfUnits, all of the prefixes of PrefixedUnits are defined in the SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_1_specification" xmi:type="uml:OpaqueExpression">
+ <body>allPrefixes()->includesAll(allUnits()->select(oclIsTypeOf(PrefixedUnit))->collect(oclAsType(PrefixedUnit).prefix))</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2" xmi:type="uml:Constraint">
+ <name>SoU3_2</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2._ownedComment.0" xmi:type="uml:Comment">
+ <body>All the dependent Units of a SystemOfUnits must be in the scope of that SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_2_specification" xmi:type="uml:OpaqueExpression">
+ <body>allUnits()->includesAll(allUnits()->collect(dependsOnUnits())->flatten()->asSet())</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3" xmi:type="uml:Constraint">
+ <name>SoU3_3</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3._ownedComment.0" xmi:type="uml:Comment">
+ <body>All of the quantityKinds that are measurementUnits of Units in the SystemOfUnits are defined in the systemOfQuantities of that SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_SoU3_3_specification" xmi:type="uml:OpaqueExpression">
+ <body>getEffectiveSystemOfQuantities() = null or let aqk : Set(QuantityKind) = getEffectiveSystemOfQuantities().allQuantityKinds() in allUnits()->forAll(u | aqk->includesAll(getKindOfQuantitiesForMeasurementUnit(u)))</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance" xmi:type="uml:Constraint">
+ <name>acyclicProvenance</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance._ownedComment.0" xmi:type="uml:Comment">
+ <body>For a Unit to have a provenance to a single SystemOfUnits, the use and includes relationships among SystemOfUnits must be acyclic.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_acyclicProvenance_specification" xmi:type="uml:OpaqueExpression">
+ <body>allAccessibleSystemOfUnits()->excludes(self)</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits" xmi:type="uml:Constraint">
+ <name>allBaseUnitsAreUnits</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits._ownedComment.0" xmi:type="uml:Comment">
+ <body>
+ The set of all Units in a given SystemOfUnits can be partitioned into two disjoint, covering subsets: the set of base Units (typically chosen to be mutually independent) and all its complement, the set of derived Units, each of which can be expressed in terms of the base Units (See ISO 80000-1, 6.4).
+ </body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_allBaseUnitsAreUnits_specification" xmi:type="uml:OpaqueExpression">
+ <body>allUnits()->includesAll(allBaseUnits())</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits" xmi:type="uml:Constraint">
+ <name>includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits</name>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
+ <body>For a Unit to have a provenance to a single SystemOfUnits, all included systems of units must be transitively disjoint with all used systems of units.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits"/>
+ </ownedComment>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_includedSystemOfUnits_transitivelyDisjoint_usedSystemOfUnits_specification" xmi:type="uml:OpaqueExpression">
+ <body>allIncludedSystemOfUnits()->intersection(self.oclAsSet()->closure(usedSystemOfUnits))->isEmpty()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance" xmi:type="uml:Constraint">
+ <name>singleProvenance</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance._ownedComment.0" xmi:type="uml:Comment">
+ <body>Every Unit must be defined in only one SystemOfUnits but it can be in the scope of several SystemOfUnits. A given Unit is in scope of a SystemOfUnits either because it is defined or used in a SystemOfUnits or because it is included from the scope of another SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_singleProvenance_specification" xmi:type="uml:OpaqueExpression">
+ <body>includedSystemOfUnits->collect(allUnits())->intersection(unit)->isEmpty()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedRule xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds" xmi:type="uml:Constraint">
+ <name>systemOfQuantitiesIncludesAllUnitsQuantityKinds</name>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds._ownedComment.0" xmi:type="uml:Comment">
+ <body>For a Unit to have a provenance to a single SystemOfUnits, includedSystemsOfUnits must be transitively disjoint with usedSystemsOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds"/>
+ </ownedComment>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.constraint_ownedRule_systemOfQuantitiesIncludesAllUnitsQuantityKinds_specification" xmi:type="uml:OpaqueExpression">
+ <body>let aqks : Set(QuantityKind) = getEffectiveSystemOfQuantities().allQuantityKinds() in allUnits()->forAll(u | getKindOfQuantitiesForMeasurementUnit(u)->intersection(aqks)->notEmpty())</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit" xmi:type="uml:Property">
+ <name>baseUnit</name>
+ <isOrdered>true</isOrdered>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.baseUnit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_baseUnit"/>
+ <subsettedProperty xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI" xmi:type="uml:Property">
+ <name>definitionURI</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.definitionURI_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description" xmi:type="uml:Property">
+ <name>description</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.description_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits" xmi:type="uml:Property">
+ <name>includedSystemOfUnits</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.includedSystemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_includedSystemOfUnits_systemOfUnits"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix" xmi:type="uml:Property">
+ <name>prefix</name>
+ <isOrdered>true</isOrdered>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.prefix_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_prefix"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol" xmi:type="uml:Property">
+ <name>symbol</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.symbol_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities" xmi:type="uml:Property">
+ <name>systemOfQuantities</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.systemOfQuantities_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_systemOfQuantities"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit" xmi:type="uml:Property">
+ <name>unit</name>
+ <isOrdered>true</isOrdered>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.unit_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_systemOfUnits_unit"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits" xmi:type="uml:Property">
+ <name>usedSystemOfUnits</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedAttribute.usedSystemOfUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_usedSystemOfUnits_systemOfUnits"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits" xmi:type="uml:Operation">
+ <name>allAccessibleSystemOfUnits</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allAccessibleSystemOfUnits() gives all the SystemOfUnits directly or transitively included or used.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>self->closure(includedSystemOfUnits->union(usedSystemOfUnits))->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit" xmi:type="uml:Operation">
+ <name>allAccessibleUnits</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query accessibleUnits() gives all the Units directly defined in a SystemOfUnits or transitively in any included or used SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allAccessibleSystemOfUnits()->collect(unit)->flatten()->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allAccessibleUnits_Unit"/>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind" xmi:type="uml:Operation">
+ <name>allBaseQuantityKinds</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allBaseQuantityKinds() gives all the QuantityKinds directly adopted or transitively adopted from any included SystemOfQuantities as base QuantityKinds in the effective SystemOfQuantities associated to a SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result" xmi:type="uml:Constraint">
+ <name>result</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseQuantityKinds_QuantityKind.constraint_bodyCondition_result_specification" xmi:type="uml:OpaqueExpression">
+ <body>getEffectiveSystemOfQuantities().allBaseQuantityKinds()->flatten()->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit" xmi:type="uml:Operation">
+ <name>allBaseUnits</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allBaseUnits() gives all the Units directly adopted or transitively adopted from any included SystemOfUnits as base Units.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allIncludedSystemOfUnits()->collect(baseUnit)->flatten()->asSet()->union(baseUnit)->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allBaseUnits_Unit"/>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits" xmi:type="uml:Operation">
+ <name>allIncludedSystemOfUnits</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allIncludedSystemOfUnits() gives all the SystemOfUnits directly or transitively included.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfUnits"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allIncludedSystemOfUnits_SystemOfUnits.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>self->closure(includedSystemOfUnits->union(usedSystemOfUnits))->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean" xmi:type="uml:Operation">
+ <name>allMeasurementUnitsDefinedForSomeQuantityKind</name>
+ <isQuery>true</isQuery>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean._ownedComment.0" xmi:type="uml:Comment">
+ <body>The predicate allMeasurementUnitsDefinedForSomeQuantityKind() determines whether, in a SystemOfUnits, every Unit must be defined, by convention, as a multiplicable reference for at least one QuantityKind (see ISO 80000-1, 3.9).</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allMeasurementUnitsDefinedForSomeQuantityKind_Boolean.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allUnits()->forAll(quantityKind <> null)</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix" xmi:type="uml:Operation">
+ <name>allPrefixes</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allPrefixes() gives all the Prefixes in scope of a SystemOfUnits; that is, each Prefix is either directly defined in the SystemOfUnits or in any accessible SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body"/>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Prefix"/>
+ </ownedParameter>
+ <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allPrefixes_Prefix.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allAccessibleSystemOfUnits()->including(self)->collect(prefix)->flatten()->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit" xmi:type="uml:Operation">
+ <name>allUnits</name>
+ <isQuery>true</isQuery>
+ <ownedComment xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query allUnits() gives all the Units in scope of a SystemOfUnits; that is, each Unit is either directly defined in the SystemOfUnits, selectively used from another SystemOfUnits or part of the scope of all the Units included from another SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allIncludedSystemOfUnits()->collect(unit)->flatten()->asSet()->union(unit)->asSet()</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.allUnits_Unit"/>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit" xmi:type="uml:Operation">
+ <name>getAdoptedBaseUnitForMeasurementUnit</name>
+ <isQuery>true</isQuery>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query getAdoptedBaseUnitForMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the base Unit, if any, corresponding to u, which can be u itself if it is a baseUnit in that SystemOfUnits or its reference Unit if it is a base Unit and u is a PrefixUnit.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
+ <name>u</name>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedBaseUnitForMeasurementUnit_Unit_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>let abu : Set(Unit) = allBaseUnits() in if (abu->includes(u)) then u else if (u.oclIsKindOf(PrefixedUnit)) then abu->intersection(u.oclAsType(PrefixedUnit).referenceUnit->asSet())->any(true) else null endif endif</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit" xmi:type="uml:Operation">
+ <name>getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit</name>
+ <isQuery>true</isQuery>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the base QuantityKind, if any, corresponding to the base Unit of u.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body"/>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind"/>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
+ <name>u</name>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>let bu : Unit = getAdoptedBaseUnitForMeasurementUnit(u) in if (bu = null) then Set{} else let qks : Set(QuantityKind) = getKindOfQuantitiesForMeasurementUnit(bu) in allBaseQuantityKinds()->intersection(qks) endif</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
+ </bodyCondition>
+ <postcondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind" xmi:type="uml:Constraint">
+ <name>knownPrimaryQuantityKind</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_postcondition_knownPrimaryQuantityKind_specification" xmi:type="uml:OpaqueExpression">
+ <body>getEffectiveSystemOfQuantities().allBaseQuantityKinds()->includesAll(result)</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit"/>
+ </postcondition>
+ <precondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter" xmi:type="uml:Constraint">
+ <name>baseUnitParameter</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getAdoptedQuantityKindForAdoptedBaseUnitOfMeasurementUnit_QuantityKind_Unit.constraint_precondition_baseUnitParameter_specification" xmi:type="uml:OpaqueExpression">
+ <body>allBaseUnits()->includes(u)</body>
+ <language>OCL2.0</language>
+ </specification>
+ </precondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities" xmi:type="uml:Operation">
+ <name>getEffectiveSystemOfQuantities</name>
+ <isQuery>true</isQuery>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query getEffectiveSystemOfQuantities() determines for a SystemOfUnits the SystemOfQuantities, if any, that it is directly or indirectly associated with via included SystemOfUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body"/>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <type xmi:idref="QUDV.class_packagedElement_SystemOfQuantities"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>if systemOfQuantities = null then includedSystemOfUnits->collect(getEffectiveSystemOfQuantities())->flatten()->asSet()->any(true) else systemOfQuantities endif</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
+ </bodyCondition>
+ <precondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities" xmi:type="uml:Constraint">
+ <name>atMostOneSystemOfQuantities</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities.constraint_precondition_atMostOneSystemOfQuantities_specification" xmi:type="uml:OpaqueExpression">
+ <body>systemOfQuantities = null implies includedSystemOfUnits->collect(getEffectiveSystemOfQuantities())->asSet()->size() <= 1</body>
+ <language>OCL2.0</language>
+ </specification>
+ <constrainedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getEffectiveSystemOfQuantities_SystemOfQuantities"/>
+ </precondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit" xmi:type="uml:Operation">
+ <name>getKindOfQuantitiesForMeasurementUnit</name>
+ <isQuery>true</isQuery>
+ <ownedComment
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>The query getKindOfQuantitiesForMeasurementUnit() determines for a Unit u in scope of a SystemOfUnits the set of QuantityKinds corresponding to u, if specified, or to the Units that u is defined in terms of, if any.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit"/>
+ </ownedComment>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ </ownedParameter>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.parameter_ownedParameter_u" xmi:type="uml:Parameter">
+ <name>u</name>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getKindOfQuantitiesForMeasurementUnit_QuantityKind_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>
+ if (u.oclIsKindOf(SimpleUnit))
+ then
+ u.quantityKind->collect(oclAsType(QuantityKind))->asSet()
+ else if (u.oclIsKindOf(DerivedUnit))
+ then let du : DerivedUnit = u.oclAsType(DerivedUnit) in
+ if (du.quantityKind <> null) then
+ du.quantityKind->collect(oclAsType(QuantityKind))->asSet()
+ else
+ getKindOfQuantitiesForMeasurementUnit(du.factor->any(true).unit)
+ endif
+ else if (u.oclIsKindOf(ConversionBasedUnit))
+ then let cu : ConversionBasedUnit = u.oclAsType(ConversionBasedUnit) in
+ if (cu.oclIsKindOf(PrefixedUnit))
+ then
+ getKindOfQuantitiesForMeasurementUnit(cu.referenceUnit)
+ else
+ if (cu.quantityKind <> null) then
+ cu.quantityKind->collect(oclAsType(QuantityKind))->asSet()
+ else
+ getKindOfQuantitiesForMeasurementUnit(cu.referenceUnit)
+ endif
+ endif
+ else
+ Set(QuantityKind){}
+ endif
+ endif
+ endif
+ </body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit" xmi:type="uml:Operation">
+ <name>getUnit</name>
+ <ownedRule xmi:idref="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body"/>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_name" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_name" xmi:type="uml:Parameter">
+ <name>name</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger">
+ </lowerValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ <bodyCondition xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body" xmi:type="uml:Constraint">
+ <name>body</name>
+ <specification
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.getUnit_String_Unit.constraint_bodyCondition_body_specification" xmi:type="uml:OpaqueExpression">
+ <body>allUnits()->select(u | u.name = name)->any(true)</body>
+ <language>OCL2.0</language>
+ </specification>
+ </bodyCondition>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean" xmi:type="uml:Operation">
+ <name>isCoherent</name>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean" xmi:type="uml:Operation">
+ <name>isCoherent</name>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_du" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_du" xmi:type="uml:Parameter">
+ <name>du</name>
+ <type xmi:idref="QUDV.class_packagedElement_DerivedUnit"/>
+ </ownedParameter>
+ <ownedParameter
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits_ownedOperation.isCoherent_DerivedUnit_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit" xmi:type="uml:Class">
+ <name>Unit</name>
+ <isAbstract>true</isAbstract>
+ <ownedRule xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies" xmi:type="uml:Constraint">
+ <name>acyclic_unit_dependencies</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies._ownedComment.0" xmi:type="uml:Comment">
+ <body>A Unit cannot be defined in terms of itself. This follows from the requirement that, in a coherent SystemOfUnits, the Units of all derived QuantityKinds are expressed in terms of the base Units in accordance with the equations in the SystemOfQuantities (see ISO 80000-1, 6.4).</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies"/>
+ </ownedComment>
+ <specification xmi:id="QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies_specification" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.constraint_ownedRule_acyclic_unit_dependencies_specification" xmi:type="uml:OpaqueExpression">
+ <body>dependsOnUnits->excludes(self)</body>
+ <language>OCL2.0</language>
+ </specification>
+ </ownedRule>
+ <generalization
+ xmi:id="QUDV.class_packagedElement_Unit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" xmi:type="uml:Generalization">
+ <general xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits" xmi:type="uml:Property">
+ <name>dependsOnUnits</name>
+ <isReadOnly>true</isReadOnly>
+ <isDerived>true</isDerived>
+ <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits._ownedComment.0" xmi:type="uml:Comment">
+ <body>The set of all Units that this Unit directly or indirectly depends on according to its definition.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits"/>
+ </ownedComment>
+ <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.dependsOnUnits_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general" xmi:type="uml:Property">
+ <name>general</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.general_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.general_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_generalUnit_specificUnit"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities" xmi:type="uml:Property">
+ <name>isUnitCountOfEntities</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities._ownedComment.0" xmi:type="uml:Comment">
+ <body>If true, indicates that the measurement unit represents a number of entities (see ISO 80000-1, 3.10, Note 3).</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities"/>
+ </ownedComment>
+ <defaultValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitCountOfEntities_defaultValue" xmi:type="uml:LiteralBoolean"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne" xmi:type="uml:Property">
+ <name>isUnitForQuantityOfDimensionOne</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne._ownedComment.0" xmi:type="uml:Comment">
+ <body>If true, indicates that the corresponding QuantityKind has dimension one (see ISO 80000-1, 3.8).</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne"/>
+ </ownedComment>
+ <defaultValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne_defaultValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.isUnitForQuantityOfDimensionOne_defaultValue" xmi:type="uml:LiteralBoolean"/>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind" xmi:type="uml:Property">
+ <name>quantityKind</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue xmi:id="QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedAttribute.quantityKind_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_QuantityKind"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_quantityKind_measurementUnit"/>
+ <redefinedProperty xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit" xmi:type="uml:Operation">
+ <name>dependsOnUnits</name>
+ <ownedComment xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit._ownedComment.0" xmi:type="uml:Comment">
+ <body>Abstract operation specified in ConversionBasedUnit, SimpleUnit and DerivedUnit to calculate the value of the derived property Unit:/dependsOnUnits.</body>
+ <annotatedElement xmi:type="uml:Element" xmi:idref="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit"/>
+ </ownedComment>
+ <ownedParameter xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <lowerValue xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_lowerValue" xmi:type="uml:LiteralInteger"/>
+ <upperValue
+ xmi:id="QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit_ownedOperation.dependsOnUnits_Unit.parameter_ownedParameter_result_upperValue" xmi:type="uml:LiteralUnlimitedNatural">
+ <value>*</value>
+ </upperValue>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.class_packagedElement_UnitFactor" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor" xmi:type="uml:Class">
+ <name>UnitFactor</name>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_UnitFactor_ownedAttribute.exponent" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor_ownedAttribute.exponent" xmi:type="uml:Property">
+ <name>exponent</name>
+ <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor_ownedAttribute.unit" xmi:type="uml:Property">
+ <name>unit</name>
+ <type xmi:idref="QUDV.class_packagedElement_Unit"/>
+ <association xmi:idref="QUDV.association_packagedElement_A_unitFactor_unit"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:id="QUDV.dataType_packagedElement_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational" xmi:type="uml:DataType">
+ <name>Rational</name>
+ <generalization
+ xmi:id="QUDV.dataType_packagedElement_Rational._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" xmi:type="uml:Generalization">
+ <general xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ </generalization>
+ <ownedAttribute xmi:id="QUDV.dataType_packagedElement_Rational_ownedAttribute.denominator" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedAttribute.denominator" xmi:type="uml:Property">
+ <name>denominator</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:id="QUDV.dataType_packagedElement_Rational_ownedAttribute.numerator" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedAttribute.numerator" xmi:type="uml:Property">
+ <name>numerator</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean" xmi:type="uml:Operation">
+ <name>equivalent</name>
+ <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_r" xmi:type="uml:Parameter">
+ <name>r</name>
+ <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+ </ownedParameter>
+ <ownedParameter
+ xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.equivalent_Rational_Boolean.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational" xmi:type="uml:Operation">
+ <name>plus</name>
+ <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_r" xmi:type="uml:Parameter">
+ <name>r</name>
+ <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.plus_Rational_Rational.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational" xmi:type="uml:Operation">
+ <name>times</name>
+ <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_r" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_r" xmi:type="uml:Parameter">
+ <name>r</name>
+ <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+ </ownedParameter>
+ <ownedParameter xmi:id="QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_result" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational_ownedOperation.times_Rational_Rational.parameter_ownedParameter_result" xmi:type="uml:Parameter">
+ <name>result</name>
+ <type xmi:idref="QUDV.dataType_packagedElement_Rational"/>
+ </ownedParameter>
+ </ownedOperation>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbA2wE73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbJZoE73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbNrEE73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbNrEU73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbSjkE73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbTKoE73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbTKoU73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbTxsE73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbTxsU73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbTxsk73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbUYwE73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbUYwU73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//deprecatedelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbUYwk73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbU_0E73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbU_0U73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbVm4E73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//portsandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbVm4U73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbWN8E73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_WbW1AE73EemF1O5H-vsXHQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WbW1AU73EemF1O5H-vsXHQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_sZwgkDq8EeW1FZ2lBd8dLg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_sZxusDq8EeW1FZ2lBd8dLg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Package>
+ <StandardProfile:ModelLibrary xmi:id="QUDV.stereotypeApplication_ModelLibrary" xmi:uuid="org.omg.sysml.QUDV.stereotypeApplication_ModelLibrary" xmi:type="StandardProfile:ModelLibrary" base_Package="QUDV">
+ <base_Package xmi:idref="QUDV"/>
+ </StandardProfile:ModelLibrary>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_AffineConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_AffineConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" base_Class="QUDV.class_packagedElement_AffineConversionUnit"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_ConversionBasedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_ConversionBasedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" base_Class="QUDV.class_packagedElement_ConversionBasedUnit"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_DerivedQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_DerivedQuantityKind"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_DerivedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_DerivedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_DerivedUnit"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_Dimension.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Dimension.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_Dimension"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_GeneralConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_GeneralConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_GeneralConversionUnit"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_LinearConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_LinearConversionUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_LinearConversionUnit"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_Prefix.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Prefix.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_Prefix"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_PrefixedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_PrefixedUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_PrefixedUnit"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_QuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_QuantityKind"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_QuantityKindFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_QuantityKindFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_QuantityKindFactor"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_SimpleQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleQuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_SimpleQuantityKind"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_SimpleUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SimpleUnit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_SimpleUnit"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_SystemOfQuantities.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfQuantities.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_SystemOfQuantities"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_SystemOfUnits.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_SystemOfUnits.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_SystemOfUnits"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_Unit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_Unit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_Unit"/>
+ <Blocks:Block
+ xmi:id="QUDV.class_packagedElement_UnitFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:uuid="org.omg.sysml.QUDV.class_packagedElement_UnitFactor.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" xmi:type="Blocks:Block" base_Class="QUDV.class_packagedElement_UnitFactor"/>
+ <Blocks:ValueType
+ xmi:id="QUDV.dataType_packagedElement_Rational.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" xmi:uuid="org.omg.sysml.QUDV.dataType_packagedElement_Rational.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" xmi:type="Blocks:ValueType" base_DataType="QUDV.dataType_packagedElement_Rational"/>
+</xmi:XMI>
+
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.di b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.di
new file mode 100644
index 0000000..785b011
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.sysml.architecture.SysML16"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.notation b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.notation
new file mode 100644
index 0000000..b47c838
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.notation
@@ -0,0 +1,720 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:style_1="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_v7_YoDn1EeWWssZOJ2QVuQ" type="PapyrusUMLClassDiagram" name="Libraries Diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_wdotIDn1EeWWssZOJ2QVuQ" type="Package_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_wdqiUDn1EeWWssZOJ2QVuQ" type="Package_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wdrJYDn1EeWWssZOJ2QVuQ" type="Package_PackagedElementCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_wdrJYTn1EeWWssZOJ2QVuQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wdrJYjn1EeWWssZOJ2QVuQ"/>
+ </children>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wdotITn1EeWWssZOJ2QVuQ" x="100" y="80"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xFCEUDn1EeWWssZOJ2QVuQ" type="Package_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xFDScDn1EeWWssZOJ2QVuQ" type="Package_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xFDScTn1EeWWssZOJ2QVuQ" type="Package_PackagedElementCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xFDScjn1EeWWssZOJ2QVuQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xFDSczn1EeWWssZOJ2QVuQ"/>
+ </children>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xFCEUTn1EeWWssZOJ2QVuQ" x="100" y="240"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_xU5FQDn1EeWWssZOJ2QVuQ" type="Package_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_xU6TYDn1EeWWssZOJ2QVuQ" type="Package_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_xU6TYTn1EeWWssZOJ2QVuQ" type="Package_PackagedElementCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_xU6TYjn1EeWWssZOJ2QVuQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xU6TYzn1EeWWssZOJ2QVuQ"/>
+ </children>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_xU5FQTn1EeWWssZOJ2QVuQ" x="360" y="80"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FgtVEBIpEeeFNrLZFDmeGg" type="Package_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Fgt8IBIpEeeFNrLZFDmeGg" type="Package_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Fgt8IRIpEeeFNrLZFDmeGg" type="Package_PackagedElementCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Fgt8IhIpEeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Fgt8IxIpEeeFNrLZFDmeGg"/>
+ </children>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#_7DGgkDthEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FgtVERIpEeeFNrLZFDmeGg" x="360" y="240" width="201" height="101"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_v7_YoTn1EeWWssZOJ2QVuQ" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_v7_Yojn1EeWWssZOJ2QVuQ"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9r5C4MrNEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+ <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries"/>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_RzuDkDtgEeWLFIpRJHQiHw" type="PapyrusUMLClassDiagram" name="Primitive Value Types Diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_SVy14DtgEeWLFIpRJHQiHw" type="DataType_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SVzc8DtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SV0EADtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SV0EATtgEeWLFIpRJHQiHw" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SV0EAjtgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SV0EAztgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SV0EBDtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SV0EBTtgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SV0EBjtgEeWLFIpRJHQiHw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SV0EBztgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SV0ECDtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SV0ECTtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SV0ECjtgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SV0ECztgEeWLFIpRJHQiHw"/>
+ </children>
+ <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SVy14TtgEeWLFIpRJHQiHw" x="320" y="160" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Syc8sDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_SydjwDtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_SydjwTtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_SydjwjtgEeWLFIpRJHQiHw" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SydjwztgEeWLFIpRJHQiHw" type="DataType_AttributeCompartment">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UnbhUDtgEeWLFIpRJHQiHw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UncIYDtgEeWLFIpRJHQiHw" key="visible" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:Shape" xmi:id="_V398IDtgEeWLFIpRJHQiHw" type="Property_DataTypeAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.imaginaryPart"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_V398ITtgEeWLFIpRJHQiHw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WVMDoDtgEeWLFIpRJHQiHw" type="Property_DataTypeAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.realPart"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WVMDoTtgEeWLFIpRJHQiHw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SydjxDtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SydjxTtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SydjxjtgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SydjxztgEeWLFIpRJHQiHw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_SydjyDtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_SydjyTtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_SydjyjtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_SydjyztgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_SydjzDtgEeWLFIpRJHQiHw"/>
+ </children>
+ <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Syc8sTtgEeWLFIpRJHQiHw" x="580" y="360" width="201"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_W-1dkDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_W-2EoDtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_W-2EoTtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_W-2EojtgEeWLFIpRJHQiHw" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_W-2EoztgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_W-2EpDtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_W-2EpTtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_W-2EpjtgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W-2EpztgEeWLFIpRJHQiHw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_W-2EqDtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_W-2EqTtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_W-2EqjtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_W-2EqztgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W-2ErDtgEeWLFIpRJHQiHw"/>
+ </children>
+ <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W-1dkTtgEeWLFIpRJHQiHw" x="320" y="360" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_W_N4EDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_W_N4EjtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_W_N4EztgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_W_N4FDtgEeWLFIpRJHQiHw" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_W_N4FTtgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_W_N4FjtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_W_N4FztgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_W_N4GDtgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_N4GTtgEeWLFIpRJHQiHw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_W_OfIDtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_W_OfITtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_W_OfIjtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_W_OfIztgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_OfJDtgEeWLFIpRJHQiHw"/>
+ </children>
+ <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_W_N4ETtgEeWLFIpRJHQiHw" x="580" y="160" width="201"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_X_r2kDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_X_sdoDtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_X_sdoTtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_X_sdojtgEeWLFIpRJHQiHw" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_X_tEsDtgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_X_tEsTtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_X_tEsjtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_X_tEsztgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_tEtDtgEeWLFIpRJHQiHw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_X_tEtTtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_X_tEtjtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_X_tEtztgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_X_tEuDtgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_tEuTtgEeWLFIpRJHQiHw"/>
+ </children>
+ <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X_r2kTtgEeWLFIpRJHQiHw" x="880" y="360" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Yj1FcDtgEeWLFIpRJHQiHw" type="DataType_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Yj1sgDtgEeWLFIpRJHQiHw" type="DataType_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Yj1sgTtgEeWLFIpRJHQiHw" type="DataType_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Yj1sgjtgEeWLFIpRJHQiHw" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Yj1sgztgEeWLFIpRJHQiHw" visible="false" type="DataType_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Yj1shDtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Yj1shTtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Yj1shjtgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yj1shztgEeWLFIpRJHQiHw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Yj1siDtgEeWLFIpRJHQiHw" visible="false" type="DataType_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Yj1siTtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Yj1sijtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Yj1siztgEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yj1sjDtgEeWLFIpRJHQiHw"/>
+ </children>
+ <element xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yj1FcTtgEeWLFIpRJHQiHw" x="880" y="160" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Go3x8BCzEeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Go6OMBCzEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Go3x8RCzEeeFNrLZFDmeGg" x="1060" y="320" width="221" height="181"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Kp3iMBCzEeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Kp4wUBCzEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Kp3iMRCzEeeFNrLZFDmeGg" x="560" y="520" width="241" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_9i7EoBCzEeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_9i7rsBCzEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_9i7EoRCzEeeFNrLZFDmeGg" x="140" y="160" width="124" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_QNNZgBC0EeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QNOAkBC0EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integert._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QNNZgRC0EeeFNrLZFDmeGg" x="60" y="320" width="201" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_fr8_cBC0EeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_fr9mgBC0EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_fr8_cRC0EeeFNrLZFDmeGg" x="560" y="20" width="241" height="81"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_gjjV0BC0EeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_gjj84BC0EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_gjjV0RC0EeeFNrLZFDmeGg" x="1060" y="160" width="221" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qeW6MMrREee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qeW6McrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qeYIUMrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qeW6MsrREee5xeGZ3-9rfg" x="520" y="160"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qedA08rREee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qedA1MrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qedA1srREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qedA1crREee5xeGZ3-9rfg" x="780" y="360"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qeigY8rREee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qeigZMrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qeigZsrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qeigZcrREee5xeGZ3-9rfg" x="520" y="360"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qenY58rREee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qenY6MrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qenY6srREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qenY6crREee5xeGZ3-9rfg" x="780" y="160"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qesRYMrREee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qesRYcrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qesRY8rREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qesRYsrREee5xeGZ3-9rfg" x="1080" y="360"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_qexJ4MrREee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_qexJ4crREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qexJ48rREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qexJ4srREee5xeGZ3-9rfg" x="1080" y="160"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_RzuDkTtgEeWLFIpRJHQiHw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_RzuDkjtgEeWLFIpRJHQiHw"/>
+ <styles xmi:type="style_1:PapyrusViewStyle" xmi:id="_RzuDkztgEeWLFIpRJHQiHw">
+ <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+ </styles>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_awezcMrOEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+ <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+ <edges xmi:type="notation:Connector" xmi:id="_W_lrgDtgEeWLFIpRJHQiHw" type="Generalization_Edge" source="_W-1dkDtgEeWLFIpRJHQiHw" target="_W_N4EDtgEeWLFIpRJHQiHw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_xixh8BCyEeeFNrLZFDmeGg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_xiyJABCyEeeFNrLZFDmeGg" key="routing" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_W_lrgztgEeWLFIpRJHQiHw" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_c3jskBCxEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_W_lrhDtgEeWLFIpRJHQiHw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_W_lrgTtgEeWLFIpRJHQiHw"/>
+ <element xmi:type="uml:Generalization" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W_lrgjtgEeWLFIpRJHQiHw" points="[380, 360, -643984, -643984]$[380, 320, -643984, -643984]$[680, 320, -643984, -643984]$[680, 260, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XZO6kDtgEeWLFIpRJHQiHw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XZPhoDtgEeWLFIpRJHQiHw" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_YAIigDtgEeWLFIpRJHQiHw" type="Generalization_Edge" source="_X_r2kDtgEeWLFIpRJHQiHw" target="_W_N4EDtgEeWLFIpRJHQiHw" routing="Tree">
+ <children xmi:type="notation:DecorationNode" xmi:id="_YAIigztgEeWLFIpRJHQiHw" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_c4vYUBCxEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YAIihDtgEeWLFIpRJHQiHw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_YAIigTtgEeWLFIpRJHQiHw"/>
+ <element xmi:type="uml:Generalization" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YAIigjtgEeWLFIpRJHQiHw" points="[940, 360, -643984, -643984]$[940, 320, -643984, -643984]$[680, 320, -643984, -643984]$[680, 260, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Z8hWsDtgEeWLFIpRJHQiHw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_jgsboDtgEeWLFIpRJHQiHw" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_dV_z8DtgEeWLFIpRJHQiHw" type="Generalization_Edge" source="_Syc8sDtgEeWLFIpRJHQiHw" target="_W_N4EDtgEeWLFIpRJHQiHw">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_44d9IBCyEeeFNrLZFDmeGg" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_44ekMBCyEeeFNrLZFDmeGg" key="routing" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_dWAbADtgEeWLFIpRJHQiHw" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_c5F9oBCxEeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_dWAbATtgEeWLFIpRJHQiHw" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_dV_z8TtgEeWLFIpRJHQiHw"/>
+ <element xmi:type="uml:Generalization" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_dV_z8jtgEeWLFIpRJHQiHw" points="[680, 360, -643984, -643984]$[680, 320, -643984, -643984]$[680, 260, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqZ9sDtgEeWLFIpRJHQiHw" id="(0.4975124378109453,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dqakwDtgEeWLFIpRJHQiHw" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_QXGx0BCzEeeFNrLZFDmeGg" type="Generalization_Edge" source="_Syc8sDtgEeWLFIpRJHQiHw" target="_W_N4EDtgEeWLFIpRJHQiHw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QXHY4BCzEeeFNrLZFDmeGg" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BCydwBC0EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QXHY4RCzEeeFNrLZFDmeGg" y="40"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_QXGx0RCzEeeFNrLZFDmeGg"/>
+ <element xmi:type="uml:Generalization" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_QXGx0hCzEeeFNrLZFDmeGg" points="[680, 360, -643984, -643984]$[680, 260, -643984, -643984]"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_W9CkABCzEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_Go3x8BCzEeeFNrLZFDmeGg" target="_X_r2kDtgEeWLFIpRJHQiHw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_W9CkARCzEeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W9CkAhCzEeeFNrLZFDmeGg" points="[1120, 400, -643984, -643984]$[1001, 400, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W9kvgBCzEeeFNrLZFDmeGg" id="(0.0,0.4419889502762431)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W9kvgRCzEeeFNrLZFDmeGg" id="(1.0,0.4)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_YAvcsBCzEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_Kp3iMBCzEeeFNrLZFDmeGg" target="_Syc8sDtgEeWLFIpRJHQiHw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_YAvcsRCzEeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_YAvcshCzEeeFNrLZFDmeGg" points="[680, 560, -643984, -643984]$[680, 465, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YBFa8BCzEeeFNrLZFDmeGg" id="(0.4979253112033195,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_YBFa8RCzEeeFNrLZFDmeGg" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_DBVOEBC0EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_9i7EoBCzEeeFNrLZFDmeGg" target="_SVy14DtgEeWLFIpRJHQiHw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_DBVOERC0EeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DBVOEhC0EeeFNrLZFDmeGg" points="[244, 200, -643984, -643984]$[340, 200, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DB9gMBC0EeeFNrLZFDmeGg" id="(1.0,0.39603960396039606)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DB9gMRC0EeeFNrLZFDmeGg" id="(0.0,0.4)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_W4F9IBC0EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_QNNZgBC0EeeFNrLZFDmeGg" target="_W-1dkDtgEeWLFIpRJHQiHw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_W4F9IRC0EeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_W4F9IhC0EeeFNrLZFDmeGg" points="[380, 560, -643984, -643984]$[380, 460, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W4p90BC0EeeFNrLZFDmeGg" id="(1.0,0.49382716049382713)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_W4p90RC0EeeFNrLZFDmeGg" id="(0.0,0.4)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ktRkQBC0EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_fr8_cBC0EeeFNrLZFDmeGg" target="_W_N4EDtgEeWLFIpRJHQiHw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ktRkQRC0EeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ktRkQhC0EeeFNrLZFDmeGg" points="[680, 101, -643984, -643984]$[680, 160, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kt9gwBC0EeeFNrLZFDmeGg" id="(0.4979253112033195,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kt9gwRC0EeeFNrLZFDmeGg" id="(0.4975124378109453,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_lnyrwBC0EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_gjjV0BC0EeeFNrLZFDmeGg" target="_Yj1FcDtgEeWLFIpRJHQiHw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_lnyrwRC0EeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lnyrwhC0EeeFNrLZFDmeGg" points="[1120, 200, -643984, -643984]$[1001, 200, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lokH0BC0EeeFNrLZFDmeGg" id="(0.0,0.39603960396039606)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_lokH0RC0EeeFNrLZFDmeGg" id="(1.0,0.4)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_qeYIUcrREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_SVy14DtgEeWLFIpRJHQiHw" target="_qeW6MMrREee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_qeYIUsrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qeYIVsrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qeYIU8rREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qeYIVMrREee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qeYIVcrREee5xeGZ3-9rfg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_qedA18rREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_Syc8sDtgEeWLFIpRJHQiHw" target="_qedA08rREee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_qedA2MrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qedA3MrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qedA2crREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qedA2srREee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qedA28rREee5xeGZ3-9rfg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_qeigZ8rREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_W-1dkDtgEeWLFIpRJHQiHw" target="_qeigY8rREee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_qeigaMrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qeigbMrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qeigacrREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qeigasrREee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qeiga8rREee5xeGZ3-9rfg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_qen_8MrREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_W_N4EDtgEeWLFIpRJHQiHw" target="_qenY58rREee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_qen_8crREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qen_9crREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qen_8srREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qen_88rREee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qen_9MrREee5xeGZ3-9rfg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_qesRZMrREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_X_r2kDtgEeWLFIpRJHQiHw" target="_qesRYMrREee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_qesRZcrREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qesRacrREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qesRZsrREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qesRZ8rREee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qesRaMrREee5xeGZ3-9rfg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_qexJ5MrREee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_Yj1FcDtgEeWLFIpRJHQiHw" target="_qexJ4MrREee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_qexJ5crREee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_qexJ6crREee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:DataType" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_qexJ5srREee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qexJ58rREee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qexJ6MrREee5xeGZ3-9rfg"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_qPokIBC1EeeFNrLZFDmeGg" type="PapyrusUMLClassDiagram" name="Unit And QuantityKind Diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_wmc8QBC1EeeFNrLZFDmeGg" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_wmdjUBC1EeeFNrLZFDmeGg" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_wmdjURC1EeeFNrLZFDmeGg" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_wmeKYBC1EeeFNrLZFDmeGg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wmexcBC1EeeFNrLZFDmeGg" type="Class_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ydgkgBC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.definitionURI"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ydgkgRC1EeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ytm2ABC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.description"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ytm2ARC1EeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_y8auEBC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.symbol"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_y8auERC1EeeFNrLZFDmeGg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_wmexcRC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wmexchC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wmexcxC1EeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmexdBC1EeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wmexdRC1EeeFNrLZFDmeGg" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_wmexdhC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wmexdxC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wmexeBC1EeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmexeRC1EeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_wmexehC1EeeFNrLZFDmeGg" visible="false" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_wmexexC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_wmexfBC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_wmexfRC1EeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmexfhC1EeeFNrLZFDmeGg"/>
+ </children>
+ <element xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_wmc8QRC1EeeFNrLZFDmeGg" x="280" y="300" width="221" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0pFrQBC1EeeFNrLZFDmeGg" type="Class_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0pGSUBC1EeeFNrLZFDmeGg" type="Class_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_0pGSURC1EeeFNrLZFDmeGg" type="Class_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0pGSUhC1EeeFNrLZFDmeGg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0pGSUxC1EeeFNrLZFDmeGg" type="Class_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_2HQ5cBC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.definitionURI"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2HQ5cRC1EeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_2XhjABC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.description"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2XhjARC1EeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_3WAkgBC1EeeFNrLZFDmeGg" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.symbol"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3WAkgRC1EeeFNrLZFDmeGg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0pGSVBC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0pGSVRC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0pGSVhC1EeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0pGSVxC1EeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0pG5YBC1EeeFNrLZFDmeGg" visible="false" type="Class_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0pG5YRC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0pG5YhC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0pG5YxC1EeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0pG5ZBC1EeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0pG5ZRC1EeeFNrLZFDmeGg" visible="false" type="Class_NestedClassifierCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0pG5ZhC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0pG5ZxC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0pG5aBC1EeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0pG5aRC1EeeFNrLZFDmeGg"/>
+ </children>
+ <element xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0pFrQRC1EeeFNrLZFDmeGg" x="280" y="40" width="221" height="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="__cyeYBC1EeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="__czFcBC1EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__cyeYRC1EeeFNrLZFDmeGg" x="40" y="320" width="181" height="81"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CUfrUBC2EeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_CUgSYBC2EeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CUfrURC2EeeFNrLZFDmeGg" x="560" y="60" width="241" height="81"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LwbpwMrQEee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_LwbpwcrQEee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Lwbpw8rQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LwbpwsrQEee5xeGZ3-9rfg" x="480" y="300"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LwkMo8rQEee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_LwkMpMrQEee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwkzsMrQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LwkMpcrQEee5xeGZ3-9rfg" x="480" y="40"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_qPokIRC1EeeFNrLZFDmeGg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_qPokIhC1EeeFNrLZFDmeGg"/>
+ <styles xmi:type="style_1:PapyrusViewStyle" xmi:id="_qPokIxC1EeeFNrLZFDmeGg">
+ <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+ </styles>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_aR5aAMrOEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+ <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+ <edges xmi:type="notation:Connector" xmi:id="_3reeMBC1EeeFNrLZFDmeGg" type="Association_Edge" source="_wmc8QBC1EeeFNrLZFDmeGg" target="_0pFrQBC1EeeFNrLZFDmeGg">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3rfFQBC1EeeFNrLZFDmeGg" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_--0wABC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfFQRC1EeeFNrLZFDmeGg" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3rfFQhC1EeeFNrLZFDmeGg" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_BkUBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfFQxC1EeeFNrLZFDmeGg" x="3" y="-120"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3rfsUBC1EeeFNrLZFDmeGg" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_I5EBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfsURC1EeeFNrLZFDmeGg" x="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3rfsUhC1EeeFNrLZFDmeGg" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_XikBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfsUxC1EeeFNrLZFDmeGg" x="-6"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3rfsVBC1EeeFNrLZFDmeGg" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_dCIBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfsVRC1EeeFNrLZFDmeGg" x="13" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3rfsVhC1EeeFNrLZFDmeGg" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_-_ihsBC1EeeFNrLZFDmeGg" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3rfsVxC1EeeFNrLZFDmeGg" x="-6" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_3reeMRC1EeeFNrLZFDmeGg"/>
+ <element xmi:type="uml:Association" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3reeMhC1EeeFNrLZFDmeGg" points="[481, 110, -643984, -643984]$[660, 110, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_51v9YBC1EeeFNrLZFDmeGg" id="(0.45248868778280543,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5cfv4BC1EeeFNrLZFDmeGg" id="(0.45248868778280543,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Fo9swBC2EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="__cyeYBC1EeeFNrLZFDmeGg" target="_wmc8QBC1EeeFNrLZFDmeGg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Fo9swRC2EeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Fo9swhC2EeeFNrLZFDmeGg" points="[221, 380, -643984, -643984]$[280, 380, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FpR10BC2EeeFNrLZFDmeGg" id="(1.0,0.49382716049382713)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_FpR10RC2EeeFNrLZFDmeGg" id="(0.0,0.37267080745341613)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GDtvEBC2EeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_CUfrUBC2EeeFNrLZFDmeGg" target="_0pFrQBC1EeeFNrLZFDmeGg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GDtvERC2EeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GDtvEhC2EeeFNrLZFDmeGg" points="[500, 120, -643984, -643984]$[441, 120, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GEJz8BC2EeeFNrLZFDmeGg" id="(0.0,0.45977011494252873)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GEKbABC2EeeFNrLZFDmeGg" id="(1.0,0.37267080745341613)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LwcQ0MrQEee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_wmc8QBC1EeeFNrLZFDmeGg" target="_LwbpwMrQEee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_LwcQ0crQEee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Lwc34MrQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_LwcQ0srQEee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwcQ08rQEee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwcQ1MrQEee5xeGZ3-9rfg"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_LwkzscrQEee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_0pFrQBC1EeeFNrLZFDmeGg" target="_LwkMo8rQEee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_LwkzssrQEee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_LwkztsrQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Lwkzs8rQEee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwkztMrQEee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LwkztcrQEee5xeGZ3-9rfg"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_9rYNABInEeeFNrLZFDmeGg" type="PapyrusUMLClassDiagram" name="ControlValues Diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_DPlccBIoEeeFNrLZFDmeGg" type="Enumeration_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_DPmDgBIoEeeFNrLZFDmeGg" type="Enumeration_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_DPmDgRIoEeeFNrLZFDmeGg" type="Enumeration_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_DPmDghIoEeeFNrLZFDmeGg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_DPmqkBIoEeeFNrLZFDmeGg" type="Enumeration_LiteralCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ESK60BIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ESK60RIoEeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_EkJboBIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_EkJboRIoEeeFNrLZFDmeGg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_DPmqkRIoEeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_DPmqkhIoEeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_DPmqkxIoEeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DPmqlBIoEeeFNrLZFDmeGg"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_DPlccRIoEeeFNrLZFDmeGg" x="279" y="47" width="220" height="97"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_FErV0BIoEeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_FEr84BIoEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_FErV0RIoEeeFNrLZFDmeGg" x="384" y="236" width="201" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GuLqQBIoEeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GuMRUBIoEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable._ownedComment.0"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GuLqQRIoEeeFNrLZFDmeGg" x="93" y="235" width="205" height="133"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_X6UzwMrQEee5xeGZ3-9rfg" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_X6UzwcrQEee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6Uzw8rQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Enumeration" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_X6UzwsrQEee5xeGZ3-9rfg" x="479" y="47"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_9rYNARInEeeFNrLZFDmeGg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_9rYNAhInEeeFNrLZFDmeGg"/>
+ <styles xmi:type="style_1:PapyrusViewStyle" xmi:id="_9rYNAxInEeeFNrLZFDmeGg">
+ <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+ </styles>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_SbJgMMrOEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+ <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+ <edges xmi:type="notation:Connector" xmi:id="_KHJKIBIoEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_FErV0BIoEeeFNrLZFDmeGg" target="_DPlccBIoEeeFNrLZFDmeGg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_KHJKIRIoEeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KHJKIhIoEeeFNrLZFDmeGg" points="[400, 100, -643984, -643984]$[301, 100, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KHVXYBIoEeeFNrLZFDmeGg" id="(0.13930348258706468,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KHVXYRIoEeeFNrLZFDmeGg" id="(0.8181818181818182,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_L_1xIBIoEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_GuLqQBIoEeeFNrLZFDmeGg" target="_DPlccBIoEeeFNrLZFDmeGg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_L_1xIRIoEeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L_1xIhIoEeeFNrLZFDmeGg" points="[400, 200, -643984, -643984]$[301, 200, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MAHd8BIoEeeFNrLZFDmeGg" id="(0.2731707317073171,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MAIFABIoEeeFNrLZFDmeGg" id="(0.16363636363636364,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_X6UzxMrQEee5xeGZ3-9rfg" type="StereotypeCommentLink" source="_DPlccBIoEeeFNrLZFDmeGg" target="_X6UzwMrQEee5xeGZ3-9rfg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_X6UzxcrQEee5xeGZ3-9rfg"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_X6UzycrQEee5xeGZ3-9rfg" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Enumeration" href="SysML-Standard-Library.uml#SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_X6UzxsrQEee5xeGZ3-9rfg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6Uzx8rQEee5xeGZ3-9rfg"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_X6UzyMrQEee5xeGZ3-9rfg"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_3Ej0kBIoEeeFNrLZFDmeGg" type="PapyrusUMLClassDiagram" name="Requirements VerdictKind Diagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_3fAU4BIoEeeFNrLZFDmeGg" type="Enumeration_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_3fA78BIoEeeFNrLZFDmeGg" type="Enumeration_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_3fA78RIoEeeFNrLZFDmeGg" type="Enumeration_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_3fA78hIoEeeFNrLZFDmeGg" y="5"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_3fBjABIoEeeFNrLZFDmeGg" type="Enumeration_LiteralCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_51BKABIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#_8IATJTthEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_51BKARIoEeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6HlgsBIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#_8IATIzthEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6HlgsRIoEeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6ZBO8BIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#_8IATJDthEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6ZBO8RIoEeeFNrLZFDmeGg"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_6qINEBIoEeeFNrLZFDmeGg" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML-Standard-Library.uml#_8IATIjthEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6qINERIoEeeFNrLZFDmeGg"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_3fBjARIoEeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_3fBjAhIoEeeFNrLZFDmeGg"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_3fBjAxIoEeeFNrLZFDmeGg"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fBjBBIoEeeFNrLZFDmeGg"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="SysML-Standard-Library.uml#_8IATIDthEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3fAU4RIoEeeFNrLZFDmeGg" x="80" y="40" width="142" height="139"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7PFUQBIoEeeFNrLZFDmeGg" type="Comment_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7PGiYBIoEeeFNrLZFDmeGg" type="Comment_BodyLabel"/>
+ <element xmi:type="uml:Comment" href="SysML-Standard-Library.uml#_8IATITthEeWLFIpRJHQiHw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7PFUQRIoEeeFNrLZFDmeGg" x="320" y="60" width="181" height="101"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_3Ej0kRIoEeeFNrLZFDmeGg" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_3Ej0khIoEeeFNrLZFDmeGg"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9rrngMrNEee5xeGZ3-9rfg" diagramKindId="org.eclipse.papyrus.sysml16.diagram.blockdefinition">
+ <owner xmi:type="uml:Package" href="SysML-Standard-Library.uml#_7DGgkDthEeWLFIpRJHQiHw"/>
+ </styles>
+ <element xmi:type="uml:Package" href="SysML-Standard-Library.uml#_7DGgkDthEeWLFIpRJHQiHw"/>
+ <edges xmi:type="notation:Connector" xmi:id="_-9EB4BIoEeeFNrLZFDmeGg" type="Comment_AnnotatedElementEdge" source="_7PFUQBIoEeeFNrLZFDmeGg" target="_3fAU4BIoEeeFNrLZFDmeGg">
+ <styles xmi:type="notation:FontStyle" xmi:id="_-9EB4RIoEeeFNrLZFDmeGg"/>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-9EB4hIoEeeFNrLZFDmeGg" points="[320, 100, -643984, -643984]$[221, 100, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-9RdQBIoEeeFNrLZFDmeGg" id="(0.0,0.39603960396039606)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_-9RdQRIoEeeFNrLZFDmeGg" id="(1.0,0.5251798561151079)"/>
+ </edges>
+ </notation:Diagram>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.uml
new file mode 100644
index 0000000..0349e69
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/library/SysML-Standard-Library.uml
@@ -0,0 +1,194 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Blocks="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:standard="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks">
+ <uml:Package xmi:id="SysML.package_packagedElement_Libraries" name="Libraries">
+ <packagedElement xmi:type="uml:Package" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues" name="ControlValues">
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue" name="ControlValueKind">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable" name="disable">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_disable SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue">
+ <body>The disable literal means a termination of an executing behavior that can only be started again from the beginning (compare to suspend).</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable" name="enable">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.enumerationLiteral_ownedLiteral_enable SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues">
+ <body>The enable literal means to start a new execution of a behavior (compare to resume).</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes" name="PrimitiveBlocks:ValueTypes">
+ <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean" name="Boolean">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean">
+ <body>A Boolean value type consists of the predefined values true and false.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex" name="Complex">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex">
+ <body>A Complex value type represents the mathematical concept of a complex number. A complex number consists of a real part defined by a real number, and an imaginary part defined by a real number multiplied by the square root of -1. Complex numbers are used to express solutions to various forms of mathematical equations.</body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" general="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.imaginaryPart" name="imaginaryPart" type="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.imaginaryPart._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.imaginaryPart">
+ <body>A real number used to express the imaginary part of a complex number.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.realPart" name="realPart" type="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.realPart._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex_ownedAttribute.realPart">
+ <body>A real number used to express the real part of a complex number.</body>
+ </ownedComment>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer" name="Integer">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integert._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer">
+ <body>An Integer value type represents the mathematical concept of an integer number. An Integer value type may be used to type values that hold negative or positive integer quantities, without committing to a specific representation such as a binary or decimal digits with fixed precision or scale.</body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" general="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" name="Number" isAbstract="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number">
+ <body>Number is an abstract value type from which other value types that express concepts of mathematical numbers are specialized.</body>
+ </ownedComment>
+ </packagedElement>
+ <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real" name="Real">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real">
+ <body>A Real value type represents the mathematical concept of a real number. A Real value type may be used to type values that hold continuous quantities, without committing a specific representation such as a floating point data type with restrictions on precision and scale.</body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real._generalization.SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number" general="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:DataType" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String" name="String">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String">
+ <body>A String value type consists of a sequence of characters in some suitable character set. Character sets may include non-Roman alphabets and characters.</body>
+ </ownedComment>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind" name="UnitAndQuantityKind">
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit" name="A_quantityKind_unit" memberEnd="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit" name="unit" type="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" association="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit_ownedEnd.unit_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" name="QuantityKind">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind">
+ <body>A QuantityKind is a kind of quantity that may be stated by means of defined units.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.definitionURI" name="definitionURI">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.definitionURI_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.description" name="description">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.description_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.symbol" name="symbol">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind_ownedAttribute.symbol_lowerValue"/>
+ </ownedAttribute>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Class" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit" name="Unit">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit._ownedComment.0" annotatedElement="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit">
+ <body>A Unit is a quantity in terms of which the magnitudes of other quantities that have the same quantity kind can be stated. A unit often relies on precise and reproducible ways to measure the unit.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.definitionURI" name="definitionURI">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.definitionURI_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.description" name="description">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.description_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind" name="quantityKind" type="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind" association="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.association_packagedElement_A_quantityKind_unit">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.quantityKind_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.symbol" name="symbol">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit_ownedAttribute.symbol_lowerValue"/>
+ </ownedAttribute>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Package" xmi:id="_7DGgkDthEeWLFIpRJHQiHw" name="Requirements">
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="_8IATIDthEeWLFIpRJHQiHw" name="VerdictKind">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_8IATITthEeWLFIpRJHQiHw" annotatedElement="_8IATIDthEeWLFIpRJHQiHw">
+ <body>Type of a return parameter of a TestCase must be VerdictKind, consistent with the UML Testing Profile.</body>
+ </ownedComment>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_8IATIjthEeWLFIpRJHQiHw" name="error"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_8IATIzthEeWLFIpRJHQiHw" name="fail"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_8IATJDthEeWLFIpRJHQiHw" name="inconclusive"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="_8IATJTthEeWLFIpRJHQiHw" name="pass"/>
+ </packagedElement>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_FzrM4MrPEee5xeGZ3-9rfg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FzuQMMrPEee5xeGZ3-9rfg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/uml2/5.0.0/UML/Profile/Standard#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekh0IE--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekkQYE--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#/"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_eklegE--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekmFkE--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//activities"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekmsoE--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekmsoU--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//allocations"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekmsok--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekmso0--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//blocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_eknTsE--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_eknTsU--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//constraintblocks"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekn6wE--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekn6wU--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//deprecatedelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekn6wk--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekn6w0--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//modelelements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekoh0E--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekoh0U--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//portsandflows"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ekpI4E--EemOD7qwxw9iGA">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ekpI4U--EemOD7qwxw9iGA" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+ </profileApplication>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_B_vLwcrQEee5xeGZ3-9rfg">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_B_vy0MrQEee5xeGZ3-9rfg" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/sysml/1.6/SysML#//requirements"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://SysML16_PROFILES/SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+ </profileApplication>
+ </uml:Package>
+ <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Boolean"/>
+ <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Complex"/>
+ <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Integer"/>
+ <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Number"/>
+ <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_Real"/>
+ <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.dataType_packagedElement_String"/>
+ <standard:ModelLibrary xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.stereotypeApplication_ModelLibrary" base_Package="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind"/>
+ <Blocks:Block xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" base_Class="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_QuantityKind"/>
+ <Blocks:Block xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" base_Class="SysML.package_packagedElement_Libraries.package_packagedElement_UnitAndQuantityKind.class_packagedElement_Unit"/>
+ <standard:ModelLibrary xmi:id="SysML.package_packagedElement_Libraries.stereotypeApplication_ModelLibrary" base_Package="SysML.package_packagedElement_Libraries"/>
+ <standard:ModelLibrary xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.stereotypeApplication_ModelLibrary" base_Package="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues"/>
+ <Blocks:ValueType xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue.stereotypeApplication_SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" base_DataType="SysML.package_packagedElement_Libraries.package_packagedElement_ControlValues.enumeration_packagedElement_ControlValue"/>
+ <standard:ModelLibrary xmi:id="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes.stereotypeApplication_ModelLibrary" base_Package="SysML.package_packagedElement_Libraries.package_packagedElement_PrimitiveValueTypes"/>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.css b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.css
new file mode 100644
index 0000000..1cc2e24
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.css
@@ -0,0 +1,31 @@
+Association > Label:sourceMultiplicity {
+ visible:true;
+}
+
+Association > Label:targetMultiplicity {
+ visible:false;
+}
+
+Association > Label:sourceRole {
+ visible:true;
+}
+
+Association > Label:targetRole {
+ visible:false;
+}
+
+Association > Label:name {
+ visible:false;
+}
+
+Extension {
+ routing:Rectilinear;
+}
+
+Generalization {
+ routing:Rectilinear;
+}
+
+Association {
+ routing:Rectilinear;
+}
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.di b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.di
new file mode 100644
index 0000000..247ed5e
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.di
@@ -0,0 +1,2 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDescription xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" contextId="org.eclipse.papyrus.uml.architecture.Profile"/>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.ecore b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.ecore
new file mode 100644
index 0000000..b320b45
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.ecore
@@ -0,0 +1,731 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="sysml" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML"
+ nsPrefix="SysML">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="SysML"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EEnum" name="Dummy"/>
+ <eSubpackages name="activities" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"
+ nsPrefix="Activities">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Activities"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="Continuous" eSuperTypes="#//activities/Rate">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 Continuous rate is a special case of rate of flow (see Rate) where the increment of time between items approaches zero. It is intended to represent continuous flows that may correspond to water flowing through a pipe, a time continuous signal, or continuous energy flow. It is independent from UML streaming. A streaming parameter may or may not apply to continuous flow, and a continuous flow may or may not apply to streaming parameters.
 "/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Rate">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 When the «rate» stereotype is applied to an activity edge, it specifies the expected value of the number of objects and values that traverse the edge per time interval, that is, the expected value rate at which they leave the source node and arrive at the target node. It does not refer to the rate at which a value changes over time. When the stereotype is applied to a parameter, the parameter must be streaming, and the stereotype gives the number of objects or values that flow in or out of the parameter per time interval while the behavior or operation is executing. Streaming is a characteristic of UML behavior parameters that supports the input and output of items while a behavior is executing, rather than only when the behavior starts and stops. The flow may be continuous or discrete. The «rate» stereotype has a rate property of type InstanceSpecification. The values of this property must be instances of classifiers stereotyped by «valueType» or «distributionDefinition». In particular, the denominator for units used in the rate property must be time units.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityEdge" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityEdge"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectNode" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ObjectNode"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rate" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ControlOperator">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A control operator is a behavior that is intended to represent an arbitrarily complex logical operator that can be used to enable and disable other actions. When this stereotype is applied to behaviors, the behavior takes control values as inputs or provides them as outputs, that is, it treats control as data. When this stereotype is not applied, the behavior may not have a parameter typed by ControlValue. This stereotype also applies to operations with the same semantics.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Discrete" eSuperTypes="#//activities/Rate">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Discrete rate is a special case of rate of flow (see Rate) where the increment of time between items is non-zero."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NoBuffer">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 When this stereotype is applied to object nodes, tokens arriving at the node are discarded if they are refused by outgoing edges, or refused by actions for object nodes that are input pins. This is typically used with fast or continuously flowing data values, to prevent buffer overrun, or to model transient values, such as electrical signals. For object nodes that are the target of continuous flows, «nobuffer» and «overwrite» have the same effect. The stereotype does not override UML token offering semantics; it just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics are as in UML, specifically, tokens arriving at an object node that are refused by outgoing edges, or action for input pins, are held until they can leave the object node.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectNode" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ObjectNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Optional">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 When the «optional» stereotype is applied to parameters, the lower multiplicity must be equal to zero. This means the parameter is not required to have a value for the activity or any behavior to begin or end execution. Otherwise, the lower multiplicity must be greater than zero, which is called “required.”
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Parameter" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Parameter"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Overwrite">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 When the «overwrite» stereotype is applied to object nodes, a token arriving at a full object node replaces the ones already there (a full object node has as many tokens as allowed by its upper bound). This is typically used on an input pin with an upper bound of 1 to ensure that stale data is overridden at an input pin. For upper bounds greater than one, the token replaced is the one that would be the last to be selected according to the ordering kind for the node. For FIFO ordering, this is the most recently added token, for LIFO it is the least recently added token. A null token removes all the tokens already there. The number of tokens replaced is equal to the weight of the incoming edge, which defaults to 1. For object nodes that are the target of continuous flows, «overwrite» and «nobuffer» have the same effect. The stereotype does not override UML token offering semantics, just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics is as in UML, specifically, tokens arriving at object nodes do not replace ones that are already there.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ObjectNode" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ObjectNode"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Probability">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 When the «probability» stereotype is applied to edges coming out of decision nodes and object nodes, it provides an expression for the probability that the edge will be traversed. These must be between zero and one inclusive, and add up to one for edges with same source at the time the probabilities are used.
When the «probability» stereotype is applied to output parameter sets, it gives the probability the parameter set will be given values at runtime. These must be between zero and one inclusive, and add up to one for output parameter sets of the same behavior at the time the probabilities are used.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityEdge" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityEdge"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ParameterSet" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ParameterSet"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="probability" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ValueSpecification"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="allocations" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"
+ nsPrefix="Allocations">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Allocations"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="Allocate" eSuperTypes="#//blocks/DirectedRelationshipPropertyPath">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 Allocate is a dependency based on UML::abstraction. It is a mechanism for associating elements of different types, or in different hierarchies, at an abstract level. Allocate is used for assessing user model consistency and directing future design activity. It is expected that an «allocate» relationship between model elements is a precursor to a more concrete relationship between the elements, their properties, operations, attributes, or sub-classes.
 "/>
+ </eAnnotations>
+ <eOperations name="getAllocatedFrom" ordered="false" lowerBound="1">
+ <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eParameters name="result" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eOperations>
+ <eOperations name="getAllocatedTo" ordered="false" lowerBound="1">
+ <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eParameters name="result" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Abstraction" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Abstraction"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AllocateActivityPartition">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="AllocateActivityPartition is used to depict an «allocate» relationship on an Activity diagram. The AllocateActivityPartition is a standard UML2::ActivityPartition, with modified constraints as stated in the paragraph below."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ActivityPartition"
+ ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ActivityPartition"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="blocks" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"
+ nsPrefix="Blocks">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Blocks"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="AdjunctProperty">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 The AdjunctProperty stereotype can be applied to properties to constrain their values to the values of connectors typed by association blocks, call actions, object nodes, variables, or parameters, interaction uses, and submachine states. The values of connectors typed by association blocks are the instances of the association block typing a connector in the block having the stereotyped property. The values of call actions are the executions of behaviors invoked by the behavior having the call action and the stereotyped property (see Subclause 11.3.1.1.1 for more about this use of the stereotype). The values of object nodes are the values of tokens in the object nodes of the behavior having the stereotyped property (see Subclause 11.3.1.4.1 for more about this use of the stereotype). The values of variables are those assigned by executions of activities that have the stereotyped property. The values of parameters are those assigned by executions of behaviors that have the stereotyped property. The keyword «adjunct» before a property name indicates the property is stereotyped by AdjunctProperty.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="principal" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Gives the element that determines the values of the property. Must be a connector, call action, object node, variable, or parameter."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BindingConnector">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values. If the properties at the ends of a binding connector are typed by a DataType or ValueType, the connector specifies that the instances of the properties must hold equal values, recursively through any nested properties within the connected properties. If the properties at the ends of a binding connector are typed by a Block, the connector specifies that the instances of the properties must refer to the same block instance. As with any connector owned by a SysML Block, the ends of a binding connector may be nested within a multi-level path of properties accessible from the owning block. The NestedConnectorEnd stereotype is used to represent such nested ends just as for nested ends of other SysML connectors.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Connector" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Block">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A Block is a modular unit that describes the structure of a system or element. It may include both structural and behavioral features, such as properties and operations, that represent the state of the system and behavior that the system may exhibit. Some of these properties may hold parts of a system, which can also be described by blocks. A block may include a structure of connectors between its properties to indicate how its parts or other properties relate to one another. SysML blocks provide a general-purpose capability to describe the architecture of a system. They provide the ability to represent a system hierarchy, in which a system at one level is composed of systems at a more basic level. They can describe not only the connectivity relationships between the systems at any level, but also quantitative values or other information about a system. SysML does not restrict the kind of system or system element that may be described by a block. Any reusable form of description that may be applied to a system or a set of system characteristics may be described by a block. Such reusable descriptions, for example, may be applied to purely conceptual aspects of a system design, such as relationships that hold between parts or properties of a system. Connectors owned by SysML blocks may be used to define relationships between parts or other properties of the same containing block. The type of a connector or its connected ends may specify the semantic interpretation of a specific connector.
 "/>
+ </eAnnotations>
+ <eOperations name="getReferences" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eOperations name="getParts" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eOperations name="getFlowProperties" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isEncapsulated" ordered="false"
+ eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends.
 "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="BoundReference" eSuperTypes="#//blocks/EndPathMultiplicity">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="bindingPath" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Gives the propertyPath of the NestedConnectorEnd applied, if any, to the boundEnd, appended to the role of the boundEnd. "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="boundEnd" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ConnectorEnd">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Gives a connector end of a binding connector opposite to the end linked to the stereotyped property, or linked to a property that generalizes the stereotyped one through redefinition."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="EndPathMultiplicity">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="lower" ordered="false"
+ eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Integer"
+ defaultValueLiteral="0">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Gives the minimum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied"/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="upper" ordered="false"
+ eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//UnlimitedNatural"
+ defaultValueLiteral="-1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Gives the maximum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ClassifierBehaviorProperty">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 The ClassifierBehaviorProperty stereotype can be applied to properties to constrain their values to be the executions of classifier behaviors. The value of properties with ClassifierBehaviorProperty applied are the executions of classifier behaviors invoked by instantiation of the block that owns the stereotyped property or one of its specializations.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConnectorProperty">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 Connectors can be typed by association classes that are stereotyped by Block (association blocks). These connectors specify instances (links) of the association block that exist due to instantiation of the block owning or inheriting the connector. The value of a connector property on an instance of a block will be exactly those link objects that are instances of the association block typing the connector referred to by the connector property.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="connector" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Connector">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A connector of the block owning the property on which the stereotype is applied."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DistributedProperty">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 DistributedProperty is a stereotype of Property used to apply a probability distribution to the values of the property. Specific distributions should be defined as subclasses of the DistributedProperty stereotype with the operands of the distributions represented by properties of those stereotype subclasses.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElementPropertyPath" abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Element" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="propertyPath" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 The propertyPath list of the NestedConnectorEnd stereotype must identify a path of containing properties that identify the connected property in the context of the block that owns the connector. The ordering of properties is from a property of the block that owns the connector, through a property of each intermediate block that types the preceding property, until a property is reached that contains a connector end property within its type. The connector end property is not included in the propertyPath list, but instead is held by the role property of the UML ConnectorEnd metaclass.
 "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="NestedConnectorEnd" eSuperTypes="#//blocks/ElementPropertyPath">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The NestedConnectorEnd stereotype of UML ConnectorEnd extends a UML ConnectorEnd so that the connected property may be identified by a multi-level path of accessible properties from the block that owns the connector."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ConnectorEnd" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ConnectorEnd"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ParticipantProperty">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 The Block stereotype extends Class, so it can be applied to any specialization of Class, including Association Classes. These are informally called “association blocks.” An association block can own properties and connectors, like any other block. Each instance of an association block can link together instances of the end classifiers of the association. To refer to linked objects and values of an instance of an association block, it is necessary for the modeler to specify which (participant) properties of the association block identify the instances being linked at which end of the association. The value of a participant property on an instance (link) of the association block is the value or object at the end of the link corresponding to this end of the association.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="end" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A member end of the association block owning the property on which the stereotype is applied."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PropertySpecificType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The PropertySpecificType stereotype should automatically be applied to the classifier which types a property with a propertyspecific type. This classifier can contain definitions of new or redefined features which extend the original classifier referenced by the property-specific type."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Classifier" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ValueType">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference. Since a value cannot be identified except by means of the value itself, each such value within a model is independent of any other, unless other forms of constraints are imposed. Value types may be used to type properties, operation parameters, or potentially other elements within SysML. SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_DataType" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DataType"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="quantityKind" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A kind of quantity that may be stated by means of defined units, as identified by an instance of the Dimension stereotype. A value type may optionally specify a dimension without any unit. Such a value has no concrete representation, but may be used to express a value in an abstract form independent of any specific units.
 "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="unit" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InstanceSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A quantity in terms of which the magnitudes of other quantities that have the same dimension can be stated, as identified by an instance of the Unit stereotype."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DirectedRelationshipPropertyPath"
+ abstract="true">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_DirectedRelationship"
+ ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//DirectedRelationship"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourceContext" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="sourcePropertyPath" unique="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetContext" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="targetPropertyPath" unique="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="constraintblocks" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks"
+ nsPrefix="ConstraintBlocks">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ConstraintBlocks"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="ConstraintBlock" eSuperTypes="#//blocks/Block">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A constraint block is a block that packages the statement of a constraint so it may be applied in a reusable way to constrain properties of other blocks. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used. Binding connectors, as defined in Chapter 8: Blocks, are used to bind each parameter of the constraint block to a property in the surrounding context. All properties of a constraint block are constraint parameters, with the exception of constraint properties that hold internally nested usages of other constraint blocks.
 "/>
+ </eAnnotations>
+ <eOperations name="getParameters" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="deprecatedelements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements"
+ nsPrefix="DeprecatedElements">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="DeprecatedElements"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="FlowPort">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A FlowPort is an interaction point through which input and/or output of items such as data, material, or energy may flow. This enables the owning block to declare which items it may exchange with its environment and the interaction points through which the exchange is made. We distinguish between atomic flow port and a nonatomic flow port. Atomic flow ports relay items that are classified by a single Block, ValueType, DataType, or Signal classifier. A nonatomic flow port relays items of several types as specified by a FlowSpecification. Flow ports and associated flow specifications define “what can flow” between the block and its environment, whereas item flows specify “what does flow” in a specific usage context. Flow ports relay items to their owning block or to a connector that connects them with their owner’s internal parts (internal connector).
 "/>
+ </eAnnotations>
+ <eOperations name="getIcon" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Image"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+ lowerBound="1" eType="#//portsandflows/FlowDirectionKind" defaultValueLiteral="inout">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 Indicates the direction in which an atomic flow port relays its items. If the direction is set to “in,” then the items are relayed from an external connector via the flow port into the flow port’s owner (or one of its parts). If the direction is set to “out,” then the items are relayed from the flow port’s owner, via the flow port, through an external connector attached to the flow port. If the direction is set to “inout,” then items can flow both ways. By default, the value is inout.
 "/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAtomic" ordered="false"
+ lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is a derived attribute (derived from the flow port’s type). For a flow port typed by a flow specification the value of this attribute is False, otherwise the value is True."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FlowSpecification">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A FlowSpecification specifies inputs and outputs as a set of flow properties. A flow specification is used by flow ports to specify what items can flow via the port."/>
+ </eAnnotations>
+ <eOperations name="getFlowProperties" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Interface" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Interface"/>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="portsandflows" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows"
+ nsPrefix="PortsAndFlows">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="PortsAndFlows"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EEnum" name="FeatureDirectionKind">
+ <eLiterals name="provided"/>
+ <eLiterals name="providedRequired" value="1"/>
+ <eLiterals name="required" value="2"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AcceptChangeStructuralFeatureEventAction">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_AcceptEventAction"
+ ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//AcceptEventAction"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ChangeStructuralFeatureEvent">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_ChangeEvent" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ChangeEvent"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="structuralFeature" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//StructuralFeature"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DirectedFeature">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Feature" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Feature"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="featureDirection" ordered="false"
+ lowerBound="1" eType="#//portsandflows/FeatureDirectionKind"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FlowProperty">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A FlowProperty signifies a single flow element that can flow to/from a block. A flow property’s values are either received from or transmitted to an external block. Flow properties are defined directly on blocks or flow specifications that are those specifications which type the flow ports. Flow properties enable item flows across connectors connecting parts of the corresponding block types, either directly (in case of the property is defined on the block) or via flowPorts. For Block, Data Type, and Value Type properties, setting an “out” FlowProperty value of a block usage on one end of a connector will result in assigning the same value of an “in” FlowProperty of a block usage at the other end of the connector, provided the flow properties are matched. Flow properties of type Signal imply sending and/or receiving of a signal usage. An “out” FlowProperty of type Signal means that the owning Block may broadcast the signal via connectors and an “in” FlowProperty means that the owning block is able to receive the Signal.
 "/>
+ </eAnnotations>
+ <eOperations name="getIcon" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Image"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Property" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="direction" ordered="false"
+ lowerBound="1" eType="#//portsandflows/FlowDirectionKind" defaultValueLiteral="inout">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Specifies if the property value is received from an external block (direction=“in”), transmitted to an external Block (direction=“out”) or both (direction=“inout”)."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="FullPort">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InterfaceBlock" eSuperTypes="#//blocks/Block">
+ <eOperations name="getConjugated" ordered="false" upperBound="-1" eType="#//portsandflows/InterfaceBlock"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="InvocationOnNestedPortAction" eSuperTypes="#//blocks/ElementPropertyPath">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InvocationAction"
+ ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InvocationAction"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="onNestedPort" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ItemFlow">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An ItemFlow describes the flow of items across a connector or an association. It may constrain the item exchange between blocks, block usages, or flow ports as specified by their flow properties. For example, a pump connected to a tank: the pump has an “out” flow property of type Liquid and the tank has an “in” FlowProperty of type Liquid. To signify that only water flows between the pump and the tank, we can specify an ItemFlow of type Water on the connector.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_InformationFlow"
+ ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//InformationFlow"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="itemProperty" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="An optional property that relates the flowing item to the instances of the connector’s enclosing block. This property is applicable only for item flows assigned to connectors. The multiplicity is zero if the item flow is assigned to an Association."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ProxyPort">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Port" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TriggerOnNestedPort" eSuperTypes="#//blocks/ElementPropertyPath">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Trigger" ordered="false"
+ lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Trigger"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="onNestedPort" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ConjugatedInterfaceBlock" eSuperTypes="#//portsandflows/InterfaceBlock">
+ <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="df1" ordered="false" lowerBound="1" eType="#//portsandflows/DirectedFeature"/>
+ <eParameters name="df2" ordered="false" lowerBound="1" eType="#//portsandflows/DirectedFeature"/>
+ </eOperations>
+ <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="fp1" ordered="false" lowerBound="1" eType="#//portsandflows/FlowProperty"/>
+ <eParameters name="fp2" ordered="false" lowerBound="1" eType="#//portsandflows/FlowProperty"/>
+ </eOperations>
+ <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="r1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Reception"/>
+ <eParameters name="r2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Reception"/>
+ </eOperations>
+ <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="o1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+ <eParameters name="o2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+ </eOperations>
+ <eOperations name="areConjugated" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="p1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ <eParameters name="p2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Property"/>
+ </eOperations>
+ <eOperations name="areSameConstraintSets" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="cs1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+ <eParameters name="cs2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Constraint"/>
+ </eOperations>
+ <eOperations name="areSameParameterSets" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="ps1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ParameterSet"/>
+ <eParameters name="ps2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//ParameterSet"/>
+ </eOperations>
+ <eOperations name="haveSameSignatures" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Boolean">
+ <eParameters name="bf1" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+ <eParameters name="bf2" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//BehavioralFeature"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="original" ordered="false"
+ lowerBound="1" eType="#//portsandflows/InterfaceBlock"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AddFlowPropertyValueOnNestedPortAction"
+ eSuperTypes="#//blocks/ElementPropertyPath">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="onNestedPort" unique="false"
+ lowerBound="1" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Port"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_AddStructuralFeatureValueAction"
+ ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//AddStructuralFeatureValueAction"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="FlowDirectionKind">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="FlowDirectionKind is an enumeration type that defines literals used for specifying the direction that items can flow to or from a block. FlowDirectionKind is used by flow properties to indicate the direction that its items can flow to or from its owner."/>
+ </eAnnotations>
+ <eLiterals name="in">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Indicates that the flow property is input to the owning block."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="inout" value="1">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Indicates that the flow property is both an input and an output of the owning block."/>
+ </eAnnotations>
+ </eLiterals>
+ <eLiterals name="out" value="2">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Indicates that the flow property is an output of the owning block."/>
+ </eAnnotations>
+ </eLiterals>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="modelelements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements"
+ nsPrefix="ModelElements">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="ModelElements"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="Conform">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A Conform relationship is a dependency between a view and a viewpoint. The view conforms to the specified rules and conventions detailed in the viewpoint. Conform is a specialization of the UML dependency, and as with other dependencies the arrow direction points from the (client/source) to the (supplier/target).
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Generalization"
+ ordered="false" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Generalization"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="ElementGroup">
+ <eOperations name="allGroups" ordered="false" lowerBound="1">
+ <eParameters name="e" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ <eParameters name="result" ordered="false" upperBound="-1" eType="#//modelelements/ElementGroup"/>
+ </eOperations>
+ <eOperations name="criterion" ordered="false" lowerBound="1">
+ <eParameters name="result" ordered="false" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ </eOperations>
+ <eOperations name="member" ordered="false" lowerBound="1">
+ <eParameters name="result" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ </eOperations>
+ <eOperations name="size" ordered="false" lowerBound="1">
+ <eParameters name="result" ordered="false" lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Integer"/>
+ </eOperations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="criterion" ordered="false"
+ lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="member" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" ordered="false"
+ lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="orderedMember" upperBound="-1"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Element"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="size" ordered="false"
+ lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//Integer"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Expose">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Dependency" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Dependency"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Problem">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A Problem documents a deficiency, limitation, or failure of one or more model elements to satisfy a requirement or need, or other undesired outcome. It may be used to capture problems identified during analysis, design, verification, or manufacture and associate the problem with the relevant model elements. Problem is a stereotype of comment and may be attached to any other model element in the same manner as a comment.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Rationale">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A Rationale documents the justification for decisions and the requirements, design, and other decisions. A Rationale can be attached to any model element including relationships. It allows the user, for example, to specify a rationale that may reference more detailed documentation such as a trade study or analysis report. Rationale is a stereotype of comment and may be attached to any other model element in the same manner as a comment.
 "/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Comment" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Stakeholder">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Classifier" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Classifier"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concernList" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="concern" ordered="false"
+ upperBound="-1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="View">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A View is a representation of a whole system or subsystem from the perspective of a single viewpoint. Views are allowed to import other elements including other packages and other views that conform to the viewpoint."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stakeholder" ordered="false"
+ upperBound="-1" eType="#//modelelements/Stakeholder" changeable="false"
+ volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="viewPoint" ordered="false"
+ lowerBound="1" eType="#//modelelements/Viewpoint" changeable="false" volatile="true"
+ transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The viewpoint for this View, derived from the supplier of the «conform» dependency whose client is this View."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Viewpoint">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. The languages and methods for specifying a view may reference languages and methods in another viewpoint. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="concern" ordered="false"
+ upperBound="-1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+ changeable="false" volatile="true" transient="true" derived="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="concernList" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Comment">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The interest of the stakeholders."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="language" ordered="false"
+ upperBound="-1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The languages used to construct the viewpoint."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="method" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The methods used to construct the views for this viewpoint."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="presentation" ordered="false"
+ upperBound="-1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="purpose" ordered="false"
+ lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The purpose addresses the stakeholder concerns."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="stakeholder" ordered="false"
+ upperBound="-1" eType="#//modelelements/Stakeholder">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Set of stakeholders."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ </eSubpackages>
+ <eSubpackages name="requirements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements"
+ nsPrefix="Requirements">
+ <eAnnotations source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <details key="originalName" value="Requirements"/>
+ </eAnnotations>
+ <eClassifiers xsi:type="ecore:EClass" name="Copy" eSuperTypes="#//requirements/Trace">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement."/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Trace" eSuperTypes="#//blocks/DirectedRelationshipPropertyPath ../../../org.eclipse.uml2.uml.profile.standard/model/Standard.ecore#//Trace">
+ <eOperations name="getTracedFrom" ordered="false" lowerBound="1">
+ <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eParameters name="result" ordered="false" upperBound="-1" eType="#//requirements/Requirement"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Requirement" eSuperTypes="#//requirements/AbstractRequirement">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A requirement specifies a capability or condition that must (or should) be satisfied. A requirement may specify a function that a system must perform or a performance condition that a system must satisfy. Requirements are used to establish a contract between the customer (or other stakeholder) and those responsible for designing and implementing the system.
 
An AbstractRequirement establishes the attributes and relationships essential to any potential kind of requirement. Any intended requirement kind should subclass AbstractRequirement. The only normative stereotype based on AbstractRequirement is the Requirement stereotype, described in 16.3.2.5. Examples of additional non-normative stereotypes based on AbstractRequirement are included in Annex E.8."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Class" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AbstractRequirement" abstract="true">
+ <eOperations name="getSatisfiedBy" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eOperations name="getVerifiedBy" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eOperations name="getTracedTo" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eOperations name="getDerived" ordered="false" upperBound="-1" eType="#//requirements/AbstractRequirement"/>
+ <eOperations name="getDerivedFrom" ordered="false" upperBound="-1" eType="#//requirements/AbstractRequirement"/>
+ <eOperations name="getRefinedBy" ordered="false" upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eOperations name="getMaster" ordered="false" upperBound="-1" eType="#//requirements/AbstractRequirement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_NamedElement" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="derived" ordered="false"
+ upperBound="-1" eType="#//requirements/AbstractRequirement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a supplier."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="derivedFrom" ordered="false"
+ upperBound="-1" eType="#//requirements/AbstractRequirement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Derived from all requirements that are the supplier of a «deriveReqt» relationship for which this requirement is a client."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" ordered="false" lowerBound="1"
+ eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+ defaultValueLiteral="">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The unique id of the requirement."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="master" ordered="false"
+ upperBound="-1" eType="#//requirements/AbstractRequirement" changeable="false"
+ volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="This is a derived property that lists the master requirement for this slave requirement. The master attribute is derived from the supplier of the Copy dependency that has this requirement as the slave."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="refinedBy" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Derived from all elements that are the client of a «refine» relationship for which this requirement is a supplier."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="satisfiedBy" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Derived from all elements that are the client of a «satisfy» relationship for which this requirement is a supplier."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="text" ordered="false"
+ lowerBound="1" eType="ecore:EDataType ../../../org.eclipse.uml2.types/model/Types.ecore#//String"
+ defaultValueLiteral="">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="The textual representation or a reference to the textual representation of the requirement."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="tracedTo" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Derived from all elements that are the client of a «trace» relationship for which this requirement is a supplier."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="verifiedBy" ordered="false"
+ upperBound="-1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"
+ changeable="false" volatile="true" transient="true" derived="true">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="Derived from all elements that are the client of a «verify» relationship for which this requirement is a supplier."/>
+ </eAnnotations>
+ </eStructuralFeatures>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="DeriveReqt" eSuperTypes="#//requirements/Trace">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="
 A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement. As with other dependencies, the arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived.
 "/>
+ </eAnnotations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Refine" eSuperTypes="#//blocks/DirectedRelationshipPropertyPath ../../../org.eclipse.uml2.uml.profile.standard/model/Standard.ecore#//Refine">
+ <eOperations name="getRefines" ordered="false" lowerBound="1">
+ <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eParameters name="result" ordered="false" upperBound="-1" eType="#//requirements/Requirement"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Satisfy" eSuperTypes="#//requirements/Trace">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement. As with other dependencies, the arrow direction points from the satisfying (client) model element to the (supplier) requirement that is satisfied."/>
+ </eAnnotations>
+ <eOperations name="getSatisfies" ordered="false" lowerBound="1">
+ <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eParameters name="result" ordered="false" upperBound="-1" eType="#//requirements/Requirement"/>
+ </eOperations>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="TestCase">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A test case is a method for verifying a requirement is satisfied."/>
+ </eAnnotations>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Behavior" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Behavior"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="base_Operation" ordered="false"
+ eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//Operation"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Verify" eSuperTypes="#//requirements/Trace">
+ <eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
+ <details key="documentation" value="A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement. As with other dependencies, the arrow direction points from the (client) element to the (supplier) requirement."/>
+ </eAnnotations>
+ <eOperations name="getVerifies" ordered="false" lowerBound="1">
+ <eParameters name="ref" ordered="false" lowerBound="1" eType="ecore:EClass platform:/plugin/org.eclipse.uml2.uml/model/UML.ecore#//NamedElement"/>
+ <eParameters name="result" ordered="false" upperBound="-1" eType="#//requirements/Requirement"/>
+ </eOperations>
+ </eClassifiers>
+ </eSubpackages>
+</ecore:EPackage>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.genmodel b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.genmodel
new file mode 100644
index 0000000..47e186f
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.genmodel
@@ -0,0 +1,460 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:genmodel="http://www.eclipse.org/uml2/2.2.0/GenModel"
+ copyrightText="Copyright (c) 2019 CEA LIST.

All rights reserved. This program and the accompanying materials
are made available under the terms of the Eclipse Public License 2.0
which accompanies this distribution, and is available at
https://www.eclipse.org/legal/epl-2.0/

SPDX-License-Identifier: EPL-2.0

Contributors:
 Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation"
+ modelDirectory="/org.eclipse.papyrus.sysml16/src-gen" editDirectory="/org.eclipse.papyrus.sysml16.edit/src-gen"
+ editorDirectory="/org.eclipse.papyrus.sysml16.editor/src-gen" modelPluginID="org.eclipse.papyrus.sysml16"
+ modelName="SysML" editPluginClass="org.eclipse.papyrus.sysml16.provider.SysMLEditPlugin"
+ editorPluginClass="org.eclipse.papyrus.sysml16.presentation.SysMLEditorPlugin"
+ nonNLSMarkers="true" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ testsDirectory="/org.eclipse.papyrus.sysml16.tests/src-gen" testSuiteClass="org.eclipse.papyrus.sysml16.tests.SysMLAllTests"
+ importerID="org.eclipse.uml2.uml.ecore.importer" complianceLevel="7.0" copyrightFields="false"
+ usedGenPackages="../../../org.eclipse.emf.ecore/model/Ecore.genmodel#//ecore ../../../org.eclipse.uml2.uml.profile.standard/model/Standard.genmodel#//standard ../../../org.eclipse.uml2.types/model/Types.genmodel#//types ../../../org.eclipse.uml2.uml/model/UML.genmodel#//uml"
+ classNamePattern="" operationReflection="true" importOrganizing="true">
+ <genAnnotations source="http://www.eclipse.org/emf/2002/GenModel/importer/org.eclipse.uml2.uml.ecore.importer">
+ <details key="OPPOSITE_ROLE_NAMES" value="IGNORE"/>
+ <details key="DUPLICATE_FEATURES" value="DISCARD"/>
+ <details key="ANNOTATION_DETAILS" value="PROCESS"/>
+ <details key="PROPERTY_DEFAULT_EXPRESSIONS" value="IGNORE"/>
+ <details key="DUPLICATE_FEATURE_INHERITANCE" value="DISCARD"/>
+ <details key="COMMENTS" value="PROCESS"/>
+ <details key="DERIVED_FEATURES" value="PROCESS"/>
+ <details key="SUPER_CLASS_ORDER" value="PROCESS"/>
+ <details key="DUPLICATE_OPERATION_INHERITANCE" value="DISCARD"/>
+ <details key="REDEFINING_OPERATIONS" value="REPORT"/>
+ <details key="INVARIANT_CONSTRAINTS" value="PROCESS"/>
+ <details key="UNION_PROPERTIES" value="REPORT"/>
+ <details key="DUPLICATE_OPERATIONS" value="DISCARD"/>
+ <details key="NON_API_INVARIANTS" value="IGNORE"/>
+ <details key="CAMEL_CASE_NAMES" value="IGNORE"/>
+ <details key="SUBSETTING_PROPERTIES" value="REPORT"/>
+ <details key="OPERATION_BODIES" value="IGNORE"/>
+ <details key="ECORE_TAGGED_VALUES" value="PROCESS"/>
+ <details key="UNTYPED_PROPERTIES" value="REPORT"/>
+ <details key="REDEFINING_PROPERTIES" value="REPORT"/>
+ <details key="INVOCATION_DELEGATES" value="IGNORE"/>
+ <details key="VALIDATION_DELEGATES" value="IGNORE"/>
+ </genAnnotations>
+ <foreignModel>SysML.profile.uml</foreignModel>
+ <genPackages xsi:type="genmodel:GenPackage" prefix="SysML" basePackage="org.eclipse.papyrus.sysml16"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#/">
+ <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="SysML.profile.ecore#//Dummy"/>
+ <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Activities" basePackage="org.eclipse.papyrus.sysml16"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//activities">
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Continuous"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Rate">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Rate/base_ActivityEdge"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Rate/base_ObjectNode"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Rate/base_Parameter"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Rate/rate"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/ControlOperator">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/ControlOperator/base_Behavior"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/ControlOperator/base_Operation"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Discrete"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/NoBuffer">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/NoBuffer/base_ObjectNode"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Optional">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Optional/base_Parameter"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Overwrite">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Overwrite/base_ObjectNode"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//activities/Probability">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Probability/base_ActivityEdge"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Probability/base_ParameterSet"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//activities/Probability/probability"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Allocations" basePackage="org.eclipse.papyrus.sysml16"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//allocations">
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//allocations/Allocate">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//allocations/Allocate/base_Abstraction"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//allocations/Allocate/getAllocatedFrom">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//allocations/Allocate/getAllocatedFrom/ref"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//allocations/Allocate/getAllocatedFrom/result"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//allocations/Allocate/getAllocatedTo">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//allocations/Allocate/getAllocatedTo/ref"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//allocations/Allocate/getAllocatedTo/result"/>
+ </genOperations>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//allocations/AllocateActivityPartition">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//allocations/AllocateActivityPartition/base_ActivityPartition"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Blocks" basePackage="org.eclipse.papyrus.sysml16"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//blocks">
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/AdjunctProperty">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/AdjunctProperty/base_Property"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/AdjunctProperty/principal"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/BindingConnector">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/BindingConnector/base_Connector"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/Block">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/Block/base_Class"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//blocks/Block/isEncapsulated"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//blocks/Block/getReferences"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//blocks/Block/getParts"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//blocks/Block/getFlowProperties"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/BoundReference">
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/BoundReference/bindingPath"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/BoundReference/boundEnd"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/EndPathMultiplicity">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/EndPathMultiplicity/base_Property"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//blocks/EndPathMultiplicity/lower"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//blocks/EndPathMultiplicity/upper"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/ClassifierBehaviorProperty">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ClassifierBehaviorProperty/base_Property"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/ConnectorProperty">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ConnectorProperty/base_Property"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ConnectorProperty/connector"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/DistributedProperty">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DistributedProperty/base_Property"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="SysML.profile.ecore#//blocks/ElementPropertyPath">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ElementPropertyPath/base_Element"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ElementPropertyPath/propertyPath"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/NestedConnectorEnd">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/NestedConnectorEnd/base_ConnectorEnd"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/ParticipantProperty">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ParticipantProperty/base_Property"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ParticipantProperty/end"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/PropertySpecificType">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/PropertySpecificType/base_Classifier"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//blocks/ValueType">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ValueType/base_DataType"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ValueType/quantityKind"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/ValueType/unit"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/base_DirectedRelationship"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/sourceContext"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/sourcePropertyPath"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/targetContext"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//blocks/DirectedRelationshipPropertyPath/targetPropertyPath"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="ConstraintBlocks" basePackage="org.eclipse.papyrus.sysml16"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//constraintblocks">
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//constraintblocks/ConstraintBlock">
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//constraintblocks/ConstraintBlock/getParameters"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="DeprecatedElements"
+ basePackage="org.eclipse.papyrus.sysml16" disposableProviderFactory="true"
+ classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//deprecatedelements">
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//deprecatedelements/FlowPort">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//deprecatedelements/FlowPort/base_Port"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//deprecatedelements/FlowPort/direction"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+ ecoreFeature="ecore:EAttribute SysML.profile.ecore#//deprecatedelements/FlowPort/isAtomic"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//deprecatedelements/FlowPort/getIcon"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//deprecatedelements/FlowSpecification">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//deprecatedelements/FlowSpecification/base_Interface"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//deprecatedelements/FlowSpecification/getFlowProperties"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="PortsAndFlows" basePackage="org.eclipse.papyrus.sysml16"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//portsandflows">
+ <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="SysML.profile.ecore#//portsandflows/FeatureDirectionKind">
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FeatureDirectionKind/provided"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FeatureDirectionKind/providedRequired"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FeatureDirectionKind/required"/>
+ </genEnums>
+ <genEnums xsi:type="genmodel:GenEnum" typeSafeEnumCompatible="false" ecoreEnum="SysML.profile.ecore#//portsandflows/FlowDirectionKind">
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FlowDirectionKind/in"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FlowDirectionKind/inout"/>
+ <genEnumLiterals xsi:type="genmodel:GenEnumLiteral" ecoreEnumLiteral="SysML.profile.ecore#//portsandflows/FlowDirectionKind/out"/>
+ </genEnums>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/AcceptChangeStructuralFeatureEventAction">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/AcceptChangeStructuralFeatureEventAction/base_AcceptEventAction"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/ChangeStructuralFeatureEvent">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ChangeStructuralFeatureEvent/base_ChangeEvent"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ChangeStructuralFeatureEvent/structuralFeature"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/DirectedFeature">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/DirectedFeature/base_Feature"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//portsandflows/DirectedFeature/featureDirection"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/FlowProperty">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/FlowProperty/base_Property"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//portsandflows/FlowProperty/direction"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/FlowProperty/getIcon"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/FullPort">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/FullPort/base_Port"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/InterfaceBlock">
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/InterfaceBlock/getConjugated"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/InvocationOnNestedPortAction">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/InvocationOnNestedPortAction/base_InvocationAction"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/InvocationOnNestedPortAction/onNestedPort"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/ItemFlow">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ItemFlow/base_InformationFlow"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ItemFlow/itemProperty"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/ProxyPort">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ProxyPort/base_Port"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/TriggerOnNestedPort">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/TriggerOnNestedPort/base_Trigger"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/TriggerOnNestedPort/onNestedPort"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/original"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated/df1"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated/df2"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.1">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.1/fp1"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.1/fp2"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.2">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.2/r1"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.2/r2"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.3">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.3/o1"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.3/o2"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.4">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.4/p1"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areConjugated.4/p2"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameConstraintSets">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameConstraintSets/cs1"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameConstraintSets/cs2"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameParameterSets">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameParameterSets/ps1"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/areSameParameterSets/ps2"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/haveSameSignatures">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/haveSameSignatures/bf1"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//portsandflows/ConjugatedInterfaceBlock/haveSameSignatures/bf2"/>
+ </genOperations>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//portsandflows/AddFlowPropertyValueOnNestedPortAction">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/AddFlowPropertyValueOnNestedPortAction/onNestedPort"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//portsandflows/AddFlowPropertyValueOnNestedPortAction/base_AddStructuralFeatureValueAction"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="ModelElements" basePackage="org.eclipse.papyrus.sysml16"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//modelelements">
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Conform">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Conform/base_Generalization"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/ElementGroup">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/ElementGroup/base_Comment"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+ ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/ElementGroup/criterion.1"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/ElementGroup/member.1"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/ElementGroup/name"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/ElementGroup/orderedMember"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+ ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/ElementGroup/size.1"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//modelelements/ElementGroup/allGroups">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/allGroups/e"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/allGroups/result"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//modelelements/ElementGroup/criterion">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/criterion/result"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//modelelements/ElementGroup/member">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/member/result"/>
+ </genOperations>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//modelelements/ElementGroup/size">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//modelelements/ElementGroup/size/result"/>
+ </genOperations>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Expose">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Expose/base_Dependency"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Problem">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Problem/base_Comment"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Rationale">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Rationale/base_Comment"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Stakeholder">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Stakeholder/base_Classifier"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Stakeholder/concernList"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+ ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Stakeholder/concern"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/View">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/View/base_Class"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/View/stakeholder"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/View/viewPoint"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//modelelements/Viewpoint">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Viewpoint/base_Class"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" createChild="false"
+ ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Viewpoint/concern"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Viewpoint/concernList"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Viewpoint/language"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Viewpoint/method"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Viewpoint/presentation"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//modelelements/Viewpoint/purpose"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//modelelements/Viewpoint/stakeholder"/>
+ </genClasses>
+ </nestedGenPackages>
+ <nestedGenPackages xsi:type="genmodel:GenPackage" prefix="Requirements" basePackage="org.eclipse.papyrus.sysml16"
+ disposableProviderFactory="true" classPackageSuffix="internal.impl" ecorePackage="SysML.profile.ecore#//requirements">
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Copy"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Trace">
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/Trace/getTracedFrom">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Trace/getTracedFrom/ref"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Trace/getTracedFrom/result"/>
+ </genOperations>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Requirement">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/Requirement/base_Class"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" image="false" ecoreClass="SysML.profile.ecore#//requirements/AbstractRequirement">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/base_NamedElement"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/derived"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/derivedFrom"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//requirements/AbstractRequirement/id"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/master"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/refinedBy"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/satisfiedBy"/>
+ <genFeatures xsi:type="genmodel:GenFeature" createChild="false" ecoreFeature="ecore:EAttribute SysML.profile.ecore#//requirements/AbstractRequirement/text"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/tracedTo"/>
+ <genFeatures xsi:type="genmodel:GenFeature" property="Readonly" notify="false"
+ createChild="false" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/AbstractRequirement/verifiedBy"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getSatisfiedBy"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getVerifiedBy"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getTracedTo"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getDerived"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getDerivedFrom"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getRefinedBy"/>
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/AbstractRequirement/getMaster"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/DeriveReqt"/>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Refine">
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/Refine/getRefines">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Refine/getRefines/ref"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Refine/getRefines/result"/>
+ </genOperations>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Satisfy">
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/Satisfy/getSatisfies">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Satisfy/getSatisfies/ref"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Satisfy/getSatisfies/result"/>
+ </genOperations>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/TestCase">
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/TestCase/base_Behavior"/>
+ <genFeatures xsi:type="genmodel:GenFeature" notify="false" createChild="false"
+ propertySortChoices="true" ecoreFeature="ecore:EReference SysML.profile.ecore#//requirements/TestCase/base_Operation"/>
+ </genClasses>
+ <genClasses xsi:type="genmodel:GenClass" ecoreClass="SysML.profile.ecore#//requirements/Verify">
+ <genOperations xsi:type="genmodel:GenOperation" ecoreOperation="SysML.profile.ecore#//requirements/Verify/getVerifies">
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Verify/getVerifies/ref"/>
+ <genParameters xsi:type="genmodel:GenParameter" ecoreParameter="SysML.profile.ecore#//requirements/Verify/getVerifies/result"/>
+ </genOperations>
+ </genClasses>
+ </nestedGenPackages>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.notation b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.notation
new file mode 100644
index 0000000..4d03136
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.notation
@@ -0,0 +1,3737 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:css="http://www.eclipse.org/papyrus/infra/gmfdiag/css" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/gmfdiag/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
+ <notation:Diagram xmi:id="_wJW_wFFuEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="Activities" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_x4EkUFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x4I1wFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x4L5EFFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x4L5EVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x4L5ElFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x4L5E1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x4L5FFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x4MgIFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x4MgIVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x4MgIlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x4MgI1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x4MgJFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x4EkUVFuEeWFqsbjn0GMrw" x="1160" y="580" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x61kcFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x61kclFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x61kc1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x61kdFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x61kdVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x61kdlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x61kd1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x61keFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x61keVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x61kelFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x61ke1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x61kfFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x61kcVFuEeWFqsbjn0GMrw" x="40" y="340" width="281"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x7HRQFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x7HRQlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x7HRQ1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x7HRRFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x7HRRVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x7HRRlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7HRR1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x7HRSFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x7HRSVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x7HRSlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x7HRS1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7HRTFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7HRQVFuEeWFqsbjn0GMrw" x="1480" y="580" width="119"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x7Y-EFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x7ZlIFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x7ZlIVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x7ZlIlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x7ZlI1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x7ZlJFFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7ZlJVFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x7ZlJlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x7ZlJ1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x7ZlKFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x7ZlKVFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7ZlKlFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7Y-EVFuEeWFqsbjn0GMrw" x="360" y="340" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x7qD0FFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x7qq4FFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x7qq4VFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x7qq4lFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x7qq41FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x7qq5FFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7qq5VFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x7qq5lFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x7qq51FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x7qq6FFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x7qq6VFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7qq6lFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x7qD0VFuEeWFqsbjn0GMrw" x="520" y="340" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x8ApIFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x8BQMFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x8BQMVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x8BQMlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x8BQM1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x8BQNFFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8BQNVFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x8BQNlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x8BQN1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x8BQOFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x8BQOVFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8BQOlFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8ApIVFuEeWFqsbjn0GMrw" x="680" y="340" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x8jbsFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x8kCwFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x8kCwVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_eNu7UFCbEemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.probability"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_eNu7UVCbEemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x8kCwlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x8kCw1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x8kCxFFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8kCxVFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x8kCxlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x8kCx1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x8kCyFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x8kCyVFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8kCylFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x8jbsVFuEeWFqsbjn0GMrw" x="840" y="340" width="281"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_x9FnMFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_x9FnMlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x9FnM1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_eNviYVCbEemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.rate"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_eNviYlCbEemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x9FnNFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x9FnNVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x9FnNlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x9FnN1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_x9FnOFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_x9FnOVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_x9FnOlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_x9FnO1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x9FnPFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_x9FnMVFuEeWFqsbjn0GMrw" x="1160" y="340" width="441"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ygpAMFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ygpnQFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ygpAMVFuEeWFqsbjn0GMrw" x="40" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yjkYYFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yjk_cFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yjkYYVFuEeWFqsbjn0GMrw" x="200" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yllKkFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yllKklFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yllKkVFuEeWFqsbjn0GMrw" x="360" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ym1u0FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ym2V4FFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ym1u0VFuEeWFqsbjn0GMrw" x="520" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yoWxwFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yoXY0FFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yoWxwVFuEeWFqsbjn0GMrw" x="680" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yp3NoFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yp3NolFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yp3NoVFuEeWFqsbjn0GMrw" x="840" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ysRocFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ysRoclFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ysRocVFuEeWFqsbjn0GMrw" x="1000" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yt3j4FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yt4K8FFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yt3j4VFuEeWFqsbjn0GMrw" x="1160" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yvxoYFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yvyPcFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yvxoYVFuEeWFqsbjn0GMrw" x="1320" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_yx6WYFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_yx69cFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_yx6WYVFuEeWFqsbjn0GMrw" x="1480" y="40" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RApZg1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RApZhFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RApZhlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RApZhVCcEemsqfUA37D_yw" x="240" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RAwHMFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RAwHMVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RAwHM1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RAwHMlCcEemsqfUA37D_yw" x="400" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RA0_s1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RA0_tFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA0_tlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RA0_tVCcEemsqfUA37D_yw" x="560" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RA54M1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RA54NFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA54NlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RA54NVCcEemsqfUA37D_yw" x="720" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RA_Xw1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RA_XxFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA_XxlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RA_XxVCcEemsqfUA37D_yw" x="880" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RBEQQ1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RBEQRFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBE3UFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBEQRVCcEemsqfUA37D_yw" x="1040" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RBNaMFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RBNaMVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBNaM1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBNaMlCcEemsqfUA37D_yw" x="1200" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RBTg01CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RBTg1FCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBTg1lCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBTg1VCcEemsqfUA37D_yw" x="1360" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RBZAY1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RBZAZFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBZAZlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBZAZVCcEemsqfUA37D_yw" x="1520" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_RBfHAFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_RBfHAVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBfHA1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_RBfHAlCcEemsqfUA37D_yw" x="1680" y="40"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_wJXm0FFuEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_wJXm0VFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_3Sb10EdOEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+ </styles>
+ <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_3tYa8FCaEemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Activities"/>
+ <edges xmi:type="notation:Connector" xmi:id="_yiSmAFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x61kcFFuEeWFqsbjn0GMrw" target="_ygpAMFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yiSmAVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yiSmAlFuEeWFqsbjn0GMrw" points="[180, 340, -643984, -643984]$[180, 160, -643984, -643984]$[100, 160, -643984, -643984]$[100, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zv6PsFFuEeWFqsbjn0GMrw" id="(0.498220640569395,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zv6PsVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ylAi0FFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x61kcFFuEeWFqsbjn0GMrw" target="_yjkYYFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ylAi0VFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ylAi0lFuEeWFqsbjn0GMrw" points="[180, 340, -643984, -643984]$[180, 160, -643984, -643984]$[260, 160, -643984, -643984]$[260, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zwDZoFFuEeWFqsbjn0GMrw" id="(0.498220640569395,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zwDZoVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yma4EFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x7Y-EFFuEeWFqsbjn0GMrw" target="_yllKkFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yma4EVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yma4ElFuEeWFqsbjn0GMrw" points="[420, 340, -643984, -643984]$[420, 160, -643984, -643984]$[420, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zun2QFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zupEYFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yoDPwFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x7qD0FFuEeWFqsbjn0GMrw" target="_ym1u0FFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yoDPwVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yoDPwlFuEeWFqsbjn0GMrw" points="[580, 340, -643984, -643984]$[580, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zu6xMFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zu7YQFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ypW3UFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x8ApIFFuEeWFqsbjn0GMrw" target="_yoWxwFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ypW3UVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ypW3UlFuEeWFqsbjn0GMrw" points="[740, 340, -643984, -643984]$[740, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvIMkFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvIzoFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yrzuYFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x8jbsFFuEeWFqsbjn0GMrw" target="_yp3NoFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yrzuYVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yrzuYlFuEeWFqsbjn0GMrw" points="[980, 340, -643984, -643984]$[980, 160, -643984, -643984]$[900, 160, -643984, -643984]$[900, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zveK0FFuEeWFqsbjn0GMrw" id="(0.498220640569395,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zveK0VFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ytVYYFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x8jbsFFuEeWFqsbjn0GMrw" target="_ysRocFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ytVYYVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ytVYYlFuEeWFqsbjn0GMrw" points="[980, 340, -643984, -643984]$[980, 160, -643984, -643984]$[1060, 160, -643984, -643984]$[1060, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvex4FFuEeWFqsbjn0GMrw" id="(0.498220640569395,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvex4VFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yvLLcFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x9FnMFFuEeWFqsbjn0GMrw" target="_yt3j4FFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yvLLcVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yvLLclFuEeWFqsbjn0GMrw" points="[1380, 340, -643984, -643984]$[1380, 160, -643984, -643984]$[1220, 160, -643984, -643984]$[1220, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvvQkVFuEeWFqsbjn0GMrw" id="(0.4988662131519274,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvvQklFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yxQPEFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x9FnMFFuEeWFqsbjn0GMrw" target="_yvxoYFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yxQPEVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yxQPElFuEeWFqsbjn0GMrw" points="[1380, 340, -643984, -643984]$[1380, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvv3oFFuEeWFqsbjn0GMrw" id="(0.4988662131519274,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvv3oVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_yzVSsFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_x9FnMFFuEeWFqsbjn0GMrw" target="_yx6WYFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_yzVSsVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_yzVSslFuEeWFqsbjn0GMrw" points="[1380, 340, -643984, -643984]$[1380, 160, -643984, -643984]$[1540, 160, -643984, -643984]$[1540, 90, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvupgFFuEeWFqsbjn0GMrw" id="(0.4988662131519274,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_zvvQkFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_A03B4Jd6EeWtVfEGUY_Rog" type="Generalization_Edge" source="_x4EkUFFuEeWFqsbjn0GMrw" target="_x9FnMFFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_A05eIJd6EeWtVfEGUY_Rog" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_UAkjwFCbEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_A05eIZd6EeWtVfEGUY_Rog" x="1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_A03B4Zd6EeWtVfEGUY_Rog"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous._generalization.SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_A03B4pd6EeWtVfEGUY_Rog" points="[1220, 580, -643984, -643984]$[1220, 500, -643984, -643984]$[1380, 500, -643984, -643984]$[1380, 443, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B7R3YJd6EeWtVfEGUY_Rog" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B7XW8Jd6EeWtVfEGUY_Rog" id="(0.4988662131519274,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_D_oUwJd6EeWtVfEGUY_Rog" type="Generalization_Edge" source="_x7HRQFFuEeWFqsbjn0GMrw" target="_x9FnMFFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_D_pi4Jd6EeWtVfEGUY_Rog" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_UAx_IFCbEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_D_pi4Zd6EeWtVfEGUY_Rog" x="-1" y="58"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_D_oUwZd6EeWtVfEGUY_Rog"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete._generalization.SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D_oUwpd6EeWtVfEGUY_Rog" points="[1540, 580, -643984, -643984]$[1540, 500, -643984, -643984]$[1380, 500, -643984, -643984]$[1380, 443, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ERkZUJd6EeWtVfEGUY_Rog" id="(0.5042016806722689,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ERkZUZd6EeWtVfEGUY_Rog" id="(0.4988662131519274,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RAqAkFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_ygpAMFFuEeWFqsbjn0GMrw" target="_RApZg1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RAqAkVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RAqAlVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RAqAklCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RAqAk1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RAqAlFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RAwHNFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yjkYYFFuEeWFqsbjn0GMrw" target="_RAwHMFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RAwHNVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RAwHOVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RAwHNlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RAwHN1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RAwHOFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RA0_t1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yllKkFFuEeWFqsbjn0GMrw" target="_RA0_s1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RA0_uFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA0_vFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RA0_uVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA0_ulCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA0_u1CcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RA6fQFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_ym1u0FFuEeWFqsbjn0GMrw" target="_RA54M1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RA6fQVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA6fRVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RA6fQlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA6fQ1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA6fRFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RA_Xx1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yoWxwFFuEeWFqsbjn0GMrw" target="_RA_Xw1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RA_XyFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RA_XzFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RA_XyVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA_XylCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RA_Xy1CcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RBE3UVCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yp3NoFFuEeWFqsbjn0GMrw" target="_RBEQQ1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RBE3UlCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBE3VlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBE3U1CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBE3VFCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBE3VVCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RBNaNFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_ysRocFFuEeWFqsbjn0GMrw" target="_RBNaMFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RBNaNVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBNaOVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBNaNlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBNaN1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBNaOFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RBTg11CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yt3j4FFuEeWFqsbjn0GMrw" target="_RBTg01CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RBTg2FCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBTg3FCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBTg2VCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBTg2lCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBTg21CcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RBZAZ1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yvxoYFFuEeWFqsbjn0GMrw" target="_RBZAY1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RBZAaFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBZAbFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBZAaVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBZAalCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBZAa1CcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_RBfHBFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_yx6WYFFuEeWFqsbjn0GMrw" target="_RBfHAFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_RBfHBVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_RBfHCVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_RBfHBlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBfHB1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_RBfHCFCcEemsqfUA37D_yw"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_3aZkcFFuEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="Blocks" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_7t4L0FFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7t4y4FFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7t4y4VFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_aIt4YFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_aIt4YVE4EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7t4y4lFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7t4y41FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7t4y5FFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7t4y5VFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7t4y5lFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7t4y51FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7t4y6FFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7t4y6VFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7t4y6lFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7t4L0VFuEeWFqsbjn0GMrw" x="60" y="20" width="281"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7uBVwFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7uB80FFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7uB80VFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7uB80lFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7uB801FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uB81FFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uB81VFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7uB81lFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7uB811FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7uB82FFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uB82VFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uB82lFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uBVwVFuEeWFqsbjn0GMrw" x="400" y="20" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7uJ4oFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7uKfsFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7uKfsVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_YQVacFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_YQVacVE4EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7uKfslFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7uKfs1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uKftFFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uKftVFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7uKftlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_Y8Lz0FE4EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_EJdvcFIcEeWOVPwTUSkFAw"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y8Lz0VE4EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Y8jAMFE4EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_xfIGcFVsEeW77p7V_ZuW3Q"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y8jAMVE4EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Y88o0FE4EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_Um2qIGOPEeWsGaPkh2WVXg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Y88o0VE4EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7uKft1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7uKfuFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uKfuVFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uKfulFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uJ4oVFuEeWFqsbjn0GMrw" x="60" y="540" width="201"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7uR0cFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7uR0clFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7uR0c1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_WuWqUFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WuWqUVE4EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_WuvE0FE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.boundEnd"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_WuvE0VE4EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7uR0dFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7uR0dVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uR0dlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uR0d1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7uR0eFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7uR0eVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7uR0elFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uR0e1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uR0fFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uR0cVFuEeWFqsbjn0GMrw" x="420" y="740" width="241"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7ublcFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7ublclFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7ublc1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7ubldFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7ubldVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7ubldlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ubld1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7ubleFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7ubleVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7ublelFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uble1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ublfFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7ublcVFuEeWFqsbjn0GMrw" x="580" y="20" width="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7umkkFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7umkklFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7umkk1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_UQ8zwFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.connector"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_UQ8zwVE4EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7umklFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7umklVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7umkllFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7umkl1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7umkmFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7umkmVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7umkmlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7umkm1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7umknFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7umkkVFuEeWFqsbjn0GMrw" x="800" y="20" width="201"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7uyx0FFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7uyx0lFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7uyx01FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7uyx1FFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7uyx1VFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uyx1lFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uyx11FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7uyx2FFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7uyx2VFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7uyx2lFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7uyx21FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uyx3FFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7uyx0VFuEeWFqsbjn0GMrw" x="1740" y="40" width="721"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7u-YAFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7u-_EFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7u-_EVFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7u-_ElFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7u-_E1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7u-_FFFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u-_FVFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7u-_FlFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7u-_F1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7u-_GFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7u-_GVFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u-_GlFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7u-YAVFuEeWFqsbjn0GMrw" x="1100" y="540"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7vTvMFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7vTvMlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7vTvM1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7vTvNFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7vTvNVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7vTvNlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vTvN1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7vTvOFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7vTvOVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7vTvOlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7vTvO1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vTvPFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vTvMVFuEeWFqsbjn0GMrw" x="1120" y="20" width="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7vhxoFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7vhxolFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7vhxo1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_PcCTQFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PcCTQVE4EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_PcdKAFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_PcdKAVE4EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7vhxpFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7vhxpVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7viYsFFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7viYsVFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7viYslFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7viYs1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7viYtFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7viYtVFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7viYtlFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vhxoVFuEeWFqsbjn0GMrw" x="420" y="540" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7vyQUFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7vyQUlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7vyQU1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7vyQVFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7vyQVVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7vyQVlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vyQV1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7vyQWFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7vyQWVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7vyQWlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7vyQW1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vyQXFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7vyQUVFuEeWFqsbjn0GMrw" x="1320" y="540" width="141"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7wD9IFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7wD9IlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wD9I1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_Mz6acFE4EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.end"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Mz6acVE4EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wD9JFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wD9JVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wD9JlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wD9J1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wD9KFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wD9KVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wD9KlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wD9K1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wD9LFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wD9IVFuEeWFqsbjn0GMrw" x="3040" y="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7wYtQFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7wYtQlFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wZUUFFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wZUUVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wZUUlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wZUU1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wZUVFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wZUVVFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wZUVlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wZUV1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wZUWFFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wZUWVFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wYtQVFuEeWFqsbjn0GMrw" x="3220" y="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7wurgFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7wurglFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wurg1FuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wurhFFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wurhVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wurhlFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wurh1FuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7wuriFFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7wuriVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7wurilFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7wuri1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wurjFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7wurgVFuEeWFqsbjn0GMrw" x="940" y="540" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8aGYoFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8aHmwFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8aGYoVFuEeWFqsbjn0GMrw" x="220" y="-240" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8cHK0FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8cHK0lFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8cHK0VFuEeWFqsbjn0GMrw" x="1820" y="-240" width="141" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8dfq4FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8dgR8FFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8dfq4VFuEeWFqsbjn0GMrw" x="1380" y="-240" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8gPc4FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8gPc4lFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8gPc4VFuEeWFqsbjn0GMrw" x="740" y="280" width="145" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8iT5cFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8iT5clFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8iT5cVFuEeWFqsbjn0GMrw" x="60" y="-240" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8kEM8FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8kEM8lFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8kEM8VFuEeWFqsbjn0GMrw" x="400" y="-240" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8l9DUFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8l9qYFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8l9DUVFuEeWFqsbjn0GMrw" x="60" y="280" width="201" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8npscFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8npsclFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8npscVFuEeWFqsbjn0GMrw" x="600" y="-240" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8pZY4FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8pZY4lFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8pZY4VFuEeWFqsbjn0GMrw" x="800" y="-240" width="201" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8rBJgFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8rBwkFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DirectedRelationship"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8rBJgVFuEeWFqsbjn0GMrw" x="2240" y="-240" width="201" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8snsAFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8snsAlFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8snsAVFuEeWFqsbjn0GMrw" x="1100" y="280" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8uU8MFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8uU8MlFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8uU8MVFuEeWFqsbjn0GMrw" x="1120" y="-240" width="161" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8v-iAFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8v_JEFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8v-iAVFuEeWFqsbjn0GMrw" x="420" y="280" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8xuOcFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8xuOclFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8xuOcVFuEeWFqsbjn0GMrw" x="1320" y="280" width="141" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8zl2sFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8zl2slFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8zl2sVFuEeWFqsbjn0GMrw" x="3040" y="-240" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_81y2IFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_81zdMFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_81y2IVFuEeWFqsbjn0GMrw" x="3220" y="-240" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_84Df8FFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_84EHAFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_84Df8VFuEeWFqsbjn0GMrw" x="940" y="280" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pCK401CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pCK41FCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCLf4FCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCK41VCcEemsqfUA37D_yw" x="400" y="300"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pCTbs1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pCTbtFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCUCwFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCTbtVCcEemsqfUA37D_yw" x="1779" y="300"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pCawcFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pCawcVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCawc1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCawclCcEemsqfUA37D_yw" x="1416" y="300"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pCiFMFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pCiFMVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCiFM1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCiFMlCcEemsqfUA37D_yw" x="2319" y="30"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pCsdQ1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pCsdRFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCtEUFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCsdRVCcEemsqfUA37D_yw" x="230" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pCx801CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pCx81FCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCyj4FCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pCx81VCcEemsqfUA37D_yw" x="576" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pC4qgFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pC4qgVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pC4qg1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pC4qglCcEemsqfUA37D_yw" x="747" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pC9jA1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pC9jBFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pC9jBlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pC9jBVCcEemsqfUA37D_yw" x="940" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pDDpo1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pDDppFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDDpplCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDDppVCcEemsqfUA37D_yw" x="1156" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pDLlc1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pDLldFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDLldlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DirectedRelationship"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDLldVCcEemsqfUA37D_yw" x="2040" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pDRsEFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pDRsEVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDRsE1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDRsElCcEemsqfUA37D_yw" x="2601" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pDXLo1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pDXLpFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDXLplCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDXLpVCcEemsqfUA37D_yw" x="1416" y="730"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pDd5UFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pDd5UVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDd5U1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDd5UlCcEemsqfUA37D_yw" x="2797" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pDknAFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pDknAVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDknA1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDknAlCcEemsqfUA37D_yw" x="2997" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pDsi0FCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pDsi0VCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDsi01CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDsi0lCcEemsqfUA37D_yw" x="3195" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pDyCY1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pDyCZFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDyCZlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pDyCZVCcEemsqfUA37D_yw" x="3392" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_pD4wE1CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_pD4wFFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pD4wFlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_pD4wFVCcEemsqfUA37D_yw" x="2339" y="460"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_3aZkcVFuEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_3aZkclFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9FLQgEdOEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+ </styles>
+ <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_p31VgFCcEemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Blocks"/>
+ <edges xmi:type="notation:Connector" xmi:id="_8bKIkFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_7t4L0FFuEeWFqsbjn0GMrw" target="_8aGYoFFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8bKvoFFuEeWFqsbjn0GMrw" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BKHJMFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8bKvoVFuEeWFqsbjn0GMrw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8bKvolFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BKgKwFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8bKvo1FuEeWFqsbjn0GMrw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8bKvpFFuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BNl7AFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8bLWsFFuEeWFqsbjn0GMrw" x="-25" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8bLWsVFuEeWFqsbjn0GMrw" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BN9ucFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8bLWslFuEeWFqsbjn0GMrw" x="26" y="-20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8bLWs1FuEeWFqsbjn0GMrw" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOXXEFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8bLWtFFuEeWFqsbjn0GMrw" x="26" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8bLWtVFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOtVUFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8bLWtlFuEeWFqsbjn0GMrw" x="-25" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8bKIkVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8bKIklFuEeWFqsbjn0GMrw" points="[280, 20, -643984, -643984]$[280, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9f5jEFFuEeWFqsbjn0GMrw" id="(0.7829181494661922,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9f5jEVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8eS8IFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_7uyx0FFuEeWFqsbjn0GMrw" target="_8dfq4FFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8eS8I1FuEeWFqsbjn0GMrw" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Az4agFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8eS8JFFuEeWFqsbjn0GMrw" x="2" y="57"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8eTjMFFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A0QN8FCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8eTjMVFuEeWFqsbjn0GMrw" x="1" y="17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8eTjMlFuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A0oBYFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8eTjM1FuEeWFqsbjn0GMrw" x="-246" y="175"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8eTjNFFuEeWFqsbjn0GMrw" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A0-msFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8eTjNVFuEeWFqsbjn0GMrw" x="101" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8eTjNlFuEeWFqsbjn0GMrw" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A1Uk8FCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8eTjN1FuEeWFqsbjn0GMrw" x="16" y="-7"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8eUKQFFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A1sYYFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8eUKQVFuEeWFqsbjn0GMrw" x="-266" y="284"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8eS8IVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8eS8IlFuEeWFqsbjn0GMrw" points="[1840, 80, -643984, -643984]$[1440, 80, -643984, -643984]$[1440, -219, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gLP4lFuEeWFqsbjn0GMrw" id="(0.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gL28FFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8fM7EFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_7uyx0FFuEeWFqsbjn0GMrw" target="_8dfq4FFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fNiIFFuEeWFqsbjn0GMrw" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A2CWoFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiIVFuEeWFqsbjn0GMrw" x="-1" y="58"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fNiIlFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A2aKEFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiI1FuEeWFqsbjn0GMrw" x="-2" y="17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fNiJFFuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A222AFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiJVFuEeWFqsbjn0GMrw" x="-186" y="155"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fNiJlFuEeWFqsbjn0GMrw" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A5sHkFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiJ1FuEeWFqsbjn0GMrw" x="83" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fNiKFFuEeWFqsbjn0GMrw" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A6D7AFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fNiKVFuEeWFqsbjn0GMrw" x="16" y="13"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fNiKlFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_A6agUFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fOJMFFuEeWFqsbjn0GMrw" x="-206" y="184"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8fM7EVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8fM7ElFuEeWFqsbjn0GMrw" points="[1740, 40, -643984, -643984]$[1480, 40, -643984, -643984]$[1480, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gLP4FFuEeWFqsbjn0GMrw" id="(0.0,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gLP4VFuEeWFqsbjn0GMrw" id="(0.8264462809917356,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8fufgFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_8dfq4FFuEeWFqsbjn0GMrw" target="_7vTvMFFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fufg1FuEeWFqsbjn0GMrw" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_Aw8bQFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGkFFuEeWFqsbjn0GMrw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fvGkVFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AxtQQFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGklFuEeWFqsbjn0GMrw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fvGk1FuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AyM_gFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGlFFuEeWFqsbjn0GMrw" x="-33" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fvGlVFuEeWFqsbjn0GMrw" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AyqSgFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGllFuEeWFqsbjn0GMrw" x="26" y="77"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fvGl1FuEeWFqsbjn0GMrw" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AzIMkFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGmFFuEeWFqsbjn0GMrw" x="33" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8fvGmVFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_AzgnEFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8fvGmlFuEeWFqsbjn0GMrw" x="-33" y="-20"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8fufgVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8fufglFuEeWFqsbjn0GMrw" points="[1400, -179, -643984, -643984]$[1400, 80, -643984, -643984]$[1281, 80, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gKo0FFuEeWFqsbjn0GMrw" id="(0.1652892561983471,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gKo0VFuEeWFqsbjn0GMrw" id="(1.0,0.6)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8hHmoFFuEeWFqsbjn0GMrw" type="Association_Edge" source="_8gPc4FFuEeWFqsbjn0GMrw" target="_7wurgFFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hHmo1FuEeWFqsbjn0GMrw" visible="false" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPNEkFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINsFFuEeWFqsbjn0GMrw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hINsVFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPk4AFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINslFuEeWFqsbjn0GMrw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hINs1FuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UZpkIlE1EemsqfUA37D_yw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UZpkI1E1EemsqfUA37D_yw" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BP62QFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINtFFuEeWFqsbjn0GMrw" x="-39" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hINtVFuEeWFqsbjn0GMrw" visible="false" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BQQ0gFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINtlFuEeWFqsbjn0GMrw" x="41" y="-19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hINt1FuEeWFqsbjn0GMrw" visible="false" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BTfHoFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINuFFuEeWFqsbjn0GMrw" x="41" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hINuVFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UZo9EFE1EemsqfUA37D_yw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UZo9EVE1EemsqfUA37D_yw" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BT1s8FCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hINulFuEeWFqsbjn0GMrw" x="-41" y="-18"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8hHmoVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8hHmolFuEeWFqsbjn0GMrw" points="[780, 341, -643984, -643984]$[780, 640, -643984, -643984]$[940, 640, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fxnQFFuEeWFqsbjn0GMrw" id="(0.27586206896551724,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fxnQVFuEeWFqsbjn0GMrw" id="(0.0,0.8)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8hwf0FFuEeWFqsbjn0GMrw" type="Association_Edge" source="_8gPc4FFuEeWFqsbjn0GMrw" target="_7wurgFFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hxG4FFuEeWFqsbjn0GMrw" visible="false" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BUM5UFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG4VFuEeWFqsbjn0GMrw" x="-1" y="58"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hxG4lFuEeWFqsbjn0GMrw" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BUkFsFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG41FuEeWFqsbjn0GMrw" x="-1" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hxG5FFuEeWFqsbjn0GMrw" type="Association_TargetRoleLabel">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UZo9ElE1EemsqfUA37D_yw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UZo9E1E1EemsqfUA37D_yw" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BU5c4FCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG5VFuEeWFqsbjn0GMrw" x="-39" y="17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hxG5lFuEeWFqsbjn0GMrw" visible="false" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BVQCMFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG51FuEeWFqsbjn0GMrw" x="46" y="-34"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hxG6FFuEeWFqsbjn0GMrw" visible="false" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BVmAcFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxG6VFuEeWFqsbjn0GMrw" x="38" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8hxt8FFuEeWFqsbjn0GMrw" type="Association_TargetMultiplicityLabel">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_UZpkIFE1EemsqfUA37D_yw" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_UZpkIVE1EemsqfUA37D_yw" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BV7-sFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8hxt8VFuEeWFqsbjn0GMrw" x="-39" y="-17"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8hwf0VFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8hwf0lFuEeWFqsbjn0GMrw" points="[860, 341, -643984, -643984]$[860, 560, -643984, -643984]$[940, 560, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fyOUFFuEeWFqsbjn0GMrw" id="(0.8275862068965517,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fyOUVFuEeWFqsbjn0GMrw" id="(0.0,0.16806722689075632)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8jgzUFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7t4L0FFuEeWFqsbjn0GMrw" target="_8iT5cFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8jgzUVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8jgzUlFuEeWFqsbjn0GMrw" points="[120, 20, -643984, -643984]$[120, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gSkoFFuEeWFqsbjn0GMrw" id="(0.21352313167259787,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gSkoVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8lPRoFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7uBVwFFuEeWFqsbjn0GMrw" target="_8kEM8FFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8lPRoVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8lPRolFuEeWFqsbjn0GMrw" points="[460, 20, -643984, -643984]$[460, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gYrQFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gZSUFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8nFrwFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7uJ4oFFuEeWFqsbjn0GMrw" target="_8l9DUFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8nFrwVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8nFrwlFuEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fjk0FFuEeWFqsbjn0GMrw" id="(0.4975124378109453,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fjk0VFuEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8o5poFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7ublcFFuEeWFqsbjn0GMrw" target="_8npscFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8o5poVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8o5polFuEeWFqsbjn0GMrw" points="[660, 40, -643984, -643984]$[660, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gicQFFuEeWFqsbjn0GMrw" id="(0.4968944099378882,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gicQVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8qdI0FFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7umkkFFuEeWFqsbjn0GMrw" target="_8pZY4FFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8qdI0VFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8qdI0lFuEeWFqsbjn0GMrw" points="[900, 20, -643984, -643984]$[900, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9goi4FFuEeWFqsbjn0GMrw" id="(0.4975124378109453,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9goi4VFuEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8sFggFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7uyx0FFuEeWFqsbjn0GMrw" target="_8rBJgFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8sFggVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8sFgglFuEeWFqsbjn0GMrw" points="[2380, 40, -643984, -643984]$[2380, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9h4gEFFuEeWFqsbjn0GMrw" id="(0.8876560332871013,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9h5HIFFuEeWFqsbjn0GMrw" id="(0.6965174129353234,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8tyJoFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7u-YAFFuEeWFqsbjn0GMrw" target="_8snsAFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8tyJoVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8tyJolFuEeWFqsbjn0GMrw" points="[1160, 540, -643984, -643984]$[1160, 341, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gv3oFFuEeWFqsbjn0GMrw" id="(0.5217391304347826,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9gv3oVFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8vbIYFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7vTvMFFuEeWFqsbjn0GMrw" target="_8uU8MFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8vbIYVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8vbIYlFuEeWFqsbjn0GMrw" points="[1200, 20, -643984, -643984]$[1200, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9g62wFFuEeWFqsbjn0GMrw" id="(0.4968944099378882,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9g7d0FFuEeWFqsbjn0GMrw" id="(0.4968944099378882,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8xF8UFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7vhxoFFuEeWFqsbjn0GMrw" target="_8v-iAFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8xF8UVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8xF8UlFuEeWFqsbjn0GMrw" points="[480, 540, -643984, -643984]$[480, 341, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hEAsFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hEnwFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8y9kkFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7vyQUFFuEeWFqsbjn0GMrw" target="_8xuOcFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_8y9kkVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8y9kklFuEeWFqsbjn0GMrw" points="[1380, 540, -643984, -643984]$[1380, 341, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hL8gFFuEeWFqsbjn0GMrw" id="(0.425531914893617,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hL8gVFuEeWFqsbjn0GMrw" id="(0.425531914893617,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_81GSkFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7wD9IFFuEeWFqsbjn0GMrw" target="_8zl2sFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_81GSkVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_81GSklFuEeWFqsbjn0GMrw" points="[3100, 20, -643984, -643984]$[3100, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hRcEFFuEeWFqsbjn0GMrw" id="(0.5263157894736842,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hSDIFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_83Z_sFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7wYtQFFuEeWFqsbjn0GMrw" target="_81y2IFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_83Z_sVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_83Z_slFuEeWFqsbjn0GMrw" points="[3280, 20, -643984, -643984]$[3280, -179, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hXisFFuEeWFqsbjn0GMrw" id="(0.48,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9hYJwFFuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_85VSUFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_7wurgFFuEeWFqsbjn0GMrw" target="_84Df8FFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_85VSUVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_85VSUlFuEeWFqsbjn0GMrw" points="[1000, 560, -643984, -643984]$[1000, 341, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fxnQlFuEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_9fxnQ1FuEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pCLf4VCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8aGYoFFuEeWFqsbjn0GMrw" target="_pCK401CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pCLf4lCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCLf5lCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCLf41CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCLf5FCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCLf5VCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pCUCwVCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8cHK0FFuEeWFqsbjn0GMrw" target="_pCTbs1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pCUCwlCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCUCxlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCUCw1CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCUCxFCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCUCxVCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pCawdFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8dfq4FFuEeWFqsbjn0GMrw" target="_pCawcFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pCawdVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCaweVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCawdlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCawd1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCaweFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pCiFNFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8gPc4FFuEeWFqsbjn0GMrw" target="_pCiFMFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pCiFNVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCiFOVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCiFNlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCiFN1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCiFOFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pCtEUVCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8iT5cFFuEeWFqsbjn0GMrw" target="_pCsdQ1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pCtEUlCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCtEVlCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCtEU1CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCtEVFCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCtEVVCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pCyj4VCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8kEM8FFuEeWFqsbjn0GMrw" target="_pCx801CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pCyj4lCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pCyj5lCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pCyj41CcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCyj5FCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pCyj5VCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pC4qhFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8l9DUFFuEeWFqsbjn0GMrw" target="_pC4qgFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pC4qhVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pC4qiVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pC4qhlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pC4qh1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pC4qiFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pC-KEFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8npscFFuEeWFqsbjn0GMrw" target="_pC9jA1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pC-KEVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pC-KFVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pC-KElCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pC-KE1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pC-KFFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pDEQsFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8pZY4FFuEeWFqsbjn0GMrw" target="_pDDpo1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pDEQsVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDEQtVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDEQslCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDEQs1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDEQtFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pDLld1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8rBJgFFuEeWFqsbjn0GMrw" target="_pDLlc1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pDLleFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDLlfFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DirectedRelationship"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDLleVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDLlelCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDLle1CcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pDRsFFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8snsAFFuEeWFqsbjn0GMrw" target="_pDRsEFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pDRsFVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDRsGVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDRsFlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDRsF1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDRsGFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pDXysFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8uU8MFFuEeWFqsbjn0GMrw" target="_pDXLo1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pDXysVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDXytVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDXyslCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDXys1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDXytFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pDd5VFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8v-iAFFuEeWFqsbjn0GMrw" target="_pDd5UFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pDd5VVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDd5WVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDd5VlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDd5V1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDd5WFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pDknBFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8xuOcFFuEeWFqsbjn0GMrw" target="_pDknAFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pDknBVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDknCVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDknBlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDknB1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDknCFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pDsi1FCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_8zl2sFFuEeWFqsbjn0GMrw" target="_pDsi0FCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pDsi1VCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDsi2VCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDsi1lCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDsi11CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDsi2FCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pDyCZ1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_81y2IFFuEeWFqsbjn0GMrw" target="_pDyCY1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pDyCaFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pDyCbFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pDyCaVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDyCalCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pDyCa1CcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_pD4wF1CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_84Df8FFuEeWFqsbjn0GMrw" target="_pD4wE1CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_pD5XIFCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_pD5XJFCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_pD5XIVCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pD5XIlCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_pD5XI1CcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_6dVSsFCdEemsqfUA37D_yw" type="Generalization_Edge" source="_7uR0cFFuEeWFqsbjn0GMrw" target="_7vhxoFFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6dVSs1CdEemsqfUA37D_yw" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_7p2JIFCdEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6dVStFCdEemsqfUA37D_yw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_6dVSsVCdEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6dVSslCdEemsqfUA37D_yw" points="[480, 740, -643984, -643984]$[480, 640, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7qm-IFCdEemsqfUA37D_yw" id="(0.24896265560165975,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7qm-IVCdEemsqfUA37D_yw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_cAWg8FCfEemsqfUA37D_yw" type="Association_Edge" source="_8cHK0FFuEeWFqsbjn0GMrw" target="_7uyx0FFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_cAWg81CfEemsqfUA37D_yw" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dQAyAFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg9FCfEemsqfUA37D_yw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cAWg9VCfEemsqfUA37D_yw" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dQZzkFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg9lCfEemsqfUA37D_yw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cAWg91CfEemsqfUA37D_yw" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dQw_8FCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg-FCfEemsqfUA37D_yw" x="-13" y="105"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cAWg-VCfEemsqfUA37D_yw" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dRG-MFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg-lCfEemsqfUA37D_yw" x="26" y="-65"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cAWg-1CfEemsqfUA37D_yw" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dRdjgFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg_FCfEemsqfUA37D_yw" x="26" y="9"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cAWg_VCfEemsqfUA37D_yw" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_dRy6sFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cAWg_lCfEemsqfUA37D_yw" x="-13" y="-4"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_cAWg8VCfEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cAWg8lCfEemsqfUA37D_yw" points="[1940, -179, -643984, -643984]$[1940, 40, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dPf0oFCfEemsqfUA37D_yw" id="(0.851063829787234,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_dPf0oVCfEemsqfUA37D_yw" id="(0.27739251040221913,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_cA894FCfEemsqfUA37D_yw" type="Association_Edge" source="_8cHK0FFuEeWFqsbjn0GMrw" target="_7uyx0FFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_cA8941CfEemsqfUA37D_yw" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cnrmsFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cA895FCfEemsqfUA37D_yw" y="60"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cA895VCfEemsqfUA37D_yw" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_coA94FCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cA895lCfEemsqfUA37D_yw" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cA8951CfEemsqfUA37D_yw" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_coXjMFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cA896FCfEemsqfUA37D_yw" x="-13" y="-115"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cA896VCfEemsqfUA37D_yw" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_couIgFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cA896lCfEemsqfUA37D_yw" x="26" y="57"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cA8961CfEemsqfUA37D_yw" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cpFU4FCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cA897FCfEemsqfUA37D_yw" x="26" y="-11"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_cA897VCfEemsqfUA37D_yw" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_cpchQFCfEemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cA897lCfEemsqfUA37D_yw" x="-13" y="16"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_cA894VCfEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_cA894lCfEemsqfUA37D_yw" points="[1840, -179, -643984, -643984]$[1840, 40, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cnCGcFCfEemsqfUA37D_yw" id="(0.14184397163120568,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_cnCGcVCfEemsqfUA37D_yw" id="(0.13869625520110956,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_phxGAFE4EemsqfUA37D_yw" type="Generalization_Edge" source="_7vyQUFFuEeWFqsbjn0GMrw" target="_7vTvMFFuEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_phxGA1E4EemsqfUA37D_yw" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_qltPQFE4EemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_phxGBFE4EemsqfUA37D_yw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_phxGAVE4EemsqfUA37D_yw"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_phxGAlE4EemsqfUA37D_yw" points="[1320, 600, -643984, -643984]$[1260, 600, -643984, -643984]$[1260, 120, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qlRKYFE4EemsqfUA37D_yw" id="(0.0,0.6)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_qlRKYVE4EemsqfUA37D_yw" id="(0.8695652173913043,1.0)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_4nr28FFuEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="Allocations" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_5CJlYFFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5CKMcFFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5CKzgFFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5CKzgVFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5CKzglFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5CKzg1FuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5CKzhFFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5CKzhVFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_f56T0FCcEemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_f56T0VCcEemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_f6F6AFCcEemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_f6F6AVCcEemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5CKzhlFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5CKzh1FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5CKziFFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5CKziVFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5CJlYVFuEeWFqsbjn0GMrw" x="40" y="160" width="441"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5ChY0FFuEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5Ch_4FFuEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5Ch_4VFuEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5Ch_4lFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Ch_41FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Ch_5FFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Ch_5VFuEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5Ch_5lFuEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5Ch_51FuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5Ch_6FFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5Ch_6VFuEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Ch_6lFuEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ChY0VFuEeWFqsbjn0GMrw" x="560" y="160" width="438" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5ZEQkFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5ZE3oFFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5ZEQkVFuEeWFqsbjn0GMrw" x="560" y="60" width="444"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5Z-PgFFuEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5Z-PglFuEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5Z-PgVFuEeWFqsbjn0GMrw" x="40" y="60" width="441"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Rw1gUFCcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Rw1gUVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Rw1gU1CcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rw1gUlCcEemsqfUA37D_yw" x="417" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Rw6_41CcEemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Rw6_5FCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Rw6_5lCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Rw6_5VCcEemsqfUA37D_yw" x="230" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0p6fIFE4EemsqfUA37D_yw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0p6fIlE4EemsqfUA37D_yw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0p7GMFE4EemsqfUA37D_yw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0p7GMVE4EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0p7GMlE4EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0p7GM1E4EemsqfUA37D_yw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0p7GNFE4EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0p7GNVE4EemsqfUA37D_yw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0p7GNlE4EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0p7GN1E4EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0p7GOFE4EemsqfUA37D_yw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0p7GOVE4EemsqfUA37D_yw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0p6fIVE4EemsqfUA37D_yw" x="-180" y="60"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_4nr28VFuEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_4nr28lFuEeWFqsbjn0GMrw"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_7iqU4EdOEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+ </styles>
+ <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_UJq_8FCcEemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Allocations"/>
+ <edges xmi:type="notation:Connector" xmi:id="_5Z3h0FFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_5ChY0FFuEeWFqsbjn0GMrw" target="_5ZEQkFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_5Z3h0VFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5Z3h0lFuEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_57mV4FFuEeWFqsbjn0GMrw" id="(0.502283105022831,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_57m88FFuEeWFqsbjn0GMrw" id="(0.4954954954954955,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5aaUYFFuEeWFqsbjn0GMrw" type="Extension_Edge" source="_5CJlYFFuEeWFqsbjn0GMrw" target="_5Z-PgFFuEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_5aaUYVFuEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5aaUYlFuEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_57Ib0FFuEeWFqsbjn0GMrw" id="(0.4988662131519274,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_57JC4FFuEeWFqsbjn0GMrw" id="(0.4988662131519274,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Rw1gVFCcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_5ZEQkFFuEeWFqsbjn0GMrw" target="_Rw1gUFCcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Rw1gVVCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Rw1gWVCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rw1gVlCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rw1gV1CcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rw1gWFCcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Rw6_51CcEemsqfUA37D_yw" type="StereotypeCommentLink" source="_5Z-PgFFuEeWFqsbjn0GMrw" target="_Rw6_41CcEemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Rw6_6FCcEemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Rw6_7FCcEemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Rw6_6VCcEemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rw6_6lCcEemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Rw6_61CcEemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_0qVV4FE4EemsqfUA37D_yw" type="Generalization_Edge" source="_5CJlYFFuEeWFqsbjn0GMrw" target="_0p6fIFE4EemsqfUA37D_yw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0qVV41E4EemsqfUA37D_yw" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_1f0MYFE4EemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0qVV5FE4EemsqfUA37D_yw" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0qVV4VE4EemsqfUA37D_yw"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0qVV4lE4EemsqfUA37D_yw" points="[40, 220, -643984, -643984]$[-80, 220, -643984, -643984]$[-80, 160, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1f_LgFE4EemsqfUA37D_yw" id="(0.0,0.5042016806722689)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_1f_LgVE4EemsqfUA37D_yw" id="(0.5208333333333334,1.0)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_ATWiIFFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="ConstraintBlocks" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_AjkvcFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ajl9kFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Ajl9kVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Ajl9klFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ajl9k1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ajl9lFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ajl9lVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Ajl9llFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_i0vUsFE1EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_0QdHgACzEeabH6-I0dvpUQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_i0vUsVE1EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Ajl9l1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Ajl9mFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Ajl9mVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ajl9mlFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AjlWgFFvEeWFqsbjn0GMrw" x="280" y="240" width="201"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_AyhxcFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AyiYgFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_AyhxcVFvEeWFqsbjn0GMrw" x="281" y="83" width="121" height="58"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_b2-RUFE1EemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_b2-RUVE1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_b2-RU1E1EemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_b2-RUlE1EemsqfUA37D_yw" x="481" y="83"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_exYM8FE1EemsqfUA37D_yw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_exY0AFE1EemsqfUA37D_yw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_exY0AVE1EemsqfUA37D_yw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_exY0AlE1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_exY0A1E1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_exY0BFE1EemsqfUA37D_yw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exY0BVE1EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_exY0BlE1EemsqfUA37D_yw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_exY0B1E1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_exY0CFE1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_exY0CVE1EemsqfUA37D_yw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exY0ClE1EemsqfUA37D_yw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_exYM8VE1EemsqfUA37D_yw" x="520" y="80"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_ATWiIVFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_ATWiIlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_Cy9SsEdPEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+ </styles>
+ <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_hAbecFE1EemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Azk6UFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_AjkvcFFvEeWFqsbjn0GMrw" target="_AyhxcFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Azk6UVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Azk6UlFvEeWFqsbjn0GMrw" points="[-53, -34, 406, 257]$[-459, -291, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dd2CwEdPEemwxZBwu1AUww" id="(0.29850746268656714,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dd2p0EdPEemwxZBwu1AUww" id="(0.48760330578512395,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_b2-RVFE1EemsqfUA37D_yw" type="StereotypeCommentLink" source="_AyhxcFFvEeWFqsbjn0GMrw" target="_b2-RUFE1EemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_b2-RVVE1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_b2-RWVE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_b2-RVlE1EemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b2-RV1E1EemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_b2-RWFE1EemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_exp5wFE1EemsqfUA37D_yw" type="Generalization_Edge" source="_AjkvcFFvEeWFqsbjn0GMrw" target="_exYM8FE1EemsqfUA37D_yw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_exp5w1E1EemsqfUA37D_yw" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_fLcSwFE1EemsqfUA37D_yw" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_exp5xFE1EemsqfUA37D_yw" y="59"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_exp5wVE1EemsqfUA37D_yw"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_exp5wlE1EemsqfUA37D_yw" points="[401, 280, -643984, -643984]$[560, 280, -643984, -643984]$[560, 180, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fLn48FE1EemsqfUA37D_yw" id="(1.0,0.3883495145631068)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_fLogAFE1EemsqfUA37D_yw" id="(0.4,1.0)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_CMq0MFFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="DeprecatedElements" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_C6zskFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_C606sFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_C606sVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_rv__gFE1EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rv__gVE1EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_sXfdUFE1EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.isAtomic"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_sXgEYFE1EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_C606slFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_C606s1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_C606tFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C606tVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_C606tlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_svTgYFE1EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_47RiUFFjEeWDrM-hgr_-Kg"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_svTgYVE1EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_C606t1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_C606uFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_C606uVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C606ulFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C6zskVFvEeWFqsbjn0GMrw" x="20" y="280" width="241" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_C7HOkFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_C7H1oVFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C7H1oFFvEeWFqsbjn0GMrw" x="20" y="100" width="241" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_C8dSYFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_C8d5cFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_C8d5cVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_C8d5clFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_C8d5c1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_C8d5dFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C8d5dVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_C8d5dlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_rDllcFE1EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_35VWsGa4EeW5JrLha2pcnA"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rDllcVE1EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_C8d5d1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_C8d5eFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_C8d5eVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C8d5elFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C8dSYVFvEeWFqsbjn0GMrw" x="380" y="280" width="241" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_C8xbcFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_C8yCgFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C8xbcVFvEeWFqsbjn0GMrw" x="380" y="100" width="241" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kVhK81E1EemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_kVhK9FE1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kVhK9lE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kVhK9VE1EemsqfUA37D_yw" x="230" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_kVnRk1E1EemsqfUA37D_yw" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_kVnRlFE1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kVnRllE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_kVnRlVE1EemsqfUA37D_yw" x="400" y="190"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_CMq0MVFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_CMq0MlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_l0q-cEdOEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+ </styles>
+ <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_mQ7HsFE1EemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements"/>
+ <edges xmi:type="notation:Connector" xmi:id="_C8S6UFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_C6zskFFvEeWFqsbjn0GMrw" target="_C7HOkFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_C8S6UVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_C8S6UlFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DmkmYFFvEeWFqsbjn0GMrw" id="(0.4979253112033195,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dml0gFFvEeWFqsbjn0GMrw" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_C9hCUFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_C8dSYFFvEeWFqsbjn0GMrw" target="_C8xbcFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_C9hCUVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_C9hCUlFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dm4vcFFvEeWFqsbjn0GMrw" id="(0.4979253112033195,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Dm5WgFFvEeWFqsbjn0GMrw" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kVhK91E1EemsqfUA37D_yw" type="StereotypeCommentLink" source="_C7HOkFFvEeWFqsbjn0GMrw" target="_kVhK81E1EemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_kVhK-FE1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kVhK_FE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kVhK-VE1EemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kVhK-lE1EemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kVhK-1E1EemsqfUA37D_yw"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_kVnRl1E1EemsqfUA37D_yw" type="StereotypeCommentLink" source="_C8xbcFFvEeWFqsbjn0GMrw" target="_kVnRk1E1EemsqfUA37D_yw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_kVnRmFE1EemsqfUA37D_yw"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_kVnRnFE1EemsqfUA37D_yw" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_kVnRmVE1EemsqfUA37D_yw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kVnRmlE1EemsqfUA37D_yw"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_kVnRm1E1EemsqfUA37D_yw"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_Ff3DQFFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="ModelElements" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_GEokQFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GEpLUFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GEpLUVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GEpLUlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GEpLU1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GEpLVFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GEpLVVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GEpyYFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GEpyYVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GEpyYlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GEpyY1FvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GEpyZFFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GEokQVFvEeWFqsbjn0GMrw" x="20" y="200" width="121" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GE2msFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GE3NwFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GE2msVFvEeWFqsbjn0GMrw" x="20" y="40" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GFnbsFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GFnbslFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GFnbs1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ImneJlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.criterion"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneJ1E5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImneKFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneKVE5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImneKlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.name"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneK1E5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImneLFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.orderedMember"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneLVE5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImneLlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.size"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneL1E5EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GFnbtFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GFnbtVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GFnbtlFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFnbt1FvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GFnbuFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ImneMFE5EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneMVE5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImoFMFE5EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.criterion_String"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFMVE5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImoFMlE5EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFM1E5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImoFNFE5EemsqfUA37D_yw" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.size_Integer"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFNVE5EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GFnbuVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GFnbulFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GFnbu1FvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFnbvFFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFnbsVFvEeWFqsbjn0GMrw" x="380" y="500" width="321" height="223"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GFvXgFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GFv-kFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GFvXgVFvEeWFqsbjn0GMrw" x="380" y="360" width="321" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GGOfsFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GGOfslFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GGOfs1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GGOftFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GGOftVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GGOftlFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGOft1FvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GGOfuFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GGOfuVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GGOfulFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GGOfu1FvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGOfvFFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGOfsVFvEeWFqsbjn0GMrw" x="200" y="200" width="121" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GGZe0FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GGaF4FFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GGZe0VFvEeWFqsbjn0GMrw" x="200" y="40" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GG-toFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GG-tolFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GG-to1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GG-tpFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GG-tpVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GG-tplFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GG-tp1FvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GG-tqFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GG-tqVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GG-tqlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GG-tq1FvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GG-trFFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GG-toVFvEeWFqsbjn0GMrw" x="380" y="200" width="121" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GHNXIFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GHNXIlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GHNXIVFvEeWFqsbjn0GMrw" x="380" y="40" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GH2QUFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GH23YFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GH23YVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GH23YlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GH23Y1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GH23ZFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GH23ZVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GH23ZlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GH23Z1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GH23aFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GH23aVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GH23alFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GH2QUVFvEeWFqsbjn0GMrw" x="560" y="200" width="121" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GIH9IFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GIIkMVFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GIIkMFFvEeWFqsbjn0GMrw" x="560" y="40" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GI2V4FFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GI288FFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GI288VFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ImneIlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concernList"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneI1E5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImneJFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concern"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneJVE5EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GI288lFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GI2881FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GI289FFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GI289VFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GI289lFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GI2891FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GI28-FFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GI28-VFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GI28-lFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GI2V4VFvEeWFqsbjn0GMrw" x="1000" y="200" width="201" height="120"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GJLGAFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GJLGAlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GJLGAVFvEeWFqsbjn0GMrw" x="1000" y="40" width="201" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GKAzgFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GKBakFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GKBakVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ImoFNlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.stakeholder"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFN1E5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImoFOFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.viewPoint"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImoFOVE5EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GKBaklFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GKBak1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GKBalFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKBalVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GKBallFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GKBal1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GKBamFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GKBamVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKBamlFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKAzgVFvEeWFqsbjn0GMrw" x="740" y="200" width="201" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GKYm8FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GKYm8lFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GKYm8VFvEeWFqsbjn0GMrw" x="740" y="40" width="201" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GLR-0FFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GLSl4FFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GLSl4VFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_ImmQAFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concern"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImmQAVE5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Imm3EFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3EVE5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Imm3ElE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3E1E5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Imm3FFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3FVE5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Imm3FlE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.presentation"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3F1E5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Imm3GFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.purpose"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Imm3GVE5EemsqfUA37D_yw"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ImneIFE5EemsqfUA37D_yw" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_ImneIVE5EemsqfUA37D_yw"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GLSl4lFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GLSl41FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GLSl5FFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GLSl5VFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_GLSl5lFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_GLSl51FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_GLSl6FFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_GLSl6VFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GLSl6lFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GLR-0VFvEeWFqsbjn0GMrw" x="20" y="500" width="221" height="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_GLtcoFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GLuDsFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_GLtcoVFvEeWFqsbjn0GMrw" x="20" y="360" width="221" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U7STcFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U7STcVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U7STc1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U7STclUYEemj4epezO_a1Q" x="220" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U9-bEFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U9-bEVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U9-bE1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U9-bElUYEemj4epezO_a1Q" x="580" y="360"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U-MdgFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U-MdgVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-Mdg1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U-MdglUYEemj4epezO_a1Q" x="400" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U-Z44FUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U-Z44VUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-af8FUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U-Z44lUYEemj4epezO_a1Q" x="580" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U-n7UFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U-n7UVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-n7U1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U-n7UlUYEemj4epezO_a1Q" x="760" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U-3L4FUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U-3L4VUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-3L41UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U-3L4lUYEemj4epezO_a1Q" x="1200" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U_L8AFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U_L8AVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U_L8A1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U_L8AlUYEemj4epezO_a1Q" x="940" y="40"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_U_k9kFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_U_k9kVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U_k9k1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_U_k9klUYEemj4epezO_a1Q" x="220" y="360"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_Ff3DQVFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Ff3DQlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_jCu3wEdNEemwxZBwu1AUww" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+ </styles>
+ <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_-SXAEFE4EemsqfUA37D_yw" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements"/>
+ <edges xmi:type="notation:Connector" xmi:id="_GFijMFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GEokQFFvEeWFqsbjn0GMrw" target="_GE2msFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GFijMVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GFijMlFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gkr9UFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GkskYFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GGHK8FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GFnbsFFvEeWFqsbjn0GMrw" target="_GFvXgFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GGHK8VFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GGHK8lFvEeWFqsbjn0GMrw" points="[540, 500, -643984, -643984]$[540, 421, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gk-4QFFvEeWFqsbjn0GMrw" id="(0.4984423676012461,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Gk-4QVFvEeWFqsbjn0GMrw" id="(0.4984423676012461,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GG1jsFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GGOfsFFvEeWFqsbjn0GMrw" target="_GGZe0FFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GG1jsVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GG1jslFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlPW8FFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlP-AFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GHrRMFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GG-toFFvEeWFqsbjn0GMrw" target="_GHNXIFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GHrRMVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GHrRMlFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlgcsFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlhDwFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GIqIoFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GH2QUFFvEeWFqsbjn0GMrw" target="_GIH9IFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GIqIoVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GIqIolFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlxicFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GlyJgFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GJwU0FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GI2V4FFvEeWFqsbjn0GMrw" target="_GJLGAFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GJwU0VFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GJwU0lFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmDPQFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmD2UFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GLBgIFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GKAzgFFvEeWFqsbjn0GMrw" target="_GKYm8FFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GLBgIVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GLBgIlFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmUVAFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmU8EFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GMjKIFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_GLR-0FFvEeWFqsbjn0GMrw" target="_GLtcoFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_GMjKIVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GMjKIlFvEeWFqsbjn0GMrw" points="[140, 500, -643984, -643984]$[140, 421, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmmB0FFvEeWFqsbjn0GMrw" id="(0.5429864253393665,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GmmB0VFvEeWFqsbjn0GMrw" id="(0.5429864253393665,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_U7S6gFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GE2msFFvEeWFqsbjn0GMrw" target="_U7STcFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_U7S6gVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U7S6hVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U7S6glUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U7S6g1UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U7S6hFUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_U9-bFFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GFvXgFFvEeWFqsbjn0GMrw" target="_U9-bEFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_U9-bFVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U9-bGVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U9-bFlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U9-bF1UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U9-bGFUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_U-MdhFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GGZe0FFvEeWFqsbjn0GMrw" target="_U-MdgFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_U-MdhVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-NEklUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U-MdhlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-NEkFUYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-NEkVUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_U-af8VUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GHNXIFFvEeWFqsbjn0GMrw" target="_U-Z44FUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_U-af8lUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-af9lUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U-af81UYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-af9FUYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-af9VUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_U-n7VFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GIH9IFFvEeWFqsbjn0GMrw" target="_U-n7UFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_U-n7VVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-n7WVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U-n7VlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-n7V1UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-n7WFUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_U-3L5FUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GJLGAFFvEeWFqsbjn0GMrw" target="_U-3L4FUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_U-3L5VUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U-3y8VUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U-3L5lUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-3L51UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U-3y8FUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_U_L8BFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GKYm8FFvEeWFqsbjn0GMrw" target="_U_L8AFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_U_L8BVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U_L8CVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U_L8BlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U_L8B1UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U_L8CFUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_U_k9lFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_GLtcoFFvEeWFqsbjn0GMrw" target="_U_k9kFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_U_k9lVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_U_k9mVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_U_k9llUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U_k9l1UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_U_k9mFUYEemj4epezO_a1Q"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_IXuBMFFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="PortsAndFlows" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_JlKEsFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JlKrwFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StructuralFeature"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JlKEsVFvEeWFqsbjn0GMrw" x="40" y="20" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Jn-IIFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Jn-vMFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Jn-vMVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Jn-vMlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Jn-vM1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Jn-vNFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn-vNVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Jn-vNlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Jn-vN1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Jn-vOFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Jn-vOVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn-vOlFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jn-IIVFvEeWFqsbjn0GMrw" x="40" y="720" width="261"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JoTfUFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JoUGYFFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AcceptEventAction"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JoTfUVFvEeWFqsbjn0GMrw" x="40" y="560" width="261" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JpJz4FFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JpKa8FFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JpKa8VFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JpKa8lFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JpKa81FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JpKa9FFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpKa9VFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JpKa9lFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JpKa91FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JpKa-FFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JpKa-VFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpKa-lFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpJz4VFvEeWFqsbjn0GMrw" x="40" y="260" width="301" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JpdV4FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JpdV4lFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ChangeEvent"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JpdV4VFvEeWFqsbjn0GMrw" x="220" y="20" width="116" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JqScUFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JqTDYFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JqTDYVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_JdSwsFUZEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.featureDirection"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_JdSwsVUZEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JqTDYlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JqTDY1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JqTDZFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JqTDZVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JqTDZlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JqTDZ1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JqTDaFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JqTDaVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JqTDalFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JqScUVFvEeWFqsbjn0GMrw" x="420" y="260" width="261" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JqnzgFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JqnzglFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JqnzgVFvEeWFqsbjn0GMrw" x="420" y="20" width="261" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Jrf9QFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Jrf9QlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Jrf9Q1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_QFo9sFUZEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QFo9sVUZEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Jrf9RFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Jrf9RVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Jrf9RlFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jrf9R1FvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Jrf9SFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_Qbt7YFUZEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_qCZNEFFkEeW4J9vCAdMr-Q"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Qbt7YVUZEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Jrf9SVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Jrf9SlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Jrf9S1FvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jrf9TFFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jrf9QVFvEeWFqsbjn0GMrw" x="780" y="260" width="221" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Jr5l4FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Jr6M8FFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jr5l4VFvEeWFqsbjn0GMrw" x="780" y="20" width="221" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JtYzoFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JtYzolFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JtYzoVFvEeWFqsbjn0GMrw" x="1360" y="240" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JuY5MFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JuY5MlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JuY5M1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JuY5NFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JuY5NVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JuY5NlFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JuY5N1FvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JuZgQFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JuZgQVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JuZgQlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JuZgQ1FvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JuZgRFFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JuY5MVFvEeWFqsbjn0GMrw" x="1080" y="420" width="181"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Ju5PgFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ju5PglFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InvocationAction"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ju5PgVFvEeWFqsbjn0GMrw" x="1080" y="20" width="161" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Jv7xUFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Jv8YYFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Jv8YYVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_2iVGEFUZEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_2iVGEVUZEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Jv8YYlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Jv8YY1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Jv8YZFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv8YZVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Jv8YZlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Jv8YZ1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_Jv8YaFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_Jv8YaVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv8YalFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jv7xUVFvEeWFqsbjn0GMrw" x="400" y="720" width="201"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Jwd80FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Jwd80lFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Jwd80VFvEeWFqsbjn0GMrw" x="400" y="560" width="201" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JxmlQFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JxmlQlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JxmlQ1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JxmlRFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JxmlRVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JxmlRlFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxmlR1FvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JxmlSFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JxmlSVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JxmlSlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JxmlS1FvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxmlTFFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JxmlQVFvEeWFqsbjn0GMrw" x="1160" y="720" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JyLNAFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JyLNAlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JyLNAVFvEeWFqsbjn0GMrw" x="1080" y="560" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_JzZVAFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_JzZVAlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JzZVA1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JzZVBFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JzZ8EFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JzZ8EVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JzZ8ElFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_JzZ8E1FvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_JzZ8FFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_JzZ8FVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_JzZ8FlFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JzZ8F1FvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_JzZVAVFvEeWFqsbjn0GMrw" x="1600" y="420" width="161"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_J0EDYFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_J0EDYlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Trigger"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_J0EDYVFvEeWFqsbjn0GMrw" x="1600" y="20" width="161" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_naVxIEWgEemFYp9WpPPBHQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_naVxIkWgEemFYp9WpPPBHQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_naVxI0WgEemFYp9WpPPBHQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_cYOakFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#_aRuVFEWgEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_cYOakVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_naVxJEWgEemFYp9WpPPBHQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_naVxJUWgEemFYp9WpPPBHQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_naVxJkWgEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_naVxJ0WgEemFYp9WpPPBHQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_naVxKEWgEemFYp9WpPPBHQ" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_naVxKUWgEemFYp9WpPPBHQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_naVxKkWgEemFYp9WpPPBHQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_naVxK0WgEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_naVxLEWgEemFYp9WpPPBHQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#_aRuVEEWgEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_naVxIUWgEemFYp9WpPPBHQ" x="700" y="720"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_q0SvgEWgEemFYp9WpPPBHQ" type="Class_MetaclassShape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_q0T9okWgEemFYp9WpPPBHQ" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0UksEWgEemFYp9WpPPBHQ" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0UksUWgEemFYp9WpPPBHQ" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0UkskWgEemFYp9WpPPBHQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0Uks0WgEemFYp9WpPPBHQ" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_q0UktEWgEemFYp9WpPPBHQ" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_q0T9oEWgEemFYp9WpPPBHQ" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_q0T9oUWgEemFYp9WpPPBHQ" x="700" y="560" width="241" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XcoO0FUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_XcoO0VUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XcoO01UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StructuralFeature"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XcoO0lUYEemj4epezO_a1Q" x="273" y="30"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XdLocFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_XdLocVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdLoc1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AcceptEventAction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XdLoclUYEemj4epezO_a1Q" x="520" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XdaR8FUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_XdaR8VUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xda5AFUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ChangeEvent"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XdaR8lUYEemj4epezO_a1Q" x="840" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Xdl4IFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Xdl4IVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xdl4I1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xdl4IlUYEemj4epezO_a1Q" x="1066" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XdvCEFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_XdvCEVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdvpIFUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XdvCElUYEemj4epezO_a1Q" x="1233" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Xd8dcFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Xd8dcVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xd8dc1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xd8dclUYEemj4epezO_a1Q" x="1755" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XeHck1UYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_XeHclFUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeHcllUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InvocationAction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XeHclVUYEemj4epezO_a1Q" x="1940" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XeTCwFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_XeTCwVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeTCw1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XeTCwlUYEemj4epezO_a1Q" x="2180" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XeeB4FUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_XeeB4VUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeeB41UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XeeB4lUYEemj4epezO_a1Q" x="2349" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_XepoE1UYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_XeqPIFUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeqPIlUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Trigger"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_XeqPIVUYEemj4epezO_a1Q" x="2520" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Xe0nMFUYEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Xe0nMVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xe0nM1UYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Xe0nMlUYEemj4epezO_a1Q" x="2720" y="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LUJkoFUZEemj4epezO_a1Q" type="Enumeration_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LUKLsFUZEemj4epezO_a1Q" type="Enumeration_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_LUKLsVUZEemj4epezO_a1Q" type="Enumeration_LiteralCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_MxYXoFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_provided"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MxYXoVUZEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Mx1DkFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_providedRequired"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Mx1DkVUZEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_MyRIcFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_required"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_MyRIcVUZEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_LUKLslUZEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LUKLs1UZEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LUKLtFUZEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LUKLtVUZEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LUJkoVUZEemj4epezO_a1Q" x="540" y="120"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_LVNUkFUZEemj4epezO_a1Q" type="Enumeration_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_LVNUklUZEemj4epezO_a1Q" type="Enumeration_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_LVNUk1UZEemj4epezO_a1Q" type="Enumeration_LiteralCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_rU6ycFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_in"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rU6ycVUZEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_rVT0AFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rVT0AVUZEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_rVrAYFUZEemj4epezO_a1Q" type="EnumerationLiteral_LiteralLabel">
+ <element xmi:type="uml:EnumerationLiteral" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_out"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rVrAYVUZEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_LVNUlFUZEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_LVNUlVUZEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_LVNUllUZEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LVNUl1UZEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Enumeration" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_LVNUkVUZEemj4epezO_a1Q" x="860" y="120" width="141"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mOcycFUaEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mOdZgFUaEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_mOdZgVUaEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mOdZglUaEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mOdZg1UaEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mOdZhFUaEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mOdZhVUaEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_mOdZhlUaEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mOdZh1UaEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_mOdZiFUaEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_mOdZiVUaEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mOdZilUaEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mOcycVUaEemj4epezO_a1Q" x="1360" y="20"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_0DXT0FUaEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0DX64FUaEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0DX64VUaEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0DX64lUaEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0DX641UaEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0DX65FUaEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0DX65VUaEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_0DX65lUaEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_0DX651UaEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_0DX66FUaEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_0DX66VUaEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0DX66lUaEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_0DXT0VUaEemj4epezO_a1Q" x="1000" y="720" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_64WxgFUhEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_64bC8FUhEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_64bC8VUhEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_64bC8lUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_64bC81UhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_64bC9FUhEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_64bC9VUhEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_64bC9lUhEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="__yNcYFUhEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_OvhwIEWTEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__yNcYVUhEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_64bC91UhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_64bC-FUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_64bC-VUhEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_64bC-lUhEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_64WxgVUhEemj4epezO_a1Q" x="60" y="1100" width="241" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_7W2EUFUhEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_7W2EUlUhEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7W2EU1UhEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_Yu_DAFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#_GTHnsEWXEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Yu_DAVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7W2EVFUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7W2EVVUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7W2EVlUhEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7W2EV1UhEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_7W2EWFUhEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_CQQMIFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_OAj0gEWXEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CQQMIVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CQp0wFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_f991QEWXEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CQp0wVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CRC2UFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_pSgiwEWXEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CRC2UVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CRapwFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_1hqnQEWXEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CRapwVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CR05cFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_9Og-MEWXEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CR05cVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CSQ-UFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_HkXXsEWYEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CSQ-UVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CSuRUFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_RN5dwEWYEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CSuRUVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_CTOAkFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_aE9lEEWYEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_CTOAkVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_7W2EWVUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_7W2EWlUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_7W2EW1UhEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7W2EXFUhEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#_Sr_TwEWVEemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_7W2EUVUhEemj4epezO_a1Q" x="-60" y="1320"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8-KncFUhEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8-KnclUhEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8-Knc1UhEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8-KndFUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8-KndVUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8-KndlUhEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8-Knd1UhEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8-KneFUhEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8-KneVUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8-KnelUhEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8-Kne1UhEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8-KnfFUhEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8-KncVUhEemj4epezO_a1Q" x="120" y="860" width="121"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_IXuBMVFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_IXuBMlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_qSSPoEWVEemFYp9WpPPBHQ" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+ </styles>
+ <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_466jgFUYEemj4epezO_a1Q" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows"/>
+ <edges xmi:type="notation:Connector" xmi:id="_Jo9moFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_Jn-IIFFvEeWFqsbjn0GMrw" target="_JoTfUFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Jo9moVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jo9molFvEeWFqsbjn0GMrw"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXNzwFFvEeWFqsbjn0GMrw" id="(0.45977011494252873,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KXOa0FFvEeWFqsbjn0GMrw" id="(0.45977011494252873,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_JqEZ4FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JpJz4FFvEeWFqsbjn0GMrw" target="_JpdV4FFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_JqEZ4VFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JqEZ4lFvEeWFqsbjn0GMrw" points="[280, 260, -643984, -643984]$[280, 179, -643984, -643984]$[280, 81, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVCpgFFvEeWFqsbjn0GMrw" id="(0.7973421926910299,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVDQkFFvEeWFqsbjn0GMrw" id="(0.5172413793103449,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_JrQFoFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JqScUFFvEeWFqsbjn0GMrw" target="_JqnzgFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_JrQFoVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JrQFolFvEeWFqsbjn0GMrw" points="[460, 260, -643984, -643984]$[460, 179, -643984, -643984]$[460, 81, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVOPsFFvEeWFqsbjn0GMrw" id="(0.1532567049808429,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVO2wFFvEeWFqsbjn0GMrw" id="(0.1532567049808429,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Jsqa4FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_Jrf9QFFvEeWFqsbjn0GMrw" target="_Jr5l4FFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Jsqa4VFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Jsqa4lFvEeWFqsbjn0GMrw" points="[840, 260, -643984, -643984]$[840, 179, -643984, -643984]$[840, 81, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVZ14FFvEeWFqsbjn0GMrw" id="(0.27149321266968324,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KVac8FFvEeWFqsbjn0GMrw" id="(0.27149321266968324,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_JvnBMFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JuY5MFFvEeWFqsbjn0GMrw" target="_Ju5PgFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_JvnBMVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JvnBMlFvEeWFqsbjn0GMrw" points="[1160, 260, -643984, -643984]$[1160, 81, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KW2nYFFvEeWFqsbjn0GMrw" id="(0.4419889502762431,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KW3OcFFvEeWFqsbjn0GMrw" id="(0.4968944099378882,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_JxPY4FFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_Jv7xUFFvEeWFqsbjn0GMrw" target="_Jwd80FFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_JxPY4VFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JxPY4lFvEeWFqsbjn0GMrw" points="[500, 780, -643984, -643984]$[500, 621, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KV-doFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KV_EsFFvEeWFqsbjn0GMrw" id="(0.4975124378109453,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_JzATcFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JxmlQFFvEeWFqsbjn0GMrw" target="_JyLNAFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_JzATcVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JzATclFvEeWFqsbjn0GMrw" points="[1220, 720, -643984, -643984]$[1220, 680, -643984, -643984]$[1120, 680, -643984, -643984]$[1120, 621, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KWKD0FFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KWKq4FFvEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_J07mEFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_JzZVAFFvEeWFqsbjn0GMrw" target="_J0EDYFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_J07mEVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_J07mElFvEeWFqsbjn0GMrw" points="[1680, 260, -643984, -643984]$[1680, 179, -643984, -643984]$[1680, 81, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KWc-wFFvEeWFqsbjn0GMrw" id="(0.4968944099378882,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_KWdl0FFvEeWFqsbjn0GMrw" id="(0.4968944099378882,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_rXQ5sEWgEemFYp9WpPPBHQ" type="Extension_Edge" source="_naVxIEWgEemFYp9WpPPBHQ" target="_q0SvgEWgEemFYp9WpPPBHQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_rXQ5sUWgEemFYp9WpPPBHQ"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#_rW2C8EWgEemFYp9WpPPBHQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_rXQ5skWgEemFYp9WpPPBHQ" points="[820, 780, -643984, -643984]$[820, 621, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rYS0cEWgEemFYp9WpPPBHQ" id="(0.49382716049382713,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_rYS0cUWgEemFYp9WpPPBHQ" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XcoO1FUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JlKEsFFvEeWFqsbjn0GMrw" target="_XcoO0FUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_XcoO1VUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xco14FUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StructuralFeature"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XcoO1lUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XcoO11UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XcoO2FUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XdLodFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JoTfUFFvEeWFqsbjn0GMrw" target="_XdLocFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_XdLodVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdLoeVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AcceptEventAction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XdLodlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdLod1UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdLoeFUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Xda5AVUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JpdV4FFvEeWFqsbjn0GMrw" target="_XdaR8FUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Xda5AlUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xda5BlUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ChangeEvent"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xda5A1UYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xda5BFUYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xda5BVUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Xdl4JFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JqnzgFFvEeWFqsbjn0GMrw" target="_Xdl4IFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Xdl4JVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdmfMlUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xdl4JlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdmfMFUYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdmfMVUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XdvpIVUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_Jr5l4FFvEeWFqsbjn0GMrw" target="_XdvCEFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_XdvpIlUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XdvpJlUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XdvpI1UYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdvpJFUYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XdvpJVUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Xd9EgFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JtYzoFFvEeWFqsbjn0GMrw" target="_Xd8dcFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Xd9EgVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xd9EhVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xd9EglUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xd9Eg1UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xd9EhFUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XeHcl1UYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_Ju5PgFFvEeWFqsbjn0GMrw" target="_XeHck1UYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_XeHcmFUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeIDolUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InvocationAction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XeHcmVUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeIDoFUYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeIDoVUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XeTCxFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_Jwd80FFvEeWFqsbjn0GMrw" target="_XeTCwFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_XeTp0FUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeTp1FUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XeTp0VUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeTp0lUYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeTp01UYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XeeB5FUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_JyLNAFFvEeWFqsbjn0GMrw" target="_XeeB4FUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_XeeB5VUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeeB6VUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XeeB5lUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeeB51UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeeB6FUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_XeqPI1UYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_J0EDYFFvEeWFqsbjn0GMrw" target="_XepoE1UYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_XeqPJFUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_XeqPKFUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Trigger"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_XeqPJVUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeqPJlUYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XeqPJ1UYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Xe1OQFUYEemj4epezO_a1Q" type="StereotypeCommentLink" source="_q0SvgEWgEemFYp9WpPPBHQ" target="_Xe0nMFUYEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Xe1OQVUYEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Xe1ORVUYEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Xe1OQlUYEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xe1OQ1UYEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Xe1ORFUYEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_lroEIFUYEemj4epezO_a1Q" type="Association_Edge" source="_JlKEsFFvEeWFqsbjn0GMrw" target="_JpJz4FFvEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_lrqgYFUYEemj4epezO_a1Q" visible="false" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xKSf0FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgYVUYEemj4epezO_a1Q" x="-1" y="58"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_lrqgYlUYEemj4epezO_a1Q" visible="false" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xKsIcFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgY1UYEemj4epezO_a1Q" x="-1" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_lrqgZFUYEemj4epezO_a1Q" type="Association_TargetRoleLabel">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fy0qEFUZEemj4epezO_a1Q" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fy0qEVUZEemj4epezO_a1Q" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xLHmQFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgZVUYEemj4epezO_a1Q" x="-33" y="68"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_lrqgZlUYEemj4epezO_a1Q" visible="false" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xLjrIFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgZ1UYEemj4epezO_a1Q" x="46" y="34"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_lrqgaFUYEemj4epezO_a1Q" visible="false" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xL960FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqgaVUYEemj4epezO_a1Q" x="40" y="17"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_lrqgalUYEemj4epezO_a1Q" type="Association_TargetMultiplicityLabel">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Fy0qElUZEemj4epezO_a1Q" source="PapyrusCSSForceValue">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Fy0qE1UZEemj4epezO_a1Q" key="visible" value="true"/>
+ </eAnnotations>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_xMW8YFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_lrqga1UYEemj4epezO_a1Q" x="-33" y="-25"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_lroEIVUYEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_lroEIlUYEemj4epezO_a1Q" points="[100, 81, -643984, -643984]$[100, 179, -643984, -643984]$[100, 260, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xM-AYFUYEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xM-AYVUYEemj4epezO_a1Q" id="(0.19933554817275748,0.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_vbZ8IFUYEemj4epezO_a1Q" type="Association_Edge" source="_JtYzoFFvEeWFqsbjn0GMrw" target="_JuY5MFFvEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbZ8I1UYEemj4epezO_a1Q" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ynUegFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbZ8JFUYEemj4epezO_a1Q" x="121" y="58"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbajMFUYEemj4epezO_a1Q" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ynonkFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajMVUYEemj4epezO_a1Q" x="1" y="20"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbajMlUYEemj4epezO_a1Q" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yn-l0FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajM1UYEemj4epezO_a1Q" x="-19" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbajNFUYEemj4epezO_a1Q" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yoTV8FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajNVUYEemj4epezO_a1Q" x="46" y="90"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbajNlUYEemj4epezO_a1Q" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yqE3kFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajN1UYEemj4epezO_a1Q" x="26" y="56"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbajOFUYEemj4epezO_a1Q" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yqZnsFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbajOVUYEemj4epezO_a1Q" x="-20" y="-18"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vbZ8IVUYEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vbZ8IlUYEemj4epezO_a1Q" points="[1500, 301, -643984, -643984]$[1500, 460, -643984, -643984]$[1261, 460, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yumLMFUYEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yumLMVUYEemj4epezO_a1Q" id="(1.0,0.4)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_vbdmgFUYEemj4epezO_a1Q" type="Association_Edge" source="_JtYzoFFvEeWFqsbjn0GMrw" target="_JzZVAFFvEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbdmg1UYEemj4epezO_a1Q" type="Association_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yqtJsFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmhFUYEemj4epezO_a1Q" x="-1339" y="398"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbdmhVUYEemj4epezO_a1Q" type="Association_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yrCg4FUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmhlUYEemj4epezO_a1Q" x="1" y="18"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbdmh1UYEemj4epezO_a1Q" type="Association_TargetRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yrZGMFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmiFUYEemj4epezO_a1Q" x="-101" y="19"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbdmiVUYEemj4epezO_a1Q" type="Association_SourceRoleLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ytQucFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmilUYEemj4epezO_a1Q" x="46" y="-82"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbdmi1UYEemj4epezO_a1Q" type="Association_SourceMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_ytmssFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmjFUYEemj4epezO_a1Q" x="26" y="36"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_vbdmjVUYEemj4epezO_a1Q" type="Association_TargetMultiplicityLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_yt_uQFUYEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_vbdmjlUYEemj4epezO_a1Q" x="-103" y="-18"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_vbdmgVUYEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Association" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vbdmglUYEemj4epezO_a1Q" points="[1420, 301, -643984, -643984]$[1420, 460, -643984, -643984]$[1720, 460, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yumyQFUYEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_yumyQVUYEemj4epezO_a1Q" id="(0.0,0.4)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_mPNncFUaEemj4epezO_a1Q" type="Generalization_Edge" source="_JzZVAFFvEeWFqsbjn0GMrw" target="_mOcycFUaEemj4epezO_a1Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mPNnc1UaEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n7RgoFUaEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mPNndFUaEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_mPNncVUaEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mPNnclUaEemj4epezO_a1Q" points="[1740, 420, -643984, -643984]$[1740, 220, -643984, -643984]$[1460, 220, -643984, -643984]$[1460, 120, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8FY8FUaEemj4epezO_a1Q" id="(0.12422360248447205,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8GAAFUaEemj4epezO_a1Q" id="(0.48,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_mqRy0FUaEemj4epezO_a1Q" type="Generalization_Edge" source="_JuY5MFFvEeWFqsbjn0GMrw" target="_mOcycFUaEemj4epezO_a1Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mqSZ4FUaEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_n7tlgFUaEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mqSZ4VUaEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_mqRy0VUaEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mqRy0lUaEemj4epezO_a1Q" points="[1240, 420, -643984, -643984]$[1240, 220, -643984, -643984]$[1540, 220, -643984, -643984]$[1540, 120, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8GAAVUaEemj4epezO_a1Q" id="(0.8839779005524862,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_n8GAAlUaEemj4epezO_a1Q" id="(0.48,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_3JvO4FUaEemj4epezO_a1Q" type="Extension_Edge" source="_0DXT0FUaEemj4epezO_a1Q" target="_JyLNAFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_3JvO4VUaEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3JvO4lUaEemj4epezO_a1Q" points="[1020, 960, -643984, -643984]$[1020, 820, -643984, -643984]$[1100, 820, -643984, -643984]$[1100, 621, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AwZnIFUbEemj4epezO_a1Q" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_AwZnIVUbEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8-7ccFUhEemj4epezO_a1Q" type="Generalization_Edge" source="_64WxgFUhEemj4epezO_a1Q" target="_8-KncFUhEemj4epezO_a1Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8-7cc1UhEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_EfgR8FUiEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8-8DgFUhEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8-7ccVUhEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8-7cclUhEemj4epezO_a1Q" points="[180, 1100, -643984, -643984]$[180, 960, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EgGu4FUiEemj4epezO_a1Q" id="(0.4979253112033195,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_EgGu4VUiEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_-VRkUFUhEemj4epezO_a1Q" type="Generalization_Edge" source="_7W2EUFUhEemj4epezO_a1Q" target="_64WxgFUhEemj4epezO_a1Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_-VSLYFUhEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_DUJSEFUiEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-VSLYVUhEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_-VRkUVUhEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#_x-efQEWVEemFYp9WpPPBHQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_-VRkUlUhEemj4epezO_a1Q" points="[180, 1320, -643984, -643984]$[180, 1221, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUlW8FUiEemj4epezO_a1Q" id="(0.4928131416837782,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DUlW8VUiEemj4epezO_a1Q" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_Mffu4FFvEeWFqsbjn0GMrw" type="PapyrusUMLProfileDiagram" name="Requirements" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_NBfosFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NBgPwFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NBgPwVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NBgPwlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NBgPw1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NBgPxFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBgPxVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NBgPxlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_-3aLkFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_-3aLkVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NBgPx1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NBgPyFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NBgPyVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBgPylFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBfosVFvEeWFqsbjn0GMrw" x="-500" y="-20" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NBqAwFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NBqAwlFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBqAwVFvEeWFqsbjn0GMrw" x="-1220" y="-380" width="1161" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NCYZgFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NCZAkFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NCZAkVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NCZAklFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NCZAk1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NCZAlFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCZAlVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NCZAllFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NCZAl1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NCZAmFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NCZAmVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCZAmlFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCYZgVFvEeWFqsbjn0GMrw" x="400" y="180" width="421"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NCnqEFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NCnqElFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NCnqEVFvEeWFqsbjn0GMrw" x="900" y="-380" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NDGyQFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NDGyQlFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NDGyQ1FvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NDGyRFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NDGyRVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NDGyRlFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NDGyR1FvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NDGySFFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NDGySVFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NDGySlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NDGyS1FvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NDGyTFFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NDGyQVFvEeWFqsbjn0GMrw" x="20" y="-180" width="321"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NDSYcFFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NDSYclFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NDSYcVFvEeWFqsbjn0GMrw" x="20" y="-380" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NEG30FFvEeWFqsbjn0GMrw" type="Class_MetaclassShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NEHe4FFvEeWFqsbjn0GMrw" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NEG30VFvEeWFqsbjn0GMrw" x="220" y="-380" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_NEw_IFFvEeWFqsbjn0GMrw" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_NExmMFFvEeWFqsbjn0GMrw" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NExmMVFvEeWFqsbjn0GMrw" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NExmMlFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NExmM1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NExmNFFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NExmNVFvEeWFqsbjn0GMrw"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_NExmNlFvEeWFqsbjn0GMrw" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_0nO8QFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0nO8QVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_NExmN1FvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_NExmOFFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_NExmOVFvEeWFqsbjn0GMrw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NExmOlFvEeWFqsbjn0GMrw"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_NEw_IVFvEeWFqsbjn0GMrw" x="-900" y="-20" width="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_tN1ZkEV7EemFYp9WpPPBHQ" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_tN1ZkkV7EemFYp9WpPPBHQ" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tN1Zk0V7EemFYp9WpPPBHQ" type="Stereotype_AttributeCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_v3vuUFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#_0HFJUEV7EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v3vuUVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v38ioFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v38ioVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v4J-AFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v4J-AVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v4k0wFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v4k0wVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v4y3MFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v4y3MVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v4_rgFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v4_rgVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v5NG4FUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v5NG4VUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v5Z7MFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v5Z7MVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v5oksFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v5oksVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_v531QFUiEemj4epezO_a1Q" type="Property_ClassAttributeLabel">
+ <element xmi:type="uml:Property" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_v531QVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tN1ZlEV7EemFYp9WpPPBHQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tN1ZlUV7EemFYp9WpPPBHQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tN1ZlkV7EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tN1Zl0V7EemFYp9WpPPBHQ"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_tN1ZmEV7EemFYp9WpPPBHQ" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_uvjXMFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_sIByoEV8EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uvjXMVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uvtvQFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_Lh2VMEV9EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uvtvQVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uv4uYFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_NjuGUEV9EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uv4uYVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uwDtgFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_S99hcEV9EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uwDtgVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uwNegFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_ZzxisEV9EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uwNegVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uwcvEFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_d5GZUEV9EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uwcvEVUiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_uwnuMFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#_gJzQoEV9EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_uwnuMVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_tN1ZmUV7EemFYp9WpPPBHQ"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_tN1ZmkV7EemFYp9WpPPBHQ"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_tN1Zm0V7EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tN1ZnEV7EemFYp9WpPPBHQ"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#_tNfbUEV7EemFYp9WpPPBHQ"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tN1ZkUV7EemFYp9WpPPBHQ" x="400" y="-260" width="421" height="321"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_zjqTMEV7EemFYp9WpPPBHQ" type="Class_MetaclassShape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_zjrhUEV7EemFYp9WpPPBHQ" source="Stereotype_Annotation">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjrhUUV7EemFYp9WpPPBHQ" key="StereotypeWithQualifiedNameList" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjrhUkV7EemFYp9WpPPBHQ" key="StereotypeList" value="StandardProfile::Metaclass"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjrhU0V7EemFYp9WpPPBHQ" key="Stereotype_Presentation_Kind" value="HorizontalStereo"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjrhVEV7EemFYp9WpPPBHQ" key="PropStereoDisplay" value=""/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_zjsIYEV7EemFYp9WpPPBHQ" key="StereotypePropertyLocation" value="Compartment"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_zjq6QEV7EemFYp9WpPPBHQ" type="Class_MetaclassNameLabel"/>
+ <element xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_zjq6QUV7EemFYp9WpPPBHQ" x="500" y="-380" width="121" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ekcagFUiEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ekcagVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekcag1UiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekcaglUiEemj4epezO_a1Q" x="230" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ekk9YFUiEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ekk9YVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekk9Y1UiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekk9YlUiEemj4epezO_a1Q" x="390" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ekrrE1UiEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ekrrFFUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eksSIFUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ekrrFVUiEemj4epezO_a1Q" x="550" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_eky_01UiEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_eky_1FUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekzm4FUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_eky_1VUiEemj4epezO_a1Q" x="710" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_elBpUFUiEemj4epezO_a1Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_elBpUVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_elBpU1UiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_elBpUlUiEemj4epezO_a1Q" x="1040" y="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_w6iBAFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_w6iBAlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_w6iBA1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_w6iBBFUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w6iBBVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w6iBBlUiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w6iBB1UiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_w6iBCFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_y9_GgFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_y9_GgVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_w6iBCVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_w6iBClUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_w6iBC1UiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w6iBDFUiEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_w6iBAVUiEemj4epezO_a1Q" x="-1220" y="280" width="381"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_z-x1IFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_z-x1IlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z-x1I1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_z-x1JFUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_z-x1JVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_z-x1JlUiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-x1J1UiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z-x1KFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_z-x1KVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_z-x1KlUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_z-ycMFUiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-ycMVUiEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z-x1IVUiEemj4epezO_a1Q" x="-760" y="-280" width="241" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_z_kfUFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_VDxqoFUkEemj4epezO_a1Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_VDxqoVUkEemj4epezO_a1Q" key="QualifiedNameDepth" value="0"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_z_kfUlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z_kfU1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_z_kfVFUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_z_kfVVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_z_kfVlUiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z_kfV1UiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_z_kfWFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_z_kfWVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_z_kfWlUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_z_kfW1UiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z_kfXFUiEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_z_kfUVUiEemj4epezO_a1Q" x="-1020" y="-280" width="121" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_5NWLwFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5NWLwlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5NWLw1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5NWLxFUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5NWLxVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5NWLxlUiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5NWLx1UiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_5NWLyFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_50j8wFUiEemj4epezO_a1Q" type="Operation_ClassOperationLabel">
+ <element xmi:type="uml:Operation" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_50j8wVUiEemj4epezO_a1Q"/>
+ </children>
+ <styles xmi:type="notation:TitleStyle" xmi:id="_5NWLyVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_5NWLylUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_5NWLy1UiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5NWLzFUiEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_5NWLwVUiEemj4epezO_a1Q" x="-420" y="280" width="361" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_8oXhIFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_BrAfIFUkEemj4epezO_a1Q" source="QualifiedName">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_BrAfIVUkEemj4epezO_a1Q" key="QualifiedNameDepth" value="0"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_8oXhIlUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8oXhI1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8oXhJFUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8oXhJVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8oXhJlUiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8oXhJ1UiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_8oXhKFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_8oXhKVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_8oXhKlUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_8oXhK1UiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8oXhLFUiEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Refine"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_8oXhIVUiEemj4epezO_a1Q" x="-380" y="-280" width="121" height="121"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="__dQqoFUiEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="__dQqolUiEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__dQqo1UiEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="__dQqpFUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__dQqpVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__dQqplUiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__dQqp1UiEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="__dQqqFUiEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="__dQqqVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="__dQqqlUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="__dQqq1UiEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__dQqrFUiEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="__dQqoVUiEemj4epezO_a1Q" x="-780" y="280" width="121" height="101"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ADingFUjEemj4epezO_a1Q" type="Stereotype_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_ADinglUjEemj4epezO_a1Q" type="Stereotype_NameLabel"/>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ADing1UjEemj4epezO_a1Q" type="Stereotype_AttributeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ADinhFUjEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ADinhVUjEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ADinhlUjEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ADinh1UjEemj4epezO_a1Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ADiniFUjEemj4epezO_a1Q" type="Stereotype_OperationCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ADiniVUjEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:SortingStyle" xmi:id="_ADinilUjEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:FilteringStyle" xmi:id="_ADini1UjEemj4epezO_a1Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ADinjFUjEemj4epezO_a1Q"/>
+ </children>
+ <element xmi:type="uml:Stereotype" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ADingVUjEemj4epezO_a1Q" x="-600" y="280" width="121" height="101"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_Mffu4VFvEeWFqsbjn0GMrw" name="diagram_compatibility_version" stringValue="1.4.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Mffu4lFvEeWFqsbjn0GMrw"/>
+ <styles xmi:type="style:PapyrusDiagramStyle" xmi:id="_9qmjcEV6EemFYp9WpPPBHQ" diagramKindId="org.eclipse.papyrus.uml.diagram.profile">
+ <owner xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+ </styles>
+ <styles xmi:type="notation:EObjectListValueStyle" xmi:id="_mlQPQFUiEemj4epezO_a1Q" name="css_stylesheets" eObjectListValue="_3tZCAFCaEemsqfUA37D_yw"/>
+ <element xmi:type="uml:Profile" href="SysML.profile.uml#SysML.package_packagedElement_Requirements"/>
+ <edges xmi:type="notation:Connector" xmi:id="_NCP2oFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_NBfosFFvEeWFqsbjn0GMrw" target="_NBqAwFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_NCP2oVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NCP2olFvEeWFqsbjn0GMrw" points="[-440, -20, -643984, -643984]$[-440, -319, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nz7yQFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Nz8ZUFFvEeWFqsbjn0GMrw" id="(0.6718346253229974,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_NDAEkFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_NCYZgFFvEeWFqsbjn0GMrw" target="_NCnqEFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_NDAEkVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NDAEklFvEeWFqsbjn0GMrw" points="[821, 220, -643984, -643984]$[960, 220, -643984, -643984]$[960, -319, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N0S-oFFvEeWFqsbjn0GMrw" id="(1.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N0S-oVFvEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_NDvrcFFvEeWFqsbjn0GMrw" type="Extension_Edge" source="_NDGyQFFvEeWFqsbjn0GMrw" target="_NDSYcFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_NDvrcVFvEeWFqsbjn0GMrw"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_NDvrclFvEeWFqsbjn0GMrw" points="[180, -180, -643984, -643984]$[180, -240, -643984, -643984]$[80, -240, -643984, -643984]$[80, -319, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N0i2QFFvEeWFqsbjn0GMrw" id="(0.4984423676012461,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_N0jdUFFvEeWFqsbjn0GMrw" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_0HVoAEV7EemFYp9WpPPBHQ" type="Extension_Edge" source="_tN1ZkEV7EemFYp9WpPPBHQ" target="_zjqTMEV7EemFYp9WpPPBHQ">
+ <styles xmi:type="notation:FontStyle" xmi:id="_0HVoAUV7EemFYp9WpPPBHQ"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#_0HCGAEV7EemFYp9WpPPBHQ"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0HVoAkV7EemFYp9WpPPBHQ" points="[560, -260, -643984, -643984]$[560, -319, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0HuCgEV7EemFYp9WpPPBHQ" id="(0.38004750593824227,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_0HuCgUV7EemFYp9WpPPBHQ" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ekcahFUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_NBqAwFFvEeWFqsbjn0GMrw" target="_ekcagFUiEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ekcahVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekdBklUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ekcahlUiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ekdBkFUiEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ekdBkVUiEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ekk9ZFUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_NCnqEFFvEeWFqsbjn0GMrw" target="_ekk9YFUiEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ekk9ZVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eklkclUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ekk9ZlUiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eklkcFUiEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eklkcVUiEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_eksSIVUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_NDSYcFFvEeWFqsbjn0GMrw" target="_ekrrE1UiEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_eksSIlUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_eksSJlUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_eksSI1UiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eksSJFUiEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_eksSJVUiEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ekzm4VUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_NEG30FFvEeWFqsbjn0GMrw" target="_eky_01UiEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ekzm4lUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ekzm5lUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ekzm41UiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ekzm5FUiEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ekzm5VUiEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_elBpVFUiEemj4epezO_a1Q" type="StereotypeCommentLink" source="_zjqTMEV7EemFYp9WpPPBHQ" target="_elBpUFUiEemj4epezO_a1Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_elBpVVUiEemj4epezO_a1Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_elBpWVUiEemj4epezO_a1Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_elBpVlUiEemj4epezO_a1Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_elBpV1UiEemj4epezO_a1Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_elBpWFUiEemj4epezO_a1Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_w6_UAFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_w6iBAFUiEemj4epezO_a1Q" target="_NEw_IFFvEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_w6_UA1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOy5sFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_w6_7EFUiEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_w6_UAVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_w6_UAlUiEemj4epezO_a1Q" points="[-1040, 280, -643984, -643984]$[-1040, 200, -643984, -643984]$[-840, 200, -643984, -643984]$[-840, 83, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoylUjEemj4epezO_a1Q" id="(0.47244094488188976,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoy1UjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_z_SLcFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NEw_IFFvEeWFqsbjn0GMrw" target="_z-x1IFUiEemj4epezO_a1Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_z_SygFUiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOR8UFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_z_SygVUiEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_z_SLcVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_z_SLclUiEemj4epezO_a1Q" points="[-779, 20, -643984, -643984]$[-640, 20, -643984, -643984]$[-640, -159, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBowlUjEemj4epezO_a1Q" id="(1.0,0.3883495145631068)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBow1UjEemj4epezO_a1Q" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_0AUtQFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NEw_IFFvEeWFqsbjn0GMrw" target="_z_kfUFUiEemj4epezO_a1Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_0AVUUFUiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BOjCEFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_0AVUUVUiEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_0AUtQVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace._generalization.UML.stereotype_packagedElement_Trace"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_0AUtQlUiEemj4epezO_a1Q" points="[-900, 20, -643984, -643984]$[-940, 20, -643984, -643984]$[-940, -159, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBowFUjEemj4epezO_a1Q" id="(0.0,0.3883495145631068)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBowVUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_3bt2EFUiEemj4epezO_a1Q" type="Extension_Edge" source="_NDGyQFFvEeWFqsbjn0GMrw" target="_NEG30FFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_3bt2EVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_3bt2ElUiEemj4epezO_a1Q" points="[180, -180, -643984, -643984]$[180, -240, -643984, -643984]$[280, -240, -643984, -643984]$[280, -319, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9bDIFUjEemj4epezO_a1Q" id="(0.4984423676012461,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D9bqMFUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5N5lYFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_5NWLwFUiEemj4epezO_a1Q" target="_NEw_IFFvEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_5N5lY1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPGbsFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_5N5lZFUiEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_5N5lYVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5N5lYlUiEemj4epezO_a1Q" points="[-240, 280, -643984, -643984]$[-240, 200, -643984, -643984]$[-840, 200, -643984, -643984]$[-840, 83, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoxFUjEemj4epezO_a1Q" id="(0.4986149584487535,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoxVUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_6pINQFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NCYZgFFvEeWFqsbjn0GMrw" target="_tN1ZkEV7EemFYp9WpPPBHQ">
+ <children xmi:type="notation:DecorationNode" xmi:id="_6pINQ1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_LAZWoFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_6pINRFUiEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_6pINQVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#_koBGEEb2EemrpM9dj3x64Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6pINQlUiEemj4epezO_a1Q" points="[620, 180, -643984, -643984]$[620, 61, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LA2poFUjEemj4epezO_a1Q" id="(0.5225653206650831,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_LA2poVUjEemj4epezO_a1Q" id="(0.5225653206650831,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8oCxAFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NBfosFFvEeWFqsbjn0GMrw" target="_z-x1IFUiEemj4epezO_a1Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8oCxA1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_B-_nkFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8oCxBFUiEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8oCxAVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8oCxAlUiEemj4epezO_a1Q" points="[-500, 20, -643984, -643984]$[-640, 20, -643984, -643984]$[-640, -159, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B_XbAFUjEemj4epezO_a1Q" id="(0.0,0.3883495145631068)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B_XbAVUjEemj4epezO_a1Q" id="(0.4979253112033195,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_8pEEsFUiEemj4epezO_a1Q" type="Generalization_Edge" source="_NBfosFFvEeWFqsbjn0GMrw" target="_8oXhIFUiEemj4epezO_a1Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_8pEEs1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_XL5DIFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8pEEtFUiEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_8pEEsVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine._generalization.UML.stereotype_packagedElement_Refine"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8pEEslUiEemj4epezO_a1Q" points="[-379, 20, -643984, -643984]$[-340, 20, -643984, -643984]$[-340, -159, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XMRdoFUjEemj4epezO_a1Q" id="(1.0,0.3883495145631068)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_XMSEsFUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="__dy2IFUiEemj4epezO_a1Q" type="Generalization_Edge" source="__dQqoFUiEemj4epezO_a1Q" target="_NEw_IFFvEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="__dy2I1UiEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPW6YFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="__dy2JFUiEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="__dy2IVUiEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="__dy2IlUiEemj4epezO_a1Q" points="[-720, 280, -643984, -643984]$[-720, 200, -643984, -643984]$[-980, 200, -643984, -643984]$[-980, 83, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoxlUjEemj4epezO_a1Q" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBox1UjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_AEHPQFUjEemj4epezO_a1Q" type="Generalization_Edge" source="_ADingFUjEemj4epezO_a1Q" target="_NEw_IFFvEeWFqsbjn0GMrw">
+ <children xmi:type="notation:DecorationNode" xmi:id="_AEHPQ1UjEemj4epezO_a1Q" type="Generalization_StereotypeLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BPpOQFUjEemj4epezO_a1Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_AEHPRFUjEemj4epezO_a1Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_AEHPQVUjEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Generalization" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AEHPQlUjEemj4epezO_a1Q" points="[-540, 280, -643984, -643984]$[-540, 200, -643984, -643984]$[-980, 200, -643984, -643984]$[-980, 83, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoyFUjEemj4epezO_a1Q" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_BQBoyVUjEemj4epezO_a1Q" id="(0.49586776859504134,1.0)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_5u0rsFUjEemj4epezO_a1Q" type="Extension_Edge" source="_NEw_IFFvEeWFqsbjn0GMrw" target="_NBqAwFFvEeWFqsbjn0GMrw">
+ <styles xmi:type="notation:FontStyle" xmi:id="_5u0rsVUjEemj4epezO_a1Q"/>
+ <element xmi:type="uml:Extension" href="SysML.profile.uml#SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5u0rslUjEemj4epezO_a1Q" points="[-840, -20, -643984, -643984]$[-840, -319, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_64xWUFUjEemj4epezO_a1Q" id="(0.49586776859504134,0.0)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_64xWUVUjEemj4epezO_a1Q" id="(0.3273040482342808,1.0)"/>
+ </edges>
+ </notation:Diagram>
+ <css:StyleSheetReference xmi:id="_3tZCAFCaEemsqfUA37D_yw" path="/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.css"/>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.uml b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.uml
new file mode 100644
index 0000000..0a9b46d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/resources/profile/SysML.profile.uml
@@ -0,0 +1,1801 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:Ecore="http://www.eclipse.org/uml2/schemas/Ecore/5" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xsi:schemaLocation="http://www.eclipse.org/uml2/schemas/Ecore/5 pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA">
+ <uml:Profile xmi:id="SysML" name="SysML" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="SysML._packageImport._0">
+ <importedPackage xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Standard.profile.uml#_0"/>
+ </packageImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="_K-OjsEQdEemIr6iaiFI5bA">
+ <importedPackage xmi:type="uml:Model" href="pathmap://UML_METAMODELS/UML.metamodel.uml#_0"/>
+ </packageImport>
+ <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Activities" name="Activities" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities">
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior" name="E_extension_ControlOperator_base_Behavior" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Behavior SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior_ownedEnd.extension_ControlOperator" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior_ownedEnd.extension_ControlOperator">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior_ownedEnd.extension_ControlOperator" name="extension_ControlOperator" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior_ownedEnd.extension_ControlOperator_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation" name="E_extension_ControlOperator_base_Operation" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Operation SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation_ownedEnd.extension_ControlOperator" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation_ownedEnd.extension_ControlOperator">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation_ownedEnd.extension_ControlOperator" name="extension_ControlOperator" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation_ownedEnd.extension_ControlOperator_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode" name="E_extension_NoBuffer_base_ObjectNode" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer_ownedAttribute.base_ObjectNode SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode_ownedEnd.extension_NoBuffer" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode_ownedEnd.extension_NoBuffer">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode_ownedEnd.extension_NoBuffer" name="extension_NoBuffer" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode_ownedEnd.extension_NoBuffer_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter" name="E_extension_Optional_base_Parameter" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional_ownedAttribute.base_Parameter SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter_ownedEnd.extension_Optional" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter_ownedEnd.extension_Optional">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter_ownedEnd.extension_Optional" name="extension_Optional" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter_ownedEnd.extension_Optional_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode" name="E_extension_Overwrite_base_ObjectNode" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite_ownedAttribute.base_ObjectNode SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode_ownedEnd.extension_Overwrite" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode_ownedEnd.extension_Overwrite">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode_ownedEnd.extension_Overwrite" name="extension_Overwrite" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode_ownedEnd.extension_Overwrite_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge" name="E_extension_Probability_base_ActivityEdge" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ActivityEdge SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge_ownedEnd.extension_Probability" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge_ownedEnd.extension_Probability">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge_ownedEnd.extension_Probability" name="extension_Probability" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge_ownedEnd.extension_Probability_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet" name="E_extension_Probability_base_ParameterSet" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ParameterSet SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet_ownedEnd.extension_Probability" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet_ownedEnd.extension_Probability">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet_ownedEnd.extension_Probability" name="extension_Probability" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet_ownedEnd.extension_Probability_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge" name="E_extension_Rate_base_ActivityEdge" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ActivityEdge SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge_ownedEnd.extension_Rate" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge_ownedEnd.extension_Rate">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge_ownedEnd.extension_Rate" name="extension_Rate" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge_ownedEnd.extension_Rate_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode" name="E_extension_Rate_base_ObjectNode" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ObjectNode SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode_ownedEnd.extension_Rate" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode_ownedEnd.extension_Rate">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode_ownedEnd.extension_Rate" name="extension_Rate" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode_ownedEnd.extension_Rate_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter" name="E_extension_Rate_base_Parameter" memberEnd="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_Parameter SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter_ownedEnd.extension_Rate" navigableOwnedEnd="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter_ownedEnd.extension_Rate">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter_ownedEnd.extension_Rate" name="extension_Rate" type="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter_ownedEnd.extension_Rate_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous" name="Continuous">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous">
+ <body>
+ Continuous rate is a special case of rate of flow (see Rate) where the increment of time between items approaches zero. It is intended to represent continuous flows that may correspond to water flowing through a pipe, a time continuous signal, or continuous energy flow. It is independent from UML streaming. A streaming parameter may or may not apply to continuous flow, and a continuous flow may or may not apply to streaming parameters.
+ </body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Continuous._generalization.SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" general="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" isSubstitutable="false"/>
+ <icon xmi:type="uml:Image" xmi:id="_6IwrVkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Continuous.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwrV0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwrWEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator" name="ControlOperator">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator">
+ <body>
+ A control operator is a behavior that is intended to represent an arbitrarily complex logical operator that can be used to enable and disable other actions. When this stereotype is applied to behaviors, the behavior takes control values as inputs or provides them as outputs, that is, it treats control as data. When this stereotype is not applied, the behavior may not have a parameter typed by ControlValue. This stereotype also applies to operations with the same semantics.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Behavior" name="base_Behavior" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Behavior">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Behavior_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Operation" name="base_Operation" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_ControlOperator_base_Operation">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_ControlOperator_ownedAttribute.base_Operation_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6Iu2JkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ControlOperator.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iu2J0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Iu2KEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete" name="Discrete">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete">
+ <body>Discrete rate is a special case of rate of flow (see Rate) where the increment of time between items is non-zero.</body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Discrete._generalization.SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" general="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" isSubstitutable="false"/>
+ <icon xmi:type="uml:Image" xmi:id="_6IygiUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Discrete.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHkEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzHkUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer" name="NoBuffer">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer">
+ <body>
+ When this stereotype is applied to object nodes, tokens arriving at the node are discarded if they are refused by outgoing edges, or refused by actions for object nodes that are input pins. This is typically used with fast or continuously flowing data values, to prevent buffer overrun, or to model transient values, such as electrical signals. For object nodes that are the target of continuous flows, «nobuffer» and «overwrite» have the same effect. The stereotype does not override UML token offering semantics; it just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics are as in UML, specifically, tokens arriving at an object node that are refused by outgoing edges, or action for input pins, are held until they can leave the object node.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer_ownedAttribute.base_ObjectNode" name="base_ObjectNode" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_NoBuffer_base_ObjectNode">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_NoBuffer_ownedAttribute.base_ObjectNode_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IzHm0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NoBuffer.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHnEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzuoEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional" name="Optional">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional">
+ <body>
+ When the «optional» stereotype is applied to parameters, the lower multiplicity must be equal to zero. This means the parameter is not required to have a value for the activity or any behavior to begin or end execution. Otherwise, the lower multiplicity must be greater than zero, which is called “required.”
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional_ownedAttribute.base_Parameter" name="base_Parameter" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Optional_base_Parameter">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Optional_ownedAttribute.base_Parameter_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IwEQEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Optional.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwEQUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwEQkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite" name="Overwrite">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite">
+ <body>
+ When the «overwrite» stereotype is applied to object nodes, a token arriving at a full object node replaces the ones already there (a full object node has as many tokens as allowed by its upper bound). This is typically used on an input pin with an upper bound of 1 to ensure that stale data is overridden at an input pin. For upper bounds greater than one, the token replaced is the one that would be the last to be selected according to the ordering kind for the node. For FIFO ordering, this is the most recently added token, for LIFO it is the least recently added token. A null token removes all the tokens already there. The number of tokens replaced is equal to the weight of the incoming edge, which defaults to 1. For object nodes that are the target of continuous flows, «overwrite» and «nobuffer» have the same effect. The stereotype does not override UML token offering semantics, just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics is as in UML, specifically, tokens arriving at object nodes do not replace ones that are already there.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite_ownedAttribute.base_ObjectNode" name="base_ObjectNode" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Overwrite_base_ObjectNode">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Overwrite_ownedAttribute.base_ObjectNode_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6I0VtEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Overwrite.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I0VtUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0VtkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability" name="Probability">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability">
+ <body>
+ When the «probability» stereotype is applied to edges coming out of decision nodes and object nodes, it provides an expression for the probability that the edge will be traversed. These must be between zero and one inclusive, and add up to one for edges with same source at the time the probabilities are used.
+When the «probability» stereotype is applied to output parameter sets, it gives the probability the parameter set will be given values at runtime. These must be between zero and one inclusive, and add up to one for output parameter sets of the same behavior at the time the probabilities are used.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ActivityEdge" name="base_ActivityEdge" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ActivityEdge">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ActivityEdge_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ParameterSet" name="base_ParameterSet" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Probability_base_ParameterSet">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.base_ParameterSet_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Probability_ownedAttribute.probability" name="probability">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ValueSpecification"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6I0VsUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Probability.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I0VskyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0Vs0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate" name="Rate">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate._ownedComment.0" annotatedElement="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate">
+ <body>
+ When the «rate» stereotype is applied to an activity edge, it specifies the expected value of the number of objects and values that traverse the edge per time interval, that is, the expected value rate at which they leave the source node and arrive at the target node. It does not refer to the rate at which a value changes over time. When the stereotype is applied to a parameter, the parameter must be streaming, and the stereotype gives the number of objects or values that flow in or out of the parameter per time interval while the behavior or operation is executing. Streaming is a characteristic of UML behavior parameters that supports the input and output of items while a behavior is executing, rather than only when the behavior starts and stops. The flow may be continuous or discrete. The «rate» stereotype has a rate property of type InstanceSpecification. The values of this property must be instances of classifiers stereotyped by «valueType» or «distributionDefinition». In particular, the denominator for units used in the rate property must be time units.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ActivityEdge" name="base_ActivityEdge" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ActivityEdge">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityEdge"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ActivityEdge_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ObjectNode" name="base_ObjectNode" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_ObjectNode">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ObjectNode"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_ObjectNode_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_Parameter" name="base_Parameter" association="SysML.package_packagedElement_Activities.extension_packagedElement_E_extension_Rate_base_Parameter">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Parameter"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.base_Parameter_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Activities.stereotype_packagedElement_Rate_ownedAttribute.rate" name="rate">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IzHlUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rate.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHlkyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzHl0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Allocations" name="Allocations" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations">
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition" name="E_extension_AllocateActivityPartition_base_ActivityPartition" memberEnd="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition_ownedAttribute.base_ActivityPartition SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition_ownedEnd.extension_AllocateActivityPartition" navigableOwnedEnd="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition_ownedEnd.extension_AllocateActivityPartition">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition_ownedEnd.extension_AllocateActivityPartition" name="extension_AllocateActivityPartition" type="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition" association="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition_ownedEnd.extension_AllocateActivityPartition_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction" name="E_extension_Allocate_base_Abstraction" memberEnd="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedAttribute.base_Abstraction SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction_ownedEnd.extension_Allocate" navigableOwnedEnd="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction_ownedEnd.extension_Allocate">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction_ownedEnd.extension_Allocate" name="extension_Allocate" type="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate" redefinedProperty="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction_ownedEnd.extension_Allocate_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate" name="Allocate">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate._ownedComment.0" annotatedElement="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate">
+ <body>
+ Allocate is a dependency based on UML::abstraction. It is a mechanism for associating elements of different types, or in different hierarchies, at an abstract level. Allocate is used for assessing user model consistency and directing future design activity. It is expected that an «allocate» relationship between model elements is a precursor to a more concrete relationship between the elements, their properties, operations, attributes, or sub-classes.
+ </body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedAttribute.base_Abstraction" name="base_Abstraction" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship" association="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_Allocate_base_Abstraction">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedAttribute.base_Abstraction_lowerValue"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement" name="getAllocatedFrom" isStatic="true" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement.parameter_ownedParameter_ref" name="ref">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement.parameter_ownedParameter_result" name="result">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedFrom_NamedElement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement" name="getAllocatedTo" isStatic="true" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement.parameter_ownedParameter_ref" name="ref">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement.parameter_ownedParameter_result" name="result">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_Allocate_ownedOperation.getAllocatedTo_NamedElement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6IuPGEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Allocate.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IuPGUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IuPGkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition" name="AllocateActivityPartition">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition._ownedComment.0" annotatedElement="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition">
+ <body>AllocateActivityPartition is used to depict an «allocate» relationship on an Activity diagram. The AllocateActivityPartition is a standard UML2::ActivityPartition, with modified constraints as stated in the paragraph below.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition_ownedAttribute.base_ActivityPartition" name="base_ActivityPartition" association="SysML.package_packagedElement_Allocations.extension_packagedElement_E_extension_AllocateActivityPartition_base_ActivityPartition">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ActivityPartition"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Allocations.stereotype_packagedElement_AllocateActivityPartition_ownedAttribute.base_ActivityPartition_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6ItoAEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AllocateActivityPartition.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6ItoAUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6ItoAkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Blocks" name="Blocks" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks">
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal" name="A_adjunctProperty_principal" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal_ownedEnd.adjunctProperty SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal_ownedEnd.adjunctProperty" name="adjunctProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal_ownedEnd.adjunctProperty_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal_ownedEnd.adjunctProperty_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext" name="A_directedRelationshipPropertyPath_sourceContext" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext_ownedEnd.directedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourceContext">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext_ownedEnd.directedRelationshipPropertyPath" name="directedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext_ownedEnd.directedRelationshipPropertyPath_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext_ownedEnd.directedRelationshipPropertyPath_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath" name="A_directedRelationshipPropertyPath_sourcePropertyPath" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath_ownedEnd.directedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourcePropertyPath">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath_ownedEnd.directedRelationshipPropertyPath" name="directedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath_ownedEnd.directedRelationshipPropertyPath_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath_ownedEnd.directedRelationshipPropertyPath_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext" name="A_directedRelationshipPropertyPath_targetContext" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext_ownedEnd.directedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetContext">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext_ownedEnd.directedRelationshipPropertyPath" name="directedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext_ownedEnd.directedRelationshipPropertyPath_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext_ownedEnd.directedRelationshipPropertyPath_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath" name="A_directedRelationshipPropertyPath_targetPropertyPath" memberEnd="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath_ownedEnd.directedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetPropertyPath">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath_ownedEnd.directedRelationshipPropertyPath" name="directedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath_ownedEnd.directedRelationshipPropertyPath_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath_ownedEnd.directedRelationshipPropertyPath_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath" name="A_elementPropertyPath_propertyPath" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath" name="elementPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind" name="A_valueType_quantityKind" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind_ownedEnd.valueType">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind_ownedEnd.valueType" name="valueType" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind_ownedEnd.valueType_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind_ownedEnd.valueType_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit" name="A_valueType_unit" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit_ownedEnd.valueType">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit_ownedEnd.valueType" name="valueType" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit_ownedEnd.valueType_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit_ownedEnd.valueType_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property" name="E_extension_AdjunctProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property_ownedEnd.extension_AdjunctProperty SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.base_Property" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property_ownedEnd.extension_AdjunctProperty">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property_ownedEnd.extension_AdjunctProperty" name="extension_AdjunctProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector" name="E_extension_BindingConnector_base_Connector" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector_ownedAttribute.base_Connector SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector_ownedEnd.extension_BindingConnector" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector_ownedEnd.extension_BindingConnector">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector_ownedEnd.extension_BindingConnector" name="extension_BindingConnector" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector_ownedEnd.extension_BindingConnector_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class" name="E_extension_Block_base_Class" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.base_Class SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class_ownedEnd.extension_Block" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class_ownedEnd.extension_Block">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class_ownedEnd.extension_Block" name="extension_Block" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class_ownedEnd.extension_Block_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property" name="E_extension_ClassifierBehaviorProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property_ownedEnd.extension_ClassifierBehaviorProperty SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty_ownedAttribute.base_Property" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property_ownedEnd.extension_ClassifierBehaviorProperty">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property_ownedEnd.extension_ClassifierBehaviorProperty" name="extension_ClassifierBehaviorProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property" name="E_extension_ConnectorProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.base_Property SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property_ownedEnd.extension_ConnectorProperty" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property_ownedEnd.extension_ConnectorProperty">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property_ownedEnd.extension_ConnectorProperty" name="extension_ConnectorProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property_ownedEnd.extension_ConnectorProperty_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" name="E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath" name="extension_DirectedRelationshipPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property" name="E_extension_DistributedProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty_ownedAttribute.base_Property SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property_ownedEnd.extension_DistributedProperty" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property_ownedEnd.extension_DistributedProperty">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property_ownedEnd.extension_DistributedProperty" name="extension_DistributedProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property_ownedEnd.extension_DistributedProperty_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element" name="E_extension_ElementPropertyPath_base_Element" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath" name="extension_ElementPropertyPath" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property" name="E_extension_EndPathMultiplicity_base_Property" memberEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property_ownedEnd.extension_EndPathMultiplicity SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.base_Property" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property_ownedEnd.extension_EndPathMultiplicity">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property_ownedEnd.extension_EndPathMultiplicity" name="extension_EndPathMultiplicity" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property_ownedEnd.extension_EndPathMultiplicity_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd" name="E_extension_NestedConnectorEnd_base_ConnectorEnd" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd_ownedAttribute.base_ConnectorEnd SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd_ownedEnd.extension_NestedConnectorEnd" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd_ownedEnd.extension_NestedConnectorEnd">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd_ownedEnd.extension_NestedConnectorEnd" name="extension_NestedConnectorEnd" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd" redefinedProperty="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd_ownedEnd.extension_NestedConnectorEnd_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property" name="E_extension_ParticipantProperty_base_Property" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.base_Property SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property_ownedEnd.extension_ParticipantProperty" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property_ownedEnd.extension_ParticipantProperty">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property_ownedEnd.extension_ParticipantProperty" name="extension_ParticipantProperty" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property_ownedEnd.extension_ParticipantProperty_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier" name="E_extension_PropertySpecificType_base_Classifier" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType_ownedAttribute.base_Classifier SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier_ownedEnd.extension_PropertySpecificType" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier_ownedEnd.extension_PropertySpecificType">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier_ownedEnd.extension_PropertySpecificType" name="extension_PropertySpecificType" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier_ownedEnd.extension_PropertySpecificType_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType" name="E_extension_ValueType_base_DataType" memberEnd="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.base_DataType SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType_ownedEnd.extension_ValueType" navigableOwnedEnd="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType_ownedEnd.extension_ValueType">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType_ownedEnd.extension_ValueType" name="extension_ValueType" type="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType_ownedEnd.extension_ValueType_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty" name="AdjunctProperty">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty">
+ <body>
+ The AdjunctProperty stereotype can be applied to properties to constrain their values to the values of connectors typed by association blocks, call actions, object nodes, variables, or parameters, interaction uses, and submachine states. The values of connectors typed by association blocks are the instances of the association block typing a connector in the block having the stereotyped property. The values of call actions are the executions of behaviors invoked by the behavior having the call action and the stereotyped property (see Subclause 11.3.1.1.1 for more about this use of the stereotype). The values of object nodes are the values of tokens in the object nodes of the behavior having the stereotyped property (see Subclause 11.3.1.4.1 for more about this use of the stereotype). The values of variables are those assigned by executions of activities that have the stereotyped property. The values of parameters are those assigned by executions of behaviors that have the stereotyped property. The keyword «adjunct» before a property name indicates the property is stereotyped by AdjunctProperty.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_AdjunctProperty_base_Property">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.base_Property_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal" name="principal" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_adjunctProperty_principal">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_AdjunctProperty_ownedAttribute.principal">
+ <body>Gives the element that determines the values of the property. Must be a connector, call action, object node, variable, or parameter.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IvdM0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AdjunctProperty.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdNEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdNUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector" name="BindingConnector">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector">
+ <body>
+ A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values. If the properties at the ends of a binding connector are typed by a DataType or ValueType, the connector specifies that the instances of the properties must hold equal values, recursively through any nested properties within the connected properties. If the properties at the ends of a binding connector are typed by a Block, the connector specifies that the instances of the properties must refer to the same block instance. As with any connector owned by a SysML Block, the ends of a binding connector may be nested within a multi-level path of properties accessible from the owning block. The NestedConnectorEnd stereotype is used to represent such nested ends just as for nested ends of other SysML connectors.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector_ownedAttribute.base_Connector" name="base_Connector" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_BindingConnector_base_Connector">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BindingConnector_ownedAttribute.base_Connector_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IvdMEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BindingConnector.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdMUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdMkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" name="Block">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block">
+ <body>
+ A Block is a modular unit that describes the structure of a system or element. It may include both structural and behavioral features, such as properties and operations, that represent the state of the system and behavior that the system may exhibit. Some of these properties may hold parts of a system, which can also be described by blocks. A block may include a structure of connectors between its properties to indicate how its parts or other properties relate to one another. SysML blocks provide a general-purpose capability to describe the architecture of a system. They provide the ability to represent a system hierarchy, in which a system at one level is composed of systems at a more basic level. They can describe not only the connectivity relationships between the systems at any level, but also quantitative values or other information about a system. SysML does not restrict the kind of system or system element that may be described by a block. Any reusable form of description that may be applied to a system or a set of system characteristics may be described by a block. Such reusable descriptions, for example, may be applied to purely conceptual aspects of a system design, such as relationships that hold between parts or properties of a system. Connectors owned by SysML blocks may be used to define relationships between parts or other properties of the same containing block. The type of a connector or its connected ends may specify the semantic interpretation of a specific connector.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_Block_base_Class">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.base_Class_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated" name="isEncapsulated">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated">
+ <body>
+ If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends.
+ </body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block_ownedAttribute.isEncapsulated_lowerValue"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_EJdvcFIcEeWOVPwTUSkFAw" name="getReferences">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_LYh-MFIcEeWOVPwTUSkFAw" name="references" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_TgQJ4FI1EeWOVPwTUSkFAw"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_US6V4FI1EeWOVPwTUSkFAw" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_xfIGcFVsEeW77p7V_ZuW3Q" name="getParts">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_2iYk8FVsEeW77p7V_ZuW3Q" name="parts" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_34dAAFVsEeW77p7V_ZuW3Q"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_34e1MFVsEeW77p7V_ZuW3Q" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_Um2qIGOPEeWsGaPkh2WVXg" name="getFlowProperties">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_Za5A4GOPEeWsGaPkh2WVXg" name="flowProperties" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_MADW8GOQEeWsGaPkh2WVXg"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_MAGaQGOQEeWsGaPkh2WVXg" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6Ix5eUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Block.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ix5ekyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ix5e0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference" name="BoundReference">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath" name="bindingPath" isOrdered="true" isUnique="false" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath">
+ <body>Gives the propertyPath of the NestedConnectorEnd applied, if any, to the boundEnd, appended to the role of the boundEnd. </body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.bindingPath_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.boundEnd" name="boundEnd">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.boundEnd._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_BoundReference_ownedAttribute.boundEnd">
+ <body>Gives a connector end of a binding connector opposite to the end linked to the stereotyped property, or linked to a property that generalizes the stereotyped one through redefinition.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IxSY0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/BoundReference.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IxSZEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IxSZUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty" name="ClassifierBehaviorProperty">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty">
+ <body>
+ The ClassifierBehaviorProperty stereotype can be applied to properties to constrain their values to be the executions of classifier behaviors. The value of properties with ClassifierBehaviorProperty applied are the executions of classifier behaviors invoked by instantiation of the block that owns the stereotyped property or one of its specializations.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ClassifierBehaviorProperty_base_Property">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ClassifierBehaviorProperty_ownedAttribute.base_Property_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IzuoUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ClassifierBehaviorProperty.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzuokyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Izuo0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty" name="ConnectorProperty">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty">
+ <body>
+ Connectors can be typed by association classes that are stereotyped by Block (association blocks). These connectors specify instances (links) of the association block that exist due to instantiation of the block owning or inheriting the connector. The value of a connector property on an instance of a block will be exactly those link objects that are instances of the association block typing the connector referred to by the connector property.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ConnectorProperty_base_Property">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.base_Property_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.connector" name="connector">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.connector._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ConnectorProperty_ownedAttribute.connector">
+ <body>A connector of the block owning the property on which the stereotype is applied.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Connector"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6ItoBkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConnectorProperty.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IuPEEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IuPEUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" name="DirectedRelationshipPropertyPath" isAbstract="true">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship" name="base_DirectedRelationship" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DirectedRelationship"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourceContext" name="sourceContext" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourceContext">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourceContext_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourcePropertyPath" name="sourcePropertyPath" isOrdered="true" isUnique="false" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_sourcePropertyPath">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourcePropertyPath_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.sourcePropertyPath_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetContext" name="targetContext" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetContext">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetContext_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetPropertyPath" name="targetPropertyPath" isOrdered="true" isUnique="false" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_directedRelationshipPropertyPath_targetPropertyPath">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetPropertyPath_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.targetPropertyPath_upperValue" value="*"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IwEQ0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedRelationshipPropertyPath.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwEREyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwERUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty" name="DistributedProperty">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty">
+ <body>
+ DistributedProperty is a stereotype of Property used to apply a probability distribution to the values of the property. Specific distributions should be defined as subclasses of the DistributedProperty stereotype with the operands of the distributions represented by properties of those stereotype subclasses.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DistributedProperty_base_Property">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DistributedProperty_ownedAttribute.base_Property_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IxSYEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DistributedProperty.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IxSYUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IxSYkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" name="ElementPropertyPath" isAbstract="true">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" name="base_Element" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath" name="propertyPath" isOrdered="true" isUnique="false" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath">
+ <body>
+ The propertyPath list of the NestedConnectorEnd stereotype must identify a path of containing properties that identify the connected property in the context of the block that owns the connector. The ordering of properties is from a property of the block that owns the connector, through a property of each intermediate block that types the preceding property, until a property is reached that contains a connector end property within its type. The connector end property is not included in the propertyPath list, but instead is held by the role property of the UML ConnectorEnd metaclass.
+ </body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath_upperValue" value="*"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6Iu2IEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementPropertyPath.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iu2IUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Iu2IkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity" name="EndPathMultiplicity">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_EndPathMultiplicity_base_Property">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.base_Property_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower" name="lower">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower">
+ <body>Gives the minimum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower_lowerValue"/>
+ <defaultValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.lower_defaultValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper" name="upper">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper">
+ <body>Gives the maximum number of values of the property at the end of the related bindingPath, for each object reached by navigation along the bindingPath from an instance of the block owning the property to which EndPathMultiplicity is applied.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#UnlimitedNatural"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper_lowerValue"/>
+ <defaultValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_EndPathMultiplicity_ownedAttribute.upper_defaultValue" value="*"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6Iu2KUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/EndPathMultiplicity.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iu2KkyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Iu2K0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd" name="NestedConnectorEnd">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd">
+ <body>The NestedConnectorEnd stereotype of UML ConnectorEnd extends a UML ConnectorEnd so that the connected property may be identified by a multi-level path of accessible properties from the block that owns the connector.</body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd_ownedAttribute.base_ConnectorEnd" name="base_ConnectorEnd" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_NestedConnectorEnd_base_ConnectorEnd">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ConnectorEnd"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_NestedConnectorEnd_ownedAttribute.base_ConnectorEnd_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6I1j00yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/NestedConnectorEnd.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I1j1EyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I1j1UyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty" name="ParticipantProperty">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty">
+ <body>
+ The Block stereotype extends Class, so it can be applied to any specialization of Class, including Association Classes. These are informally called “association blocks.” An association block can own properties and connectors, like any other block. Each instance of an association block can link together instances of the end classifiers of the association. To refer to linked objects and values of an instance of an association block, it is necessary for the modeler to specify which (participant) properties of the association block identify the instances being linked at which end of the association. The value of a participant property on an instance (link) of the association block is the value or object at the end of the link corresponding to this end of the association.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ParticipantProperty_base_Property">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.base_Property_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.end" name="end">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.end._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ParticipantProperty_ownedAttribute.end">
+ <body>A member end of the association block owning the property on which the stereotype is applied.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6I08xkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ParticipantProperty.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I08x0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I08yEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType" name="PropertySpecificType">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType">
+ <body>The PropertySpecificType stereotype should automatically be applied to the classifier which types a property with a propertyspecific type. This classifier can contain definitions of new or redefined features which extend the original classifier referenced by the property-specific type.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType_ownedAttribute.base_Classifier" name="base_Classifier" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_PropertySpecificType_base_Classifier">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_PropertySpecificType_ownedAttribute.base_Classifier_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6I0VukyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/PropertySpecificType.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I0Vu0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0VvEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType" name="ValueType">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType">
+ <body>
+ A ValueType defines types of values that may be used to express information about a system, but cannot be identified as the target of any reference. Since a value cannot be identified except by means of the value itself, each such value within a model is independent of any other, unless other forms of constraints are imposed. Value types may be used to type properties, operation parameters, or potentially other elements within SysML. SysML defines ValueType as a stereotype of UML DataType to establish a more neutral term for system values that may never be given a concrete data representation.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.base_DataType" name="base_DataType" association="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ValueType_base_DataType">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#DataType"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.base_DataType_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind" name="quantityKind" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_quantityKind">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind">
+ <body>
+ A kind of quantity that may be stated by means of defined units, as identified by an instance of the Dimension stereotype. A value type may optionally specify a dimension without any unit. Such a value has no concrete representation, but may be used to express a value in an abstract form independent of any specific units.
+ </body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.quantityKind_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit" name="unit" association="SysML.package_packagedElement_Blocks.association_packagedElement_A_valueType_unit">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit._ownedComment.0" annotatedElement="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit">
+ <body>A quantity in terms of which the magnitudes of other quantities that have the same dimension can be stated, as identified by an instance of the Unit stereotype.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InstanceSpecification"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ValueType_ownedAttribute.unit_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6Iu2I0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ValueType.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iu2JEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Iu2JUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_ConstraintBlocks" name="ConstraintBlocks" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks">
+ <packageImport xmi:type="uml:PackageImport" xmi:id="SysML.package_packagedElement_ConstraintBlocks._packageImport.SysML.package_packagedElement_Blocks" importedPackage="SysML.package_packagedElement_Blocks"/>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class" name="E_extension_ConstraintBlock_base_Class" memberEnd="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock_ownedAttribute.base_Class SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class_ownedEnd.extension_ConstraintBlock" navigableOwnedEnd="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class_ownedEnd.extension_ConstraintBlock">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class_ownedEnd.extension_ConstraintBlock" name="extension_ConstraintBlock" type="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock" association="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class_ownedEnd.extension_ConstraintBlock_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock" name="ConstraintBlock">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock._ownedComment.0" annotatedElement="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock">
+ <body>
+ A constraint block is a block that packages the statement of a constraint so it may be applied in a reusable way to constrain properties of other blocks. A constraint block typically defines one or more constraint parameters, which are bound to properties of other blocks in a surrounding context where the constraint is used. Binding connectors, as defined in Chapter 8: Blocks, are used to bind each parameter of the constraint block to a property in the surrounding context. All properties of a constraint block are constraint parameters, with the exception of constraint properties that hold internally nested usages of other constraint blocks.
+ </body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" isSubstitutable="false"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_ConstraintBlocks.extension_packagedElement_E_extension_ConstraintBlock_base_Class">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ConstraintBlocks.stereotype_packagedElement_ConstraintBlock_ownedAttribute.base_Class_lowerValue"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_0QdHgACzEeabH6-I0dvpUQ" name="getParameters">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_74eBwACzEeabH6-I0dvpUQ" name="parameters" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="__6QcMACzEeabH6-I0dvpUQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="__6TfgACzEeabH6-I0dvpUQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6IyggEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConstraintBlock.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IyggUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IyggkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_DeprecatedElements" name="DeprecatedElements" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements">
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port" name="E_extension_FlowPort_base_Port" memberEnd="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.base_Port SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port_ownedEnd.extension_FlowPort" navigableOwnedEnd="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port_ownedEnd.extension_FlowPort">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port_ownedEnd.extension_FlowPort" name="extension_FlowPort" type="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port_ownedEnd.extension_FlowPort_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface" name="E_extension_FlowSpecification_base_Interface" memberEnd="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification_ownedAttribute.base_Interface SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface_ownedEnd.extension_FlowSpecification" navigableOwnedEnd="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface_ownedEnd.extension_FlowSpecification">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface_ownedEnd.extension_FlowSpecification" name="extension_FlowSpecification" type="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface_ownedEnd.extension_FlowSpecification_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort" name="FlowPort">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort._ownedComment.0" annotatedElement="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort">
+ <body>
+ A FlowPort is an interaction point through which input and/or output of items such as data, material, or energy may flow. This enables the owning block to declare which items it may exchange with its environment and the interaction points through which the exchange is made. We distinguish between atomic flow port and a nonatomic flow port. Atomic flow ports relay items that are classified by a single Block, ValueType, DataType, or Signal classifier. A nonatomic flow port relays items of several types as specified by a FlowSpecification. Flow ports and associated flow specifications define “what can flow” between the block and its environment, whereas item flows specify “what does flow” in a specific usage context. Flow ports relay items to their owning block or to a connector that connects them with their owner’s internal parts (internal connector).
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.base_Port" name="base_Port" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowPort_base_Port">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction" name="direction" type="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction._ownedComment.0" annotatedElement="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction">
+ <body>
+ Indicates the direction in which an atomic flow port relays its items. If the direction is set to “in,” then the items are relayed from an external connector via the flow port into the flow port’s owner (or one of its parts). If the direction is set to “out,” then the items are relayed from the flow port’s owner, via the flow port, through an external connector attached to the flow port. If the direction is set to “inout,” then items can flow both ways. By default, the value is inout.
+ </body>
+ </ownedComment>
+ <defaultValue xmi:type="uml:InstanceValue" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.direction_defaultValue.inout" instance="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.isAtomic" name="isAtomic" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.isAtomic._ownedComment.0" annotatedElement="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowPort_ownedAttribute.isAtomic">
+ <body>This is a derived attribute (derived from the flow port’s type). For a flow port typed by a flow specification the value of this attribute is False, otherwise the value is True.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_47RiUFFjEeWDrM-hgr_-Kg" name="getIcon">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_47RiUVFjEeWDrM-hgr_-Kg" name="img" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_47RiVVFjEeWDrM-hgr_-Kg" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_IN.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_47RiVlFjEeWDrM-hgr_-Kg" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_47RiV1FjEeWDrM-hgr_-Kg" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FyVPIHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort_IN"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:type="uml:Image" xmi:id="_47SJYFFjEeWDrM-hgr_-Kg" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_OUT.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_47SJYVFjEeWDrM-hgr_-Kg" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_47SJYlFjEeWDrM-hgr_-Kg" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_HBX1IHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort_OUT"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:type="uml:Image" xmi:id="_47SJY1FjEeWDrM-hgr_-Kg" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_INOUT.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_47SJZFFjEeWDrM-hgr_-Kg" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_47SJZVFjEeWDrM-hgr_-Kg" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_IBspsHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort_INOUT"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:type="uml:Image" xmi:id="_47SJZlFjEeWDrM-hgr_-Kg" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort_NA.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_47SJZ1FjEeWDrM-hgr_-Kg" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_47SJaFFjEeWDrM-hgr_-Kg" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_I-bXsHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort_NA"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:type="uml:Image" xmi:id="_6I1j0EyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowPort.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I1j0UyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I1j0kyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_J8b4EHHlEeeebZCswQsitw" key="image_name_key" value="FlowPort"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification" name="FlowSpecification">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification._ownedComment.0" annotatedElement="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification">
+ <body>A FlowSpecification specifies inputs and outputs as a set of flow properties. A flow specification is used by flow ports to specify what items can flow via the port.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_DeprecatedElements.stereotype_packagedElement_FlowSpecification_ownedAttribute.base_Interface" name="base_Interface" association="SysML.package_packagedElement_DeprecatedElements.extension_packagedElement_E_extension_FlowSpecification_base_Interface">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Interface"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_35VWsGa4EeW5JrLha2pcnA" name="getFlowProperties">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_35VWsWa4EeW5JrLha2pcnA" name="flowProperties" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_35VWsma4EeW5JrLha2pcnA"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_35VWs2a4EeW5JrLha2pcnA" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6IvdNkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowSpecification.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdN0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdOEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_ModelElements" name="ModelElements" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements">
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization" name="E_extension_Conform_base_Generalization" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization_ownedEnd.extension_Conform SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform_ownedAttribute.base_Generalization" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization_ownedEnd.extension_Conform">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization_ownedEnd.extension_Conform" name="extension_Conform" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization_ownedEnd.extension_Conform_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment" name="E_extension_ElementGroup_base_Comment" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment_ownedEnd.extension_ElementGroup SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.base_Comment" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment_ownedEnd.extension_ElementGroup">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment_ownedEnd.extension_ElementGroup" name="extension_ElementGroup" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment_ownedEnd.extension_ElementGroup_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency" name="E_extension_Expose_base_Dependency" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency_ownedEnd.extension_Expose SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose_ownedAttribute.base_Dependency" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency_ownedEnd.extension_Expose">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency_ownedEnd.extension_Expose" name="extension_Expose" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency_ownedEnd.extension_Expose_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment" name="E_extension_Problem_base_Comment" memberEnd="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem_ownedAttribute.base_Comment SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment_ownedEnd.extension_Problem" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment_ownedEnd.extension_Problem">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment_ownedEnd.extension_Problem" name="extension_Problem" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment_ownedEnd.extension_Problem_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment" name="E_extension_Rationale_base_Comment" memberEnd="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale_ownedAttribute.base_Comment SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment_ownedEnd.extension_Rationale" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment_ownedEnd.extension_Rationale">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment_ownedEnd.extension_Rationale" name="extension_Rationale" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment_ownedEnd.extension_Rationale_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier" name="E_extension_Stakeholder_base_Classifier" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier_ownedEnd.extension_Stakeholder SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.base_Classifier" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier_ownedEnd.extension_Stakeholder">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier_ownedEnd.extension_Stakeholder" name="extension_Stakeholder" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier_ownedEnd.extension_Stakeholder_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class" name="E_extension_View_base_Class" memberEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class_ownedEnd.extension_View SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.base_Class" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class_ownedEnd.extension_View">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class_ownedEnd.extension_View" name="extension_View" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class_ownedEnd.extension_View_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class" name="E_extension_Viewpoint_base_Class" memberEnd="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.base_Class SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class_ownedEnd.extension_Viewpoint" navigableOwnedEnd="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class_ownedEnd.extension_Viewpoint">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class_ownedEnd.extension_Viewpoint" name="extension_Viewpoint" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class_ownedEnd.extension_Viewpoint_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform" name="Conform">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform">
+ <body>
+ A Conform relationship is a dependency between a view and a viewpoint. The view conforms to the specified rules and conventions detailed in the viewpoint. Conform is a specialization of the UML dependency, and as with other dependencies the arrow direction points from the (client/source) to the (supplier/target).
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform_ownedAttribute.base_Generalization" name="base_Generalization" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Conform_base_Generalization">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Generalization"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Conform_ownedAttribute.base_Generalization_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IkeEEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Conform.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IlFIEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IlFIUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup" name="ElementGroup">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.base_Comment" name="base_Comment" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_ElementGroup_base_Comment">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.base_Comment_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.criterion" name="criterion" isReadOnly="true" isDerived="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member" name="member" isReadOnly="true" isDerived="true">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.name" name="name">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.orderedMember" name="orderedMember" isOrdered="true" subsettedProperty="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.member">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.orderedMember_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.orderedMember_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedAttribute.size" name="size" isReadOnly="true" isDerived="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup" name="allGroups" isStatic="true" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup.parameter_ownedParameter_e" name="e">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup.parameter_ownedParameter_result_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.allGroups_Element_ElementGroup.parameter_ownedParameter_result_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.criterion_String" name="criterion" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.criterion_String.parameter_ownedParameter_result" name="result">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.criterion_String.parameter_ownedParameter_result_lowerValue"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element" name="member" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element.parameter_ownedParameter_result" name="result">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Element"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element.parameter_ownedParameter_result_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.member_Element.parameter_ownedParameter_result_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.size_Integer" name="size" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_ElementGroup_ownedOperation.size_Integer.parameter_ownedParameter_result" name="result">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Integer"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6IvdOUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ElementGroup.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IvdOkyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IvdO0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose" name="Expose">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose_ownedAttribute.base_Dependency" name="base_Dependency" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Expose_base_Dependency">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Dependency"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Expose_ownedAttribute.base_Dependency_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IyghkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Expose.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Iygh0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IygiEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem" name="Problem">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem">
+ <body>
+ A Problem documents a deficiency, limitation, or failure of one or more model elements to satisfy a requirement or need, or other undesired outcome. It may be used to capture problems identified during analysis, design, verification, or manufacture and associate the problem with the relevant model elements. Problem is a stereotype of comment and may be attached to any other model element in the same manner as a comment.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem_ownedAttribute.base_Comment" name="base_Comment" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Problem_base_Comment">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Problem_ownedAttribute.base_Comment_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IwrWUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Problem.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwrWkyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwrW0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale" name="Rationale">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale">
+ <body>
+ A Rationale documents the justification for decisions and the requirements, design, and other decisions. A Rationale can be attached to any model element including relationships. It allows the user, for example, to specify a rationale that may reference more detailed documentation such as a trade study or analysis report. Rationale is a stereotype of comment and may be attached to any other model element in the same manner as a comment.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale_ownedAttribute.base_Comment" name="base_Comment" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Rationale_base_Comment">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Rationale_ownedAttribute.base_Comment_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IzupEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Rationale.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzupUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzupkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder" name="Stakeholder">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.base_Classifier" name="base_Classifier" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Stakeholder_base_Classifier">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Classifier"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.base_Classifier_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concernList" name="concernList">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_OfXdUDqkEeWWssZOJ2QVuQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_OfZSgDqkEeWWssZOJ2QVuQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concern" name="concern" isReadOnly="true" isDerived="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concern_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder_ownedAttribute.concern_upperValue" value="*"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IwrU0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Stakeholder.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwrVEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwrVUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View" name="View">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View">
+ <body>A View is a representation of a whole system or subsystem from the perspective of a single viewpoint. Views are allowed to import other elements including other packages and other views that conform to the viewpoint.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_View_base_Class">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.base_Class_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.stakeholder" name="stakeholder" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder" isReadOnly="true" isDerived="true">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.stakeholder_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.stakeholder_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.viewPoint" name="viewPoint" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.viewPoint._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_View_ownedAttribute.viewPoint">
+ <body>The viewpoint for this View, derived from the supplier of the «conform» dependency whose client is this View.</body>
+ </ownedComment>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6Iygg0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/View.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IyghEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IyghUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint" name="Viewpoint">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint">
+ <body>A Viewpoint is a specification of the conventions and rules for constructing and using a view for the purpose of addressing a set of stakeholder concerns. The languages and methods for specifying a view may reference languages and methods in another viewpoint. They specify the elements expected to be represented in the view, and may be formally or informally defined. For example, the security viewpoint may require the security requirements, security functional and physical architecture, and security test cases.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_ModelElements.extension_packagedElement_E_extension_Viewpoint_base_Class">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.base_Class_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concern" name="concern" isReadOnly="true" isDerived="true">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concern_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concern_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList" name="concernList">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList">
+ <body>The interest of the stakeholders.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Comment"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.concernList_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language" name="language">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language">
+ <body>The languages used to construct the viewpoint.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.language_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method" name="method" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method">
+ <body>The methods used to construct the views for this viewpoint.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.method_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.presentation" name="presentation">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.presentation_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.presentation_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.purpose" name="purpose">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.purpose._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.purpose">
+ <body>The purpose addresses the stakeholder concerns.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder" name="stakeholder" type="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Stakeholder">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder._ownedComment.0" annotatedElement="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder">
+ <body>Set of stakeholders.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_ModelElements.stereotype_packagedElement_Viewpoint_ownedAttribute.stakeholder_upperValue" value="*"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IwESUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Viewpoint.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwESkyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwES0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Ports_u0026Flows" name="PortsAndFlows" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows" metaclassReference="_q0SIcEWgEemFYp9WpPPBHQ">
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_q0SIcEWgEemFYp9WpPPBHQ" alias="AddStructuralFeatureValueAction">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+ </elementImport>
+ <packageImport xmi:type="uml:PackageImport" xmi:id="SysML.package_packagedElement_Ports_u0026Flows._packageImport.SysML.package_packagedElement_Blocks" importedPackage="SysML.package_packagedElement_Blocks"/>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature" name="A_changeStructuralFeatureEvent_structuralFeature" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.structuralFeature SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature_ownedEnd.changeStructuralFeatureEvent">
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature_ownedEnd.changeStructuralFeatureEvent" name="changeStructuralFeatureEvent" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature_ownedEnd.changeStructuralFeatureEvent_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature_ownedEnd.changeStructuralFeatureEvent_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort" name="A_invocationOnNestedPortAction_onNestedPort" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.onNestedPort SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort_ownedEnd.invocationOnNestedPortAction">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort._generalization.SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath" general="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort_ownedEnd.invocationOnNestedPortAction" name="invocationOnNestedPortAction" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction" redefinedProperty="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort_ownedEnd.invocationOnNestedPortAction_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort_ownedEnd.invocationOnNestedPortAction_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Association" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort" name="A_triggerOnNestedPort_onNestedPort" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.onNestedPort SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort_ownedEnd.triggerOnNestedPort">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort._generalization.SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath" general="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath"/>
+ <ownedEnd xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort_ownedEnd.triggerOnNestedPort" name="triggerOnNestedPort" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort" redefinedProperty="SysML.package_packagedElement_Blocks.association_packagedElement_A_elementPropertyPath_propertyPath_ownedEnd.elementPropertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort_ownedEnd.triggerOnNestedPort_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort_ownedEnd.triggerOnNestedPort_upperValue" value="*"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection" name="FeatureDirectionKind">
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_provided" name="provided"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_providedRequired" name="providedRequired"/>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection.enumerationLiteral_ownedLiteral_required" name="required"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Enumeration" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection" name="FlowDirectionKind">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection">
+ <body>FlowDirectionKind is an enumeration type that defines literals used for specifying the direction that items can flow to or from a block. FlowDirectionKind is used by flow properties to indicate the direction that its items can flow to or from its owner.</body>
+ </ownedComment>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_in" name="in">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_in._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_in">
+ <body>Indicates that the flow property is input to the owning block.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout" name="inout">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout">
+ <body>Indicates that the flow property is both an input and an output of the owning block.</body>
+ </ownedComment>
+ </ownedLiteral>
+ <ownedLiteral xmi:type="uml:EnumerationLiteral" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_out" name="out">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_out._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_out">
+ <body>Indicates that the flow property is an output of the owning block.</body>
+ </ownedComment>
+ </ownedLiteral>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction" name="E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_ownedEnd.extension_AcceptChangeStructuralFeatureEventAction SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction_ownedAttribute.base_AcceptEventAction" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_ownedEnd.extension_AcceptChangeStructuralFeatureEventAction">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_ownedEnd.extension_AcceptChangeStructuralFeatureEventAction" name="extension_AcceptChangeStructuralFeatureEventAction" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction_ownedEnd.extension_AcceptChangeStructuralFeatureEventAction_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent" name="E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent_ownedEnd.extension_ChangeStructuralFeatureEvent SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.base_ChangeEvent" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent_ownedEnd.extension_ChangeStructuralFeatureEvent">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent_ownedEnd.extension_ChangeStructuralFeatureEvent" name="extension_ChangeStructuralFeatureEvent" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent_ownedEnd.extension_ChangeStructuralFeatureEvent_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature" name="E_extension_DirectedFeature_base_Feature" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature_ownedEnd.extension_DirectedFeature SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.base_Feature" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature_ownedEnd.extension_DirectedFeature">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature_ownedEnd.extension_DirectedFeature" name="extension_DirectedFeature" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature_ownedEnd.extension_DirectedFeature_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property" name="E_extension_FlowProperty_base_Property" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.base_Property SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property_ownedEnd.extension_FlowProperty" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property_ownedEnd.extension_FlowProperty">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property_ownedEnd.extension_FlowProperty" name="extension_FlowProperty" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property_ownedEnd.extension_FlowProperty_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port" name="E_extension_FullPort_base_Port" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port_ownedEnd.extension_FullPort SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort_ownedAttribute.base_Port" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port_ownedEnd.extension_FullPort">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port_ownedEnd.extension_FullPort" name="extension_FullPort" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port_ownedEnd.extension_FullPort_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction" name="E_extension_InvocationOnNestedPortAction_base_InvocationAction" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction_ownedEnd.extension_InvocationOnNestedPortAction SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.base_InvocationAction" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction_ownedEnd.extension_InvocationOnNestedPortAction">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction_ownedEnd.extension_InvocationOnNestedPortAction" name="extension_InvocationOnNestedPortAction" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction" redefinedProperty="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction_ownedEnd.extension_InvocationOnNestedPortAction_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow" name="E_extension_ItemFlow_base_InformationFlow" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.base_InformationFlow SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow_ownedEnd.extension_ItemFlow" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow_ownedEnd.extension_ItemFlow">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow_ownedEnd.extension_ItemFlow" name="extension_ItemFlow" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow_ownedEnd.extension_ItemFlow_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port" name="E_extension_ProxyPort_base_Port" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port_ownedEnd.extension_ProxPort SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort_ownedAttribute.base_Port" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port_ownedEnd.extension_ProxPort">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port_ownedEnd.extension_ProxPort" name="extension_ProxPort" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port_ownedEnd.extension_ProxPort_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger" name="E_extension_TriggerOnNestedPort_base_Trigger" memberEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger_ownedEnd.extension_TriggerOnNestedPort SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.base_Trigger" navigableOwnedEnd="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger_ownedEnd.extension_TriggerOnNestedPort">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger_ownedEnd.extension_TriggerOnNestedPort" name="extension_TriggerOnNestedPort" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort" redefinedProperty="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_ElementPropertyPath_base_Element_ownedEnd.extension_ElementPropertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger_ownedEnd.extension_TriggerOnNestedPort_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_rW2C8EWgEemFYp9WpPPBHQ" name="E_extension_AddFlowPropertyValueOnNestedPortAction_base_AddStructuralFeatureValueAction" memberEnd="_rW2qAEWgEemFYp9WpPPBHQ _rW3REEWgEemFYp9WpPPBHQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_rW2qAEWgEemFYp9WpPPBHQ" name="extension_AddFlowPropertyValueOnNestedPortAction" type="_aRuVEEWgEemFYp9WpPPBHQ" aggregation="composite" association="_rW2C8EWgEemFYp9WpPPBHQ"/>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction" name="AcceptChangeStructuralFeatureEventAction">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction_ownedAttribute.base_AcceptEventAction" name="base_AcceptEventAction" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_AcceptChangeStructuralFeatureEventAction_base_AcceptEventAction">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AcceptEventAction"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_AcceptChangeStructuralFeatureEventAction_ownedAttribute.base_AcceptEventAction_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6Ix5dkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AcceptChangeStructuralFeatureEventAction.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ix5d0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ix5eEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent" name="ChangeStructuralFeatureEvent">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.base_ChangeEvent" name="base_ChangeEvent" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ChangeStructuralFeatureEvent_base_ChangeEvent">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ChangeEvent"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.base_ChangeEvent_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ChangeStructuralFeatureEvent_ownedAttribute.structuralFeature" name="structuralFeature" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_changeStructuralFeatureEvent_structuralFeature">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#StructuralFeature"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6Izup0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ChangeStructuralFeatureEvent.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzuqEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzuqUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature" name="DirectedFeature">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.base_Feature" name="base_Feature" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_DirectedFeature_base_Feature">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Feature"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.base_Feature_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature_ownedAttribute.featureDirection" name="featureDirection" type="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FeatureDirection"/>
+ <icon xmi:type="uml:Image" xmi:id="_6IxSaUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DirectedFeature.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IxSakyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IxSa0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty" name="FlowProperty">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty">
+ <body>
+ A FlowProperty signifies a single flow element that can flow to/from a block. A flow property’s values are either received from or transmitted to an external block. Flow properties are defined directly on blocks or flow specifications that are those specifications which type the flow ports. Flow properties enable item flows across connectors connecting parts of the corresponding block types, either directly (in case of the property is defined on the block) or via flowPorts. For Block, Data Type, and Value Type properties, setting an “out” FlowProperty value of a block usage on one end of a connector will result in assigning the same value of an “in” FlowProperty of a block usage at the other end of the connector, provided the flow properties are matched. Flow properties of type Signal imply sending and/or receiving of a signal usage. An “out” FlowProperty of type Signal means that the owning Block may broadcast the signal via connectors and an “in” FlowProperty means that the owning block is able to receive the Signal.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.base_Property" name="base_Property" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FlowProperty_base_Property">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.base_Property_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction" name="direction" type="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction">
+ <body>Specifies if the property value is received from an external block (direction=“in”), transmitted to an external Block (direction=“out”) or both (direction=“inout”).</body>
+ </ownedComment>
+ <defaultValue xmi:type="uml:InstanceValue" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty_ownedAttribute.direction_defaultValue.inout" instance="SysML.package_packagedElement_Ports_u0026Flows.enumeration_packagedElement_FlowDirection.enumerationLiteral_ownedLiteral_inout"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_qCZNEFFkEeW4J9vCAdMr-Q" name="getIcon">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_qCZNEVFkEeW4J9vCAdMr-Q" name="img" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Image"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_qCeFkFFkEeW4J9vCAdMr-Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_IN.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qCeFkVFkEeW4J9vCAdMr-Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qCeFklFkEeW4J9vCAdMr-Q" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_P1KKgHHbEee_Bq9KZR5qhA" key="image_name_key" value="FlowProperty_IN"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:type="uml:Image" xmi:id="_qCeFk1FkEeW4J9vCAdMr-Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_OUT.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qCeFlFFkEeW4J9vCAdMr-Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qCeFlVFkEeW4J9vCAdMr-Q" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_QxcMkHHbEee_Bq9KZR5qhA" key="image_name_key" value="FlowProperty_OUT"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:type="uml:Image" xmi:id="_qCeFllFkEeW4J9vCAdMr-Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty_INOUT.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_qCeFl1FkEeW4J9vCAdMr-Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_qCeFmFFkEeW4J9vCAdMr-Q" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RpyJ0HHbEee_Bq9KZR5qhA" key="image_name_key" value="FlowProperty_INOUT"/>
+ </eAnnotations>
+ </icon>
+ <icon xmi:type="uml:Image" xmi:id="_6I08wEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FlowProperty.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I08wUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I08wkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_S_SkMHHbEee_Bq9KZR5qhA" key="image_name_key" value="FlowProperty"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort" name="FullPort">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort_ownedAttribute.base_Port" name="base_Port" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_FullPort_base_Port">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FullPort_ownedAttribute.base_Port_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6Ix5c0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/FullPort.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ix5dEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ix5dUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock" name="InterfaceBlock">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_Block"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_OvhwIEWTEemFYp9WpPPBHQ" name="getConjugated">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_Tar3sEWTEemFYp9WpPPBHQ" name="result" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock" direction="return">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_UUqzsEWTEemFYp9WpPPBHQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_UU-VsEWTEemFYp9WpPPBHQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6IxSZkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InterfaceBlock.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IxSZ0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IxSaEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction" name="InvocationOnNestedPortAction">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.base_InvocationAction" name="base_InvocationAction" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_InvocationOnNestedPortAction_base_InvocationAction">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InvocationAction"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.base_InvocationAction_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.onNestedPort" name="onNestedPort" isOrdered="true" isUnique="false" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_invocationOnNestedPortAction_onNestedPort">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InvocationOnNestedPortAction_ownedAttribute.onNestedPort_upperValue" value="*"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6I08yUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/InvocationOnNestedPortAction.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I08ykyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I08y0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow" name="ItemFlow">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow">
+ <body>An ItemFlow describes the flow of items across a connector or an association. It may constrain the item exchange between blocks, block usages, or flow ports as specified by their flow properties. For example, a pump connected to a tank: the pump has an “out” flow property of type Liquid and the tank has an “in” FlowProperty of type Liquid. To signify that only water flows between the pump and the tank, we can specify an ItemFlow of type Water on the connector.
+ </body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.base_InformationFlow" name="base_InformationFlow" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ItemFlow_base_InformationFlow">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#InformationFlow"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.base_InformationFlow_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty" name="itemProperty">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty._ownedComment.0" annotatedElement="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty">
+ <body>An optional property that relates the flowing item to the instances of the connector’s enclosing block. This property is applicable only for item flows assigned to connectors. The multiplicity is zero if the item flow is assigned to an Association.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ItemFlow_ownedAttribute.itemProperty_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6I0Vt0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ItemFlow.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I0VuEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0VuUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort" name="ProxyPort">
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort_ownedAttribute.base_Port" name="base_Port" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_ProxyPort_base_Port">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_ProxyPort_ownedAttribute.base_Port_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IwrUEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ProxyPort.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwrUUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwrUkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort" name="TriggerOnNestedPort">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.base_Trigger" name="base_Trigger" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.base_Element" association="SysML.package_packagedElement_Ports_u0026Flows.extension_packagedElement_E_extension_TriggerOnNestedPort_base_Trigger">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Trigger"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.onNestedPort" name="onNestedPort" isOrdered="true" isUnique="false" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath" association="SysML.package_packagedElement_Ports_u0026Flows.association_packagedElement_A_triggerOnNestedPort_onNestedPort">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_TriggerOnNestedPort_ownedAttribute.onNestedPort_upperValue" value="*"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6IwERkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TriggerOnNestedPort.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IwER0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IwESEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_Sr_TwEWVEemFYp9WpPPBHQ" name="ConjugatedInterfaceBlock">
+ <generalization xmi:type="uml:Generalization" xmi:id="_x-efQEWVEemFYp9WpPPBHQ" general="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_GTHnsEWXEemFYp9WpPPBHQ" name="original" visibility="public" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_InterfaceBlock"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_OAj0gEWXEemFYp9WpPPBHQ" name="areConjugated">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_UgwLEEWXEemFYp9WpPPBHQ" name="df1" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_XQdSkEWXEemFYp9WpPPBHQ" name="df2" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_DirectedFeature"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_eNRTsEWXEemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_f991QEWXEemFYp9WpPPBHQ" name="areConjugated">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_kV9JMEWXEemFYp9WpPPBHQ" name="fp1" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_ltYPIEWXEemFYp9WpPPBHQ" name="fp2" type="SysML.package_packagedElement_Ports_u0026Flows.stereotype_packagedElement_FlowProperty"/>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_nrKxgEWXEemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_pSgiwEWXEemFYp9WpPPBHQ" name="areConjugated">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_uerssEWXEemFYp9WpPPBHQ" name="r1">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Reception"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_yKLHAEWXEemFYp9WpPPBHQ" name="r2">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Reception"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_0F_6gEWXEemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_1hqnQEWXEemFYp9WpPPBHQ" name="areConjugated">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_1hqnQUWXEemFYp9WpPPBHQ" name="o1">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_1hqnQkWXEemFYp9WpPPBHQ" name="o2">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_1hqnQ0WXEemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_9Og-MEWXEemFYp9WpPPBHQ" name="areConjugated">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_9Og-MUWXEemFYp9WpPPBHQ" name="p1">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_9Og-MkWXEemFYp9WpPPBHQ" name="p2">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Property"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_9Og-M0WXEemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_HkXXsEWYEemFYp9WpPPBHQ" name="areSameConstraintSets">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_K3ofQEWYEemFYp9WpPPBHQ" name="cs1">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_NumsYEWYEemFYp9WpPPBHQ" name="cs2">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Constraint"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_PjfxcEWYEemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_RN5dwEWYEemFYp9WpPPBHQ" name="areSameParameterSets">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_ULB9QEWYEemFYp9WpPPBHQ" name="ps1">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_XAGF4EWYEemFYp9WpPPBHQ" name="ps2">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#ParameterSet"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_YtTOkEWYEemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_aE9lEEWYEemFYp9WpPPBHQ" name="haveSameSignatures">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_e_Ri8EWYEemFYp9WpPPBHQ" name="bf1">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#BehavioralFeature"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_hcZssEWYEemFYp9WpPPBHQ" name="bf2">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#BehavioralFeature"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_kVJbcEWYEemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#Boolean"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_Sr_TxkWVEemFYp9WpPPBHQ" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/ConjugatedInterfaceBlock.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Sr_Tx0WVEemFYp9WpPPBHQ" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Sr_TyEWVEemFYp9WpPPBHQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_aRuVEEWgEemFYp9WpPPBHQ" name="AddFlowPropertyValueOnNestedPortAction">
+ <generalization xmi:type="uml:Generalization" xmi:id="_aRuVEUWgEemFYp9WpPPBHQ" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_aRuVFEWgEemFYp9WpPPBHQ" name="onNestedPort" isOrdered="true" isUnique="false" redefinedProperty="SysML.package_packagedElement_Blocks.stereotype_packagedElement_ElementPropertyPath_ownedAttribute.propertyPath">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Port"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aRuVFUWgEemFYp9WpPPBHQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_rW3REEWgEemFYp9WpPPBHQ" name="base_AddStructuralFeatureValueAction" association="_rW2C8EWgEemFYp9WpPPBHQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#AddStructuralFeatureValueAction"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_rW3REUWgEemFYp9WpPPBHQ"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_aRuVFkWgEemFYp9WpPPBHQ" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AddFlowPropertyValueOnNestedPortAction.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_aRuVF0WgEemFYp9WpPPBHQ" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_aRuVGEWgEemFYp9WpPPBHQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Profile" xmi:id="SysML.package_packagedElement_Requirements" name="Requirements" URI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements" metaclassReference="_zjmo0EV7EemFYp9WpPPBHQ">
+ <elementImport xmi:type="uml:ElementImport" xmi:id="_zjmo0EV7EemFYp9WpPPBHQ" alias="NamedElement">
+ <importedElement xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </elementImport>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction" name="E_extension_Refine_base_Abstraction" memberEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction_ownedEnd.extension_Refine SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedAttribute.base_Abstraction" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction_ownedEnd.extension_Refine">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction._generalization.Abstraction_Refine">
+ <general xmi:type="uml:Extension" href="pathmap://UML_PROFILES/Standard.profile.uml#Abstraction_Refine"/>
+ </generalization>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction_ownedEnd.extension_Refine" name="extension_Refine" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction_ownedEnd.extension_Refine_lowerValue"/>
+ <redefinedProperty xmi:type="uml:ExtensionEnd" href="#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath"/>
+ <redefinedProperty xmi:type="uml:ExtensionEnd" href="pathmap://UML_PROFILES/Standard.profile.uml#Abstraction_Refine-extension_Refine"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class" name="E_extension_Requirement_base_Class" memberEnd="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.base_Class SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class_ownedEnd.extension_Requirement" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class_ownedEnd.extension_Requirement">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class_ownedEnd.extension_Requirement" name="extension_Requirement" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class_ownedEnd.extension_Requirement_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior" name="E_extension_TestCase_base_Behavior" memberEnd="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Behavior SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior_ownedEnd.extension_TestCase" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior_ownedEnd.extension_TestCase">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior_ownedEnd.extension_TestCase" name="extension_TestCase" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior_ownedEnd.extension_TestCase_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation" name="E_extension_TestCase_base_Operation" memberEnd="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Operation SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation_ownedEnd.extension_TestCase" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation_ownedEnd.extension_TestCase">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation_ownedEnd.extension_TestCase" name="extension_TestCase" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation_ownedEnd.extension_TestCase_lowerValue"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction" name="E_extension_Trace_base_Abstraction" memberEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction_ownedEnd.extension_Trace SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedAttribute.base_Abstraction" navigableOwnedEnd="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction_ownedEnd.extension_Trace">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction._generalization.Abstraction_Trace">
+ <general xmi:type="uml:Extension" href="pathmap://UML_PROFILES/Standard.profile.uml#Abstraction_Trace"/>
+ </generalization>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction._generalization.SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship" general="SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship"/>
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction_ownedEnd.extension_Trace" name="extension_Trace" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction_ownedEnd.extension_Trace_lowerValue"/>
+ <redefinedProperty xmi:type="uml:ExtensionEnd" href="#SysML.package_packagedElement_Blocks.extension_packagedElement_E_extension_DirectedRelationshipPropertyPath_base_DirectedRelationship_ownedEnd.extension_DirectedRelationshipPropertyPath"/>
+ <redefinedProperty xmi:type="uml:ExtensionEnd" href="pathmap://UML_PROFILES/Standard.profile.uml#Abstraction_Trace-extension_Trace"/>
+ </ownedEnd>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy" name="Copy">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy">
+ <body>A Copy relationship is a dependency between a supplier requirement and a client requirement that specifies that the text of the client requirement is a read-only copy of the text of the supplier requirement.</body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Copy._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" general="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" isSubstitutable="false"/>
+ <icon xmi:type="uml:Image" xmi:id="_6IuPFUyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Copy.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IuPFkyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IuPF0yQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt" name="DeriveReqt">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt">
+ <body>
+ A DeriveReqt relationship is a dependency between two requirements in which a client requirement can be derived from the supplier requirement. As with other dependencies, the arrow direction points from the derived (client) requirement to the (supplier) requirement from which it is derived.
+ </body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_DeriveReqt._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" general="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" isSubstitutable="false"/>
+ <icon xmi:type="uml:Image" xmi:id="_6IuPEkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/DeriveReqt.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IuPE0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IuPFEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine" name="Refine">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine._generalization.UML.stereotype_packagedElement_Refine">
+ <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Refine"/>
+ </generalization>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedAttribute.base_Abstraction" name="base_Abstraction" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Refine_base_Abstraction">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedAttribute.base_Abstraction_lowerValue"/>
+ <redefinedProperty xmi:type="uml:Property" href="#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship"/>
+ <redefinedProperty xmi:type="uml:Property" href="pathmap://UML_PROFILES/Standard.profile.uml#Refine-base_Abstraction"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement" name="getRefines" isStatic="true" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement.parameter_ownedParameter_ref" name="ref">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Refine_ownedOperation.getRefines_Requirement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6IzuqkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Refine.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Izuq0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I0VsEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement" name="Requirement">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+ <body>A requirement specifies a capability or condition that must (or should) be satisfied. A requirement may specify a function that a system must perform or a performance condition that a system must satisfy. Requirements are used to establish a contract between the customer (or other stakeholder) and those responsible for designing and implementing the system.
+ </body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="_koBGEEb2EemrpM9dj3x64Q" general="_tNfbUEV7EemFYp9WpPPBHQ"/>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.base_Class" name="base_Class" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Requirement_base_Class">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Class"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.base_Class_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6ItoA0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Requirement.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6ItoBEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6ItoBUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy" name="Satisfy">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy">
+ <body>A Satisfy relationship is a dependency between a requirement and a model element that fulfills the requirement. As with other dependencies, the arrow direction points from the satisfying (client) model element to the (supplier) requirement that is satisfied.</body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" general="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement" name="getSatisfies" isStatic="true" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement.parameter_ownedParameter_ref" name="ref">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Satisfy_ownedOperation.getSatisfies_Requirement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6IzHkkyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Satisfy.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHk0yQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzHlEyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase" name="TestCase">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase">
+ <body>A test case is a method for verifying a requirement is satisfied.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Behavior" name="base_Behavior" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Behavior">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Behavior"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Behavior_lowerValue"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Operation" name="base_Operation" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_TestCase_base_Operation">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Operation"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_TestCase_ownedAttribute.base_Operation_lowerValue"/>
+ </ownedAttribute>
+ <icon xmi:type="uml:Image" xmi:id="_6I08w0yQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/TestCase.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6I08xEyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6I08xUyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" name="Trace">
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace._generalization.SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath" general="SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath"/>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace._generalization.UML.stereotype_packagedElement_Trace">
+ <general xmi:type="uml:Stereotype" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace"/>
+ </generalization>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedAttribute.base_Abstraction" name="base_Abstraction" association="SysML.package_packagedElement_Requirements.extension_packagedElement_E_extension_Trace_base_Abstraction">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#Abstraction"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedAttribute.base_Abstraction_lowerValue"/>
+ <redefinedProperty xmi:type="uml:Property" href="#SysML.package_packagedElement_Blocks.stereotype_packagedElement_DirectedRelationshipPropertyPath_ownedAttribute.base_DirectedRelationship"/>
+ <redefinedProperty xmi:type="uml:Property" href="pathmap://UML_PROFILES/Standard.profile.uml#Trace-base_Abstraction"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement" name="getTracedFrom" isStatic="true" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement.parameter_ownedParameter_ref" name="ref">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace_ownedOperation.getTracedFrom_Requirement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6IzHmEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Trace.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6IzHmUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6IzHmkyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify" name="Verify">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify">
+ <body>A Verify relationship is a dependency between a requirement and a test case or other model element that can determine whether a system fulfills the requirement. As with other dependencies, the arrow direction points from the (client) element to the (supplier) requirement.</body>
+ </ownedComment>
+ <generalization xmi:type="uml:Generalization" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify._generalization.SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" general="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Trace" isSubstitutable="false"/>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement" name="getVerifies" isStatic="true" isQuery="true">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement.parameter_ownedParameter_ref" name="ref">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ </ownedParameter>
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement.parameter_ownedParameter_result" name="result" type="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement.parameter_ownedParameter_result_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Verify_ownedOperation.getVerifies_Requirement_NamedElement.parameter_ownedParameter_result_upperValue" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_6Ix5cEyQEeWwyrPSuNN58Q" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/Verify.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_6Ix5cUyQEeWwyrPSuNN58Q" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_6Ix5ckyQEeWwyrPSuNN58Q" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Stereotype" xmi:id="_tNfbUEV7EemFYp9WpPPBHQ" name="AbstractRequirement" isAbstract="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="_FAO3wEV8EemFYp9WpPPBHQ" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement">
+ <body>An AbstractRequirement establishes the attributes and relationships essential to any potential kind of requirement. Any intended requirement kind should subclass AbstractRequirement. The only normative stereotype based on AbstractRequirement is the Requirement stereotype, described in 16.3.2.5. Examples of additional non-normative stereotypes based on AbstractRequirement are included in Annex E.8.</body>
+ </ownedComment>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="_0HFJUEV7EemFYp9WpPPBHQ" name="base_NamedElement" association="_0HCGAEV7EemFYp9WpPPBHQ">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_0HFJUUV7EemFYp9WpPPBHQ"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived" name="derived" type="_tNfbUEV7EemFYp9WpPPBHQ" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived">
+ <body>Derived from all requirements that are the client of a «deriveReqt» relationship for which this requirement is a supplier.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derived_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom" name="derivedFrom" type="_tNfbUEV7EemFYp9WpPPBHQ" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom">
+ <body>Derived from all requirements that are the supplier of a «deriveReqt» relationship for which this requirement is a client.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.derivedFrom_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id" name="id">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id">
+ <body>The unique id of the requirement.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.id_defaultValue" value=""/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master" name="master" type="_tNfbUEV7EemFYp9WpPPBHQ" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master">
+ <body>This is a derived property that lists the master requirement for this slave requirement. The master attribute is derived from the supplier of the Copy dependency that has this requirement as the slave.</body>
+ </ownedComment>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.master_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_aiIS8EV8EemFYp9WpPPBHQ" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy" name="refinedBy" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy">
+ <body>Derived from all elements that are the client of a «refine» relationship for which this requirement is a supplier.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.refinedBy_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy" name="satisfiedBy" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy">
+ <body>Derived from all elements that are the client of a «satisfy» relationship for which this requirement is a supplier.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.satisfiedBy_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text" name="text">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text">
+ <body>The textual representation or a reference to the textual representation of the requirement.</body>
+ </ownedComment>
+ <type xmi:type="uml:PrimitiveType" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#String"/>
+ <defaultValue xmi:type="uml:LiteralString" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.text_defaultValue" value=""/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo" name="tracedTo" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo">
+ <body>Derived from all elements that are the client of a «trace» relationship for which this requirement is a supplier.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.tracedTo_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedAttribute xmi:type="uml:Property" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy" name="verifiedBy" isReadOnly="true" isDerived="true">
+ <ownedComment xmi:type="uml:Comment" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy._ownedComment.0" annotatedElement="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy">
+ <body>Derived from all elements that are the client of a «verify» relationship for which this requirement is a supplier.</body>
+ </ownedComment>
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy_lowerValue"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="SysML.package_packagedElement_Requirements.stereotype_packagedElement_Requirement_ownedAttribute.verifiedBy_upperValue" value="*"/>
+ </ownedAttribute>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_sIByoEV8EemFYp9WpPPBHQ" name="getSatisfiedBy">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_7AW40EV8EemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_P8JWQEV9EemFYp9WpPPBHQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_P8U8cEV9EemFYp9WpPPBHQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_Lh2VMEV9EemFYp9WpPPBHQ" name="getVerifiedBy">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_Lh2VMUV9EemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Q8icQEV9EemFYp9WpPPBHQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Q8s0UEV9EemFYp9WpPPBHQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_NjuGUEV9EemFYp9WpPPBHQ" name="getTracedTo">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_NjuGUUV9EemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_R0UY0EV9EemFYp9WpPPBHQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_R0eJ0EV9EemFYp9WpPPBHQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_S99hcEV9EemFYp9WpPPBHQ" name="getDerived">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_S99hcUV9EemFYp9WpPPBHQ" name="result" type="_tNfbUEV7EemFYp9WpPPBHQ" direction="return">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_S99hckV9EemFYp9WpPPBHQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_S99hc0V9EemFYp9WpPPBHQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_ZzxisEV9EemFYp9WpPPBHQ" name="getDerivedFrom">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_ZzxisUV9EemFYp9WpPPBHQ" name="result" type="_tNfbUEV7EemFYp9WpPPBHQ" direction="return">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ZzxiskV9EemFYp9WpPPBHQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Zzxis0V9EemFYp9WpPPBHQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_d5GZUEV9EemFYp9WpPPBHQ" name="getRefinedBy">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_d5GZUUV9EemFYp9WpPPBHQ" name="result" direction="return">
+ <type xmi:type="uml:Class" href="pathmap://UML_METAMODELS/UML.metamodel.uml#NamedElement"/>
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_d5GZUkV9EemFYp9WpPPBHQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_d5GZU0V9EemFYp9WpPPBHQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <ownedOperation xmi:type="uml:Operation" xmi:id="_gJzQoEV9EemFYp9WpPPBHQ" name="getMaster">
+ <ownedParameter xmi:type="uml:Parameter" xmi:id="_gJzQoUV9EemFYp9WpPPBHQ" name="result" type="_tNfbUEV7EemFYp9WpPPBHQ" direction="return">
+ <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_gJzQokV9EemFYp9WpPPBHQ"/>
+ <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_gJzQo0V9EemFYp9WpPPBHQ" value="*"/>
+ </ownedParameter>
+ </ownedOperation>
+ <icon xmi:type="uml:Image" xmi:id="_F7etIEV-EemFYp9WpPPBHQ" format="GIF" location="platform:/plugin/org.eclipse.papyrus.sysml16.edit/icons/full/obj16/AbstractRequirement.gif">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_F7etIUV-EemFYp9WpPPBHQ" source="image_papyrus">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_F7etIkV-EemFYp9WpPPBHQ" key="image_kind_key" value="icon"/>
+ </eAnnotations>
+ </icon>
+ </packagedElement>
+ <packagedElement xmi:type="uml:Extension" xmi:id="_0HCGAEV7EemFYp9WpPPBHQ" name="E_AbstractRequirement_NamedElement1" memberEnd="_0HEiQEV7EemFYp9WpPPBHQ _0HFJUEV7EemFYp9WpPPBHQ">
+ <ownedEnd xmi:type="uml:ExtensionEnd" xmi:id="_0HEiQEV7EemFYp9WpPPBHQ" name="extension_AbstractRequirement" type="_tNfbUEV7EemFYp9WpPPBHQ" aggregation="composite" association="_0HCGAEV7EemFYp9WpPPBHQ"/>
+ </packagedElement>
+ </packagedElement>
+ <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ZW96QDn6EeWWssZOJ2QVuQ">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ZW-hUDn6EeWWssZOJ2QVuQ" source="http://www.eclipse.org/uml2/2.0.0/UML">
+ <references xmi:type="ecore:EPackage" href="pathmap://UML_PROFILES/Ecore.profile.uml#_z1OFcHjqEdy8S4Cr8Rc_NA"/>
+ </eAnnotations>
+ <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_PROFILES/Ecore.profile.uml#_0"/>
+ </profileApplication>
+ </uml:Profile>
+ <Ecore:EPackage xmi:id="_dZfREJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Blocks" packageName="blocks" nsPrefix="Blocks" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks" basePackage="org.eclipse.papyrus.sysml16" prefix="Blocks"/>
+ <Ecore:EPackage xmi:id="_fGLcYJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Ports_u0026Flows" packageName="portsandflows" nsPrefix="PortsAndFlows" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/PortsAndFlows" basePackage="org.eclipse.papyrus.sysml16" prefix="PortsAndFlows"/>
+ <Ecore:EPackage xmi:id="_fya3UJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Activities" packageName="activities" nsPrefix="Activities" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities" basePackage="org.eclipse.papyrus.sysml16" prefix="Activities"/>
+ <Ecore:EPackage xmi:id="_gQxnQJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_ModelElements" packageName="modelelements" nsPrefix="ModelElements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ModelElements" basePackage="org.eclipse.papyrus.sysml16" prefix="ModelElements"/>
+ <Ecore:EPackage xmi:id="_g0eKMJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_ConstraintBlocks" packageName="constraintblocks" nsPrefix="ConstraintBlocks" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/ConstraintBlocks" basePackage="org.eclipse.papyrus.sysml16" prefix="ConstraintBlocks"/>
+ <Ecore:EPackage xmi:id="_hUK98JvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Allocations" packageName="allocations" nsPrefix="Allocations" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations" basePackage="org.eclipse.papyrus.sysml16" prefix="Allocations"/>
+ <Ecore:EPackage xmi:id="_hzXbYJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_Requirements" packageName="requirements" nsPrefix="Requirements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/Requirements" basePackage="org.eclipse.papyrus.sysml16" prefix="Requirements"/>
+ <Ecore:EPackage xmi:id="_iUUMUJvkEeSpx5CUmLYZ-g" base_Package="SysML.package_packagedElement_DeprecatedElements" packageName="deprecatedelements" nsPrefix="DeprecatedElements" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML/DeprecatedElements" basePackage="org.eclipse.papyrus.sysml16" prefix="DeprecatedElements"/>
+ <Ecore:EPackage xmi:id="_Aa0lgJvoEeSpx5CUmLYZ-g" base_Package="SysML" packageName="sysml16" nsPrefix="SysML" nsURI="http://www.eclipse.org/papyrus/sysml/1.6/SysML" basePackage="org.eclipse.papyrus.sysml" prefix="SysML"/>
+</xmi:XMI>
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesFactory.java
new file mode 100644
index 0000000..20fa855
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesFactory.java
@@ -0,0 +1,116 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage
+ * @generated
+ */
+public interface ActivitiesFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ActivitiesFactory eINSTANCE = org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Continuous</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Continuous</em>'.
+ * @generated
+ */
+ Continuous createContinuous();
+
+ /**
+ * Returns a new object of class '<em>Rate</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rate</em>'.
+ * @generated
+ */
+ Rate createRate();
+
+ /**
+ * Returns a new object of class '<em>Control Operator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Control Operator</em>'.
+ * @generated
+ */
+ ControlOperator createControlOperator();
+
+ /**
+ * Returns a new object of class '<em>Discrete</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Discrete</em>'.
+ * @generated
+ */
+ Discrete createDiscrete();
+
+ /**
+ * Returns a new object of class '<em>No Buffer</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>No Buffer</em>'.
+ * @generated
+ */
+ NoBuffer createNoBuffer();
+
+ /**
+ * Returns a new object of class '<em>Optional</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Optional</em>'.
+ * @generated
+ */
+ Optional createOptional();
+
+ /**
+ * Returns a new object of class '<em>Overwrite</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Overwrite</em>'.
+ * @generated
+ */
+ Overwrite createOverwrite();
+
+ /**
+ * Returns a new object of class '<em>Probability</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Probability</em>'.
+ * @generated
+ */
+ Probability createProbability();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ ActivitiesPackage getActivitiesPackage();
+
+} //ActivitiesFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesPackage.java
new file mode 100644
index 0000000..3184b42
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ActivitiesPackage.java
@@ -0,0 +1,888 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Activities'"
+ * @generated
+ */
+public interface ActivitiesPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "activities"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Activities"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Activities"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ ActivitiesPackage eINSTANCE = org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl <em>Rate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getRate()
+ * @generated
+ */
+ int RATE = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Edge</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATE__BASE_ACTIVITY_EDGE = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Object Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATE__BASE_OBJECT_NODE = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATE__BASE_PARAMETER = 2;
+
+ /**
+ * The feature id for the '<em><b>Rate</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATE__RATE = 3;
+
+ /**
+ * The number of structural features of the '<em>Rate</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATE_FEATURE_COUNT = 4;
+
+ /**
+ * The number of operations of the '<em>Rate</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ContinuousImpl <em>Continuous</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ContinuousImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getContinuous()
+ * @generated
+ */
+ int CONTINUOUS = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Edge</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTINUOUS__BASE_ACTIVITY_EDGE = RATE__BASE_ACTIVITY_EDGE;
+
+ /**
+ * The feature id for the '<em><b>Base Object Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTINUOUS__BASE_OBJECT_NODE = RATE__BASE_OBJECT_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTINUOUS__BASE_PARAMETER = RATE__BASE_PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Rate</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTINUOUS__RATE = RATE__RATE;
+
+ /**
+ * The number of structural features of the '<em>Continuous</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTINUOUS_FEATURE_COUNT = RATE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Continuous</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTINUOUS_OPERATION_COUNT = RATE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl <em>Control Operator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getControlOperator()
+ * @generated
+ */
+ int CONTROL_OPERATOR = 2;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTROL_OPERATOR__BASE_BEHAVIOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTROL_OPERATOR__BASE_OPERATION = 1;
+
+ /**
+ * The number of structural features of the '<em>Control Operator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTROL_OPERATOR_FEATURE_COUNT = 2;
+
+ /**
+ * The number of operations of the '<em>Control Operator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTROL_OPERATOR_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.DiscreteImpl <em>Discrete</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.DiscreteImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getDiscrete()
+ * @generated
+ */
+ int DISCRETE = 3;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Edge</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRETE__BASE_ACTIVITY_EDGE = RATE__BASE_ACTIVITY_EDGE;
+
+ /**
+ * The feature id for the '<em><b>Base Object Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRETE__BASE_OBJECT_NODE = RATE__BASE_OBJECT_NODE;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRETE__BASE_PARAMETER = RATE__BASE_PARAMETER;
+
+ /**
+ * The feature id for the '<em><b>Rate</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRETE__RATE = RATE__RATE;
+
+ /**
+ * The number of structural features of the '<em>Discrete</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRETE_FEATURE_COUNT = RATE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of operations of the '<em>Discrete</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DISCRETE_OPERATION_COUNT = RATE_OPERATION_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl <em>No Buffer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getNoBuffer()
+ * @generated
+ */
+ int NO_BUFFER = 4;
+
+ /**
+ * The feature id for the '<em><b>Base Object Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NO_BUFFER__BASE_OBJECT_NODE = 0;
+
+ /**
+ * The number of structural features of the '<em>No Buffer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NO_BUFFER_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>No Buffer</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NO_BUFFER_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.OptionalImpl <em>Optional</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.OptionalImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getOptional()
+ * @generated
+ */
+ int OPTIONAL = 5;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPTIONAL__BASE_PARAMETER = 0;
+
+ /**
+ * The number of structural features of the '<em>Optional</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPTIONAL_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Optional</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPTIONAL_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.OverwriteImpl <em>Overwrite</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.OverwriteImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getOverwrite()
+ * @generated
+ */
+ int OVERWRITE = 6;
+
+ /**
+ * The feature id for the '<em><b>Base Object Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OVERWRITE__BASE_OBJECT_NODE = 0;
+
+ /**
+ * The number of structural features of the '<em>Overwrite</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OVERWRITE_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Overwrite</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OVERWRITE_OPERATION_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl <em>Probability</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getProbability()
+ * @generated
+ */
+ int PROBABILITY = 7;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Edge</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBABILITY__BASE_ACTIVITY_EDGE = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Parameter Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBABILITY__BASE_PARAMETER_SET = 1;
+
+ /**
+ * The feature id for the '<em><b>Probability</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBABILITY__PROBABILITY = 2;
+
+ /**
+ * The number of structural features of the '<em>Probability</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBABILITY_FEATURE_COUNT = 3;
+
+ /**
+ * The number of operations of the '<em>Probability</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PROBABILITY_OPERATION_COUNT = 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Continuous <em>Continuous</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Continuous</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Continuous
+ * @generated
+ */
+ EClass getContinuous();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Rate <em>Rate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rate</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Rate
+ * @generated
+ */
+ EClass getRate();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_ActivityEdge <em>Base Activity Edge</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Edge</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Rate#getBase_ActivityEdge()
+ * @see #getRate()
+ * @generated
+ */
+ EReference getRate_Base_ActivityEdge();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_ObjectNode <em>Base Object Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Object Node</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Rate#getBase_ObjectNode()
+ * @see #getRate()
+ * @generated
+ */
+ EReference getRate_Base_ObjectNode();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_Parameter <em>Base Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Parameter</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Rate#getBase_Parameter()
+ * @see #getRate()
+ * @generated
+ */
+ EReference getRate_Base_Parameter();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Rate#getRate <em>Rate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Rate</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Rate#getRate()
+ * @see #getRate()
+ * @generated
+ */
+ EReference getRate_Rate();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.ControlOperator <em>Control Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Control Operator</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.ControlOperator
+ * @generated
+ */
+ EClass getControlOperator();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Behavior <em>Base Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Behavior</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Behavior()
+ * @see #getControlOperator()
+ * @generated
+ */
+ EReference getControlOperator_Base_Behavior();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Operation <em>Base Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Operation</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Operation()
+ * @see #getControlOperator()
+ * @generated
+ */
+ EReference getControlOperator_Base_Operation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Discrete <em>Discrete</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Discrete</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Discrete
+ * @generated
+ */
+ EClass getDiscrete();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.NoBuffer <em>No Buffer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>No Buffer</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.NoBuffer
+ * @generated
+ */
+ EClass getNoBuffer();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.NoBuffer#getBase_ObjectNode <em>Base Object Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Object Node</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.NoBuffer#getBase_ObjectNode()
+ * @see #getNoBuffer()
+ * @generated
+ */
+ EReference getNoBuffer_Base_ObjectNode();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Optional <em>Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Optional</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Optional
+ * @generated
+ */
+ EClass getOptional();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Optional#getBase_Parameter <em>Base Parameter</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Parameter</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Optional#getBase_Parameter()
+ * @see #getOptional()
+ * @generated
+ */
+ EReference getOptional_Base_Parameter();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Overwrite <em>Overwrite</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Overwrite</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Overwrite
+ * @generated
+ */
+ EClass getOverwrite();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Overwrite#getBase_ObjectNode <em>Base Object Node</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Object Node</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Overwrite#getBase_ObjectNode()
+ * @see #getOverwrite()
+ * @generated
+ */
+ EReference getOverwrite_Base_ObjectNode();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.activities.Probability <em>Probability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Probability</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Probability
+ * @generated
+ */
+ EClass getProbability();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Probability#getBase_ActivityEdge <em>Base Activity Edge</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Edge</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Probability#getBase_ActivityEdge()
+ * @see #getProbability()
+ * @generated
+ */
+ EReference getProbability_Base_ActivityEdge();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Probability#getBase_ParameterSet <em>Base Parameter Set</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Parameter Set</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Probability#getBase_ParameterSet()
+ * @see #getProbability()
+ * @generated
+ */
+ EReference getProbability_Base_ParameterSet();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.activities.Probability#getProbability <em>Probability</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Probability</em>'.
+ * @see org.eclipse.papyrus.sysml16.activities.Probability#getProbability()
+ * @see #getProbability()
+ * @generated
+ */
+ EReference getProbability_Probability();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ ActivitiesFactory getActivitiesFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ContinuousImpl <em>Continuous</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ContinuousImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getContinuous()
+ * @generated
+ */
+ EClass CONTINUOUS = eINSTANCE.getContinuous();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl <em>Rate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getRate()
+ * @generated
+ */
+ EClass RATE = eINSTANCE.getRate();
+
+ /**
+ * The meta object literal for the '<em><b>Base Activity Edge</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RATE__BASE_ACTIVITY_EDGE = eINSTANCE.getRate_Base_ActivityEdge();
+
+ /**
+ * The meta object literal for the '<em><b>Base Object Node</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RATE__BASE_OBJECT_NODE = eINSTANCE.getRate_Base_ObjectNode();
+
+ /**
+ * The meta object literal for the '<em><b>Base Parameter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RATE__BASE_PARAMETER = eINSTANCE.getRate_Base_Parameter();
+
+ /**
+ * The meta object literal for the '<em><b>Rate</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RATE__RATE = eINSTANCE.getRate_Rate();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl <em>Control Operator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getControlOperator()
+ * @generated
+ */
+ EClass CONTROL_OPERATOR = eINSTANCE.getControlOperator();
+
+ /**
+ * The meta object literal for the '<em><b>Base Behavior</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONTROL_OPERATOR__BASE_BEHAVIOR = eINSTANCE.getControlOperator_Base_Behavior();
+
+ /**
+ * The meta object literal for the '<em><b>Base Operation</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CONTROL_OPERATOR__BASE_OPERATION = eINSTANCE.getControlOperator_Base_Operation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.DiscreteImpl <em>Discrete</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.DiscreteImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getDiscrete()
+ * @generated
+ */
+ EClass DISCRETE = eINSTANCE.getDiscrete();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl <em>No Buffer</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getNoBuffer()
+ * @generated
+ */
+ EClass NO_BUFFER = eINSTANCE.getNoBuffer();
+
+ /**
+ * The meta object literal for the '<em><b>Base Object Node</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NO_BUFFER__BASE_OBJECT_NODE = eINSTANCE.getNoBuffer_Base_ObjectNode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.OptionalImpl <em>Optional</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.OptionalImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getOptional()
+ * @generated
+ */
+ EClass OPTIONAL = eINSTANCE.getOptional();
+
+ /**
+ * The meta object literal for the '<em><b>Base Parameter</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPTIONAL__BASE_PARAMETER = eINSTANCE.getOptional_Base_Parameter();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.OverwriteImpl <em>Overwrite</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.OverwriteImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getOverwrite()
+ * @generated
+ */
+ EClass OVERWRITE = eINSTANCE.getOverwrite();
+
+ /**
+ * The meta object literal for the '<em><b>Base Object Node</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OVERWRITE__BASE_OBJECT_NODE = eINSTANCE.getOverwrite_Base_ObjectNode();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl <em>Probability</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl
+ * @see org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl#getProbability()
+ * @generated
+ */
+ EClass PROBABILITY = eINSTANCE.getProbability();
+
+ /**
+ * The meta object literal for the '<em><b>Base Activity Edge</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROBABILITY__BASE_ACTIVITY_EDGE = eINSTANCE.getProbability_Base_ActivityEdge();
+
+ /**
+ * The meta object literal for the '<em><b>Base Parameter Set</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROBABILITY__BASE_PARAMETER_SET = eINSTANCE.getProbability_Base_ParameterSet();
+
+ /**
+ * The meta object literal for the '<em><b>Probability</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PROBABILITY__PROBABILITY = eINSTANCE.getProbability_Probability();
+
+ }
+
+} //ActivitiesPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Continuous.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Continuous.java
new file mode 100644
index 0000000..b071721
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Continuous.java
@@ -0,0 +1,34 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Continuous</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * Continuous rate is a special case of rate of flow (see Rate) where the increment of time between items approaches zero. It is intended to represent continuous flows that may correspond to water flowing through a pipe, a time continuous signal, or continuous energy flow. It is independent from UML streaming. A streaming parameter may or may not apply to continuous flow, and a continuous flow may or may not apply to streaming parameters.
+ *
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getContinuous()
+ * @model
+ * @generated
+ */
+public interface Continuous extends Rate {
+} // Continuous
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ControlOperator.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ControlOperator.java
new file mode 100644
index 0000000..4ac6810
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/ControlOperator.java
@@ -0,0 +1,97 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Control Operator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * A control operator is a behavior that is intended to represent an arbitrarily complex logical operator that can be used to enable and disable other actions. When this stereotype is applied to behaviors, the behavior takes control values as inputs or provides them as outputs, that is, it treats control as data. When this stereotype is not applied, the behavior may not have a parameter typed by ControlValue. This stereotype also applies to operations with the same semantics.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Operation <em>Base Operation</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getControlOperator()
+ * @model
+ * @generated
+ */
+public interface ControlOperator extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Behavior</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Behavior</em>' reference.
+ * @see #setBase_Behavior(Behavior)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getControlOperator_Base_Behavior()
+ * @model ordered="false"
+ * @generated
+ */
+ Behavior getBase_Behavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Behavior <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Behavior</em>' reference.
+ * @see #getBase_Behavior()
+ * @generated
+ */
+ void setBase_Behavior(Behavior value);
+
+ /**
+ * Returns the value of the '<em><b>Base Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Operation</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Operation</em>' reference.
+ * @see #setBase_Operation(Operation)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getControlOperator_Base_Operation()
+ * @model ordered="false"
+ * @generated
+ */
+ Operation getBase_Operation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.ControlOperator#getBase_Operation <em>Base Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Operation</em>' reference.
+ * @see #getBase_Operation()
+ * @generated
+ */
+ void setBase_Operation(Operation value);
+
+} // ControlOperator
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Discrete.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Discrete.java
new file mode 100644
index 0000000..1f3b7b7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Discrete.java
@@ -0,0 +1,32 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Discrete</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * Discrete rate is a special case of rate of flow (see Rate) where the increment of time between items is non-zero.
+ * <!-- end-model-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getDiscrete()
+ * @model
+ * @generated
+ */
+public interface Discrete extends Rate {
+} // Discrete
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/NoBuffer.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/NoBuffer.java
new file mode 100644
index 0000000..b18d787
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/NoBuffer.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.ObjectNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>No Buffer</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * When this stereotype is applied to object nodes, tokens arriving at the node are discarded if they are refused by outgoing edges, or refused by actions for object nodes that are input pins. This is typically used with fast or continuously flowing data values, to prevent buffer overrun, or to model transient values, such as electrical signals. For object nodes that are the target of continuous flows, «nobuffer» and «overwrite» have the same effect. The stereotype does not override UML token offering semantics; it just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics are as in UML, specifically, tokens arriving at an object node that are refused by outgoing edges, or action for input pins, are held until they can leave the object node.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.NoBuffer#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getNoBuffer()
+ * @model
+ * @generated
+ */
+public interface NoBuffer extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Object Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Object Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Object Node</em>' reference.
+ * @see #setBase_ObjectNode(ObjectNode)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getNoBuffer_Base_ObjectNode()
+ * @model ordered="false"
+ * @generated
+ */
+ ObjectNode getBase_ObjectNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.NoBuffer#getBase_ObjectNode <em>Base Object Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Object Node</em>' reference.
+ * @see #getBase_ObjectNode()
+ * @generated
+ */
+ void setBase_ObjectNode(ObjectNode value);
+
+} // NoBuffer
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Optional.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Optional.java
new file mode 100644
index 0000000..44e397c
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Optional.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Optional</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * When the «optional» stereotype is applied to parameters, the lower multiplicity must be equal to zero. This means the parameter is not required to have a value for the activity or any behavior to begin or end execution. Otherwise, the lower multiplicity must be greater than zero, which is called “required.”
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Optional#getBase_Parameter <em>Base Parameter</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getOptional()
+ * @model
+ * @generated
+ */
+public interface Optional extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Parameter</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Parameter</em>' reference.
+ * @see #setBase_Parameter(Parameter)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getOptional_Base_Parameter()
+ * @model ordered="false"
+ * @generated
+ */
+ Parameter getBase_Parameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Optional#getBase_Parameter <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Parameter</em>' reference.
+ * @see #getBase_Parameter()
+ * @generated
+ */
+ void setBase_Parameter(Parameter value);
+
+} // Optional
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Overwrite.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Overwrite.java
new file mode 100644
index 0000000..9d16d72
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Overwrite.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.ObjectNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Overwrite</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * When the «overwrite» stereotype is applied to object nodes, a token arriving at a full object node replaces the ones already there (a full object node has as many tokens as allowed by its upper bound). This is typically used on an input pin with an upper bound of 1 to ensure that stale data is overridden at an input pin. For upper bounds greater than one, the token replaced is the one that would be the last to be selected according to the ordering kind for the node. For FIFO ordering, this is the most recently added token, for LIFO it is the least recently added token. A null token removes all the tokens already there. The number of tokens replaced is equal to the weight of the incoming edge, which defaults to 1. For object nodes that are the target of continuous flows, «overwrite» and «nobuffer» have the same effect. The stereotype does not override UML token offering semantics, just indicates what happens to the token when it is accepted. When the stereotype is not applied, the semantics is as in UML, specifically, tokens arriving at object nodes do not replace ones that are already there.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Overwrite#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getOverwrite()
+ * @model
+ * @generated
+ */
+public interface Overwrite extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Object Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Object Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Object Node</em>' reference.
+ * @see #setBase_ObjectNode(ObjectNode)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getOverwrite_Base_ObjectNode()
+ * @model ordered="false"
+ * @generated
+ */
+ ObjectNode getBase_ObjectNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Overwrite#getBase_ObjectNode <em>Base Object Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Object Node</em>' reference.
+ * @see #getBase_ObjectNode()
+ * @generated
+ */
+ void setBase_ObjectNode(ObjectNode value);
+
+} // Overwrite
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Probability.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Probability.java
new file mode 100644
index 0000000..e7b95c4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Probability.java
@@ -0,0 +1,126 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Probability</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * When the «probability» stereotype is applied to edges coming out of decision nodes and object nodes, it provides an expression for the probability that the edge will be traversed. These must be between zero and one inclusive, and add up to one for edges with same source at the time the probabilities are used.
+ * When the «probability» stereotype is applied to output parameter sets, it gives the probability the parameter set will be given values at runtime. These must be between zero and one inclusive, and add up to one for output parameter sets of the same behavior at the time the probabilities are used.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Probability#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Probability#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Probability#getProbability <em>Probability</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getProbability()
+ * @model
+ * @generated
+ */
+public interface Probability extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Activity Edge</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Edge</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Edge</em>' reference.
+ * @see #setBase_ActivityEdge(ActivityEdge)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getProbability_Base_ActivityEdge()
+ * @model ordered="false"
+ * @generated
+ */
+ ActivityEdge getBase_ActivityEdge();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Probability#getBase_ActivityEdge <em>Base Activity Edge</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Edge</em>' reference.
+ * @see #getBase_ActivityEdge()
+ * @generated
+ */
+ void setBase_ActivityEdge(ActivityEdge value);
+
+ /**
+ * Returns the value of the '<em><b>Base Parameter Set</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Parameter Set</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Parameter Set</em>' reference.
+ * @see #setBase_ParameterSet(ParameterSet)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getProbability_Base_ParameterSet()
+ * @model ordered="false"
+ * @generated
+ */
+ ParameterSet getBase_ParameterSet();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Probability#getBase_ParameterSet <em>Base Parameter Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Parameter Set</em>' reference.
+ * @see #getBase_ParameterSet()
+ * @generated
+ */
+ void setBase_ParameterSet(ParameterSet value);
+
+ /**
+ * Returns the value of the '<em><b>Probability</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Probability</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Probability</em>' reference.
+ * @see #setProbability(ValueSpecification)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getProbability_Probability()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ ValueSpecification getProbability();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Probability#getProbability <em>Probability</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Probability</em>' reference.
+ * @see #getProbability()
+ * @generated
+ */
+ void setProbability(ValueSpecification value);
+
+} // Probability
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Rate.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Rate.java
new file mode 100644
index 0000000..5fe4333
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/Rate.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * When the «rate» stereotype is applied to an activity edge, it specifies the expected value of the number of objects and values that traverse the edge per time interval, that is, the expected value rate at which they leave the source node and arrive at the target node. It does not refer to the rate at which a value changes over time. When the stereotype is applied to a parameter, the parameter must be streaming, and the stereotype gives the number of objects or values that flow in or out of the parameter per time interval while the behavior or operation is executing. Streaming is a characteristic of UML behavior parameters that supports the input and output of items while a behavior is executing, rather than only when the behavior starts and stops. The flow may be continuous or discrete. The «rate» stereotype has a rate property of type InstanceSpecification. The values of this property must be instances of classifiers stereotyped by «valueType» or «distributionDefinition». In particular, the denominator for units used in the rate property must be time units.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_Parameter <em>Base Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.Rate#getRate <em>Rate</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getRate()
+ * @model
+ * @generated
+ */
+public interface Rate extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Activity Edge</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Edge</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Edge</em>' reference.
+ * @see #setBase_ActivityEdge(ActivityEdge)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getRate_Base_ActivityEdge()
+ * @model ordered="false"
+ * @generated
+ */
+ ActivityEdge getBase_ActivityEdge();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_ActivityEdge <em>Base Activity Edge</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Edge</em>' reference.
+ * @see #getBase_ActivityEdge()
+ * @generated
+ */
+ void setBase_ActivityEdge(ActivityEdge value);
+
+ /**
+ * Returns the value of the '<em><b>Base Object Node</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Object Node</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Object Node</em>' reference.
+ * @see #setBase_ObjectNode(ObjectNode)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getRate_Base_ObjectNode()
+ * @model ordered="false"
+ * @generated
+ */
+ ObjectNode getBase_ObjectNode();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_ObjectNode <em>Base Object Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Object Node</em>' reference.
+ * @see #getBase_ObjectNode()
+ * @generated
+ */
+ void setBase_ObjectNode(ObjectNode value);
+
+ /**
+ * Returns the value of the '<em><b>Base Parameter</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Parameter</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Parameter</em>' reference.
+ * @see #setBase_Parameter(Parameter)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getRate_Base_Parameter()
+ * @model ordered="false"
+ * @generated
+ */
+ Parameter getBase_Parameter();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Rate#getBase_Parameter <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Parameter</em>' reference.
+ * @see #getBase_Parameter()
+ * @generated
+ */
+ void setBase_Parameter(Parameter value);
+
+ /**
+ * Returns the value of the '<em><b>Rate</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rate</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Rate</em>' reference.
+ * @see #setRate(InstanceSpecification)
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#getRate_Rate()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ InstanceSpecification getRate();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.activities.Rate#getRate <em>Rate</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Rate</em>' reference.
+ * @see #getRate()
+ * @generated
+ */
+ void setRate(InstanceSpecification value);
+
+} // Rate
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesFactoryImpl.java
new file mode 100644
index 0000000..5e5b465
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesFactoryImpl.java
@@ -0,0 +1,192 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.sysml16.activities.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivitiesFactoryImpl extends EFactoryImpl implements ActivitiesFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ActivitiesFactory init() {
+ try {
+ ActivitiesFactory theActivitiesFactory = (ActivitiesFactory)EPackage.Registry.INSTANCE.getEFactory(ActivitiesPackage.eNS_URI);
+ if (theActivitiesFactory != null) {
+ return theActivitiesFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new ActivitiesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivitiesFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case ActivitiesPackage.CONTINUOUS: return createContinuous();
+ case ActivitiesPackage.RATE: return createRate();
+ case ActivitiesPackage.CONTROL_OPERATOR: return createControlOperator();
+ case ActivitiesPackage.DISCRETE: return createDiscrete();
+ case ActivitiesPackage.NO_BUFFER: return createNoBuffer();
+ case ActivitiesPackage.OPTIONAL: return createOptional();
+ case ActivitiesPackage.OVERWRITE: return createOverwrite();
+ case ActivitiesPackage.PROBABILITY: return createProbability();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Continuous createContinuous() {
+ ContinuousImpl continuous = new ContinuousImpl();
+ return continuous;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Rate createRate() {
+ RateImpl rate = new RateImpl();
+ return rate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ControlOperator createControlOperator() {
+ ControlOperatorImpl controlOperator = new ControlOperatorImpl();
+ return controlOperator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Discrete createDiscrete() {
+ DiscreteImpl discrete = new DiscreteImpl();
+ return discrete;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NoBuffer createNoBuffer() {
+ NoBufferImpl noBuffer = new NoBufferImpl();
+ return noBuffer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Optional createOptional() {
+ OptionalImpl optional = new OptionalImpl();
+ return optional;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Overwrite createOverwrite() {
+ OverwriteImpl overwrite = new OverwriteImpl();
+ return overwrite;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Probability createProbability() {
+ ProbabilityImpl probability = new ProbabilityImpl();
+ return probability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ActivitiesPackage getActivitiesPackage() {
+ return (ActivitiesPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static ActivitiesPackage getPackage() {
+ return ActivitiesPackage.eINSTANCE;
+ }
+
+} //ActivitiesFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesPackageImpl.java
new file mode 100644
index 0000000..a8c7ac0
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ActivitiesPackageImpl.java
@@ -0,0 +1,578 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesFactory;
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Continuous;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+import org.eclipse.papyrus.sysml16.activities.Discrete;
+import org.eclipse.papyrus.sysml16.activities.NoBuffer;
+import org.eclipse.papyrus.sysml16.activities.Optional;
+import org.eclipse.papyrus.sysml16.activities.Overwrite;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class ActivitiesPackageImpl extends EPackageImpl implements ActivitiesPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass continuousEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass controlOperatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass discreteEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass noBufferEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass optionalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass overwriteEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass probabilityEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private ActivitiesPackageImpl() {
+ super(eNS_URI, ActivitiesFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link ActivitiesPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static ActivitiesPackage init() {
+ if (isInited) return (ActivitiesPackage)EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredActivitiesPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ ActivitiesPackageImpl theActivitiesPackage = registeredActivitiesPackage instanceof ActivitiesPackageImpl ? (ActivitiesPackageImpl)registeredActivitiesPackage : new ActivitiesPackageImpl();
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ StandardPackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+ SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+ AllocationsPackageImpl theAllocationsPackage = (AllocationsPackageImpl)(registeredPackage instanceof AllocationsPackageImpl ? registeredPackage : AllocationsPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+ BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+ ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+ DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+ PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+ ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theActivitiesPackage.createPackageContents();
+ theSysMLPackage.createPackageContents();
+ theAllocationsPackage.createPackageContents();
+ theBlocksPackage.createPackageContents();
+ theConstraintBlocksPackage.createPackageContents();
+ theDeprecatedElementsPackage.createPackageContents();
+ thePortsAndFlowsPackage.createPackageContents();
+ theModelElementsPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theActivitiesPackage.initializePackageContents();
+ theSysMLPackage.initializePackageContents();
+ theAllocationsPackage.initializePackageContents();
+ theBlocksPackage.initializePackageContents();
+ theConstraintBlocksPackage.initializePackageContents();
+ theDeprecatedElementsPackage.initializePackageContents();
+ thePortsAndFlowsPackage.initializePackageContents();
+ theModelElementsPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theActivitiesPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(ActivitiesPackage.eNS_URI, theActivitiesPackage);
+ return theActivitiesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getContinuous() {
+ return continuousEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getRate() {
+ return rateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getRate_Base_ActivityEdge() {
+ return (EReference)rateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getRate_Base_ObjectNode() {
+ return (EReference)rateEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getRate_Base_Parameter() {
+ return (EReference)rateEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getRate_Rate() {
+ return (EReference)rateEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getControlOperator() {
+ return controlOperatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getControlOperator_Base_Behavior() {
+ return (EReference)controlOperatorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getControlOperator_Base_Operation() {
+ return (EReference)controlOperatorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getDiscrete() {
+ return discreteEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getNoBuffer() {
+ return noBufferEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getNoBuffer_Base_ObjectNode() {
+ return (EReference)noBufferEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getOptional() {
+ return optionalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getOptional_Base_Parameter() {
+ return (EReference)optionalEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getOverwrite() {
+ return overwriteEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getOverwrite_Base_ObjectNode() {
+ return (EReference)overwriteEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getProbability() {
+ return probabilityEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getProbability_Base_ActivityEdge() {
+ return (EReference)probabilityEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getProbability_Base_ParameterSet() {
+ return (EReference)probabilityEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getProbability_Probability() {
+ return (EReference)probabilityEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ActivitiesFactory getActivitiesFactory() {
+ return (ActivitiesFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ continuousEClass = createEClass(CONTINUOUS);
+
+ rateEClass = createEClass(RATE);
+ createEReference(rateEClass, RATE__BASE_ACTIVITY_EDGE);
+ createEReference(rateEClass, RATE__BASE_OBJECT_NODE);
+ createEReference(rateEClass, RATE__BASE_PARAMETER);
+ createEReference(rateEClass, RATE__RATE);
+
+ controlOperatorEClass = createEClass(CONTROL_OPERATOR);
+ createEReference(controlOperatorEClass, CONTROL_OPERATOR__BASE_BEHAVIOR);
+ createEReference(controlOperatorEClass, CONTROL_OPERATOR__BASE_OPERATION);
+
+ discreteEClass = createEClass(DISCRETE);
+
+ noBufferEClass = createEClass(NO_BUFFER);
+ createEReference(noBufferEClass, NO_BUFFER__BASE_OBJECT_NODE);
+
+ optionalEClass = createEClass(OPTIONAL);
+ createEReference(optionalEClass, OPTIONAL__BASE_PARAMETER);
+
+ overwriteEClass = createEClass(OVERWRITE);
+ createEReference(overwriteEClass, OVERWRITE__BASE_OBJECT_NODE);
+
+ probabilityEClass = createEClass(PROBABILITY);
+ createEReference(probabilityEClass, PROBABILITY__BASE_ACTIVITY_EDGE);
+ createEReference(probabilityEClass, PROBABILITY__BASE_PARAMETER_SET);
+ createEReference(probabilityEClass, PROBABILITY__PROBABILITY);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ continuousEClass.getESuperTypes().add(this.getRate());
+ discreteEClass.getESuperTypes().add(this.getRate());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(continuousEClass, Continuous.class, "Continuous", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(rateEClass, Rate.class, "Rate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getRate_Base_ActivityEdge(), theUMLPackage.getActivityEdge(), null, "base_ActivityEdge", null, 0, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getRate_Base_ObjectNode(), theUMLPackage.getObjectNode(), null, "base_ObjectNode", null, 0, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getRate_Base_Parameter(), theUMLPackage.getParameter(), null, "base_Parameter", null, 0, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getRate_Rate(), theUMLPackage.getInstanceSpecification(), null, "rate", null, 1, 1, Rate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(controlOperatorEClass, ControlOperator.class, "ControlOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getControlOperator_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 0, 1, ControlOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getControlOperator_Base_Operation(), theUMLPackage.getOperation(), null, "base_Operation", null, 0, 1, ControlOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(discreteEClass, Discrete.class, "Discrete", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+
+ initEClass(noBufferEClass, NoBuffer.class, "NoBuffer", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getNoBuffer_Base_ObjectNode(), theUMLPackage.getObjectNode(), null, "base_ObjectNode", null, 0, 1, NoBuffer.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(optionalEClass, Optional.class, "Optional", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getOptional_Base_Parameter(), theUMLPackage.getParameter(), null, "base_Parameter", null, 0, 1, Optional.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(overwriteEClass, Overwrite.class, "Overwrite", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getOverwrite_Base_ObjectNode(), theUMLPackage.getObjectNode(), null, "base_ObjectNode", null, 0, 1, Overwrite.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(probabilityEClass, Probability.class, "Probability", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getProbability_Base_ActivityEdge(), theUMLPackage.getActivityEdge(), null, "base_ActivityEdge", null, 0, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getProbability_Base_ParameterSet(), theUMLPackage.getParameterSet(), null, "base_ParameterSet", null, 0, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+ initEReference(getProbability_Probability(), theUMLPackage.getValueSpecification(), null, "probability", null, 1, 1, Probability.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ // Create annotations
+ // http://www.eclipse.org/uml2/2.0.0/UML
+ createUMLAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createUMLAnnotations() {
+ String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "originalName", "Activities" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+} //ActivitiesPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ContinuousImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ContinuousImpl.java
new file mode 100644
index 0000000..3bd2d88
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ContinuousImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Continuous;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Continuous</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class ContinuousImpl extends RateImpl implements Continuous {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContinuousImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ActivitiesPackage.Literals.CONTINUOUS;
+ }
+
+} //ContinuousImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ControlOperatorImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ControlOperatorImpl.java
new file mode 100644
index 0000000..3fb8388
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ControlOperatorImpl.java
@@ -0,0 +1,234 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.ControlOperator;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Operation;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Control Operator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ControlOperatorImpl#getBase_Operation <em>Base Operation</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ControlOperatorImpl extends MinimalEObjectImpl.Container implements ControlOperator {
+ /**
+ * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Behavior()
+ * @generated
+ * @ordered
+ */
+ protected Behavior base_Behavior;
+
+ /**
+ * The cached value of the '{@link #getBase_Operation() <em>Base Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Operation()
+ * @generated
+ * @ordered
+ */
+ protected Operation base_Operation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ControlOperatorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ActivitiesPackage.Literals.CONTROL_OPERATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Behavior getBase_Behavior() {
+ if (base_Behavior != null && base_Behavior.eIsProxy()) {
+ InternalEObject oldBase_Behavior = (InternalEObject)base_Behavior;
+ base_Behavior = (Behavior)eResolveProxy(oldBase_Behavior);
+ if (base_Behavior != oldBase_Behavior) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+ }
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBase_Behavior() {
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Behavior(Behavior newBase_Behavior) {
+ Behavior oldBase_Behavior = base_Behavior;
+ base_Behavior = newBase_Behavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Operation getBase_Operation() {
+ if (base_Operation != null && base_Operation.eIsProxy()) {
+ InternalEObject oldBase_Operation = (InternalEObject)base_Operation;
+ base_Operation = (Operation)eResolveProxy(oldBase_Operation);
+ if (base_Operation != oldBase_Operation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION, oldBase_Operation, base_Operation));
+ }
+ }
+ return base_Operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetBase_Operation() {
+ return base_Operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Operation(Operation newBase_Operation) {
+ Operation oldBase_Operation = base_Operation;
+ base_Operation = newBase_Operation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION, oldBase_Operation, base_Operation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+ if (resolve) return getBase_Behavior();
+ return basicGetBase_Behavior();
+ case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+ if (resolve) return getBase_Operation();
+ return basicGetBase_Operation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)newValue);
+ return;
+ case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+ setBase_Operation((Operation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)null);
+ return;
+ case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+ setBase_Operation((Operation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.CONTROL_OPERATOR__BASE_BEHAVIOR:
+ return base_Behavior != null;
+ case ActivitiesPackage.CONTROL_OPERATOR__BASE_OPERATION:
+ return base_Operation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ControlOperatorImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/DiscreteImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/DiscreteImpl.java
new file mode 100644
index 0000000..9b7807a
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/DiscreteImpl.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Discrete;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Discrete</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * @generated
+ */
+public class DiscreteImpl extends RateImpl implements Discrete {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DiscreteImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ActivitiesPackage.Literals.DISCRETE;
+ }
+
+} //DiscreteImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/NoBufferImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/NoBufferImpl.java
new file mode 100644
index 0000000..727a3e9
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/NoBufferImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.NoBuffer;
+
+import org.eclipse.uml2.uml.ObjectNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>No Buffer</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.NoBufferImpl#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class NoBufferImpl extends MinimalEObjectImpl.Container implements NoBuffer {
+ /**
+ * The cached value of the '{@link #getBase_ObjectNode() <em>Base Object Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ObjectNode()
+ * @generated
+ * @ordered
+ */
+ protected ObjectNode base_ObjectNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NoBufferImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ActivitiesPackage.Literals.NO_BUFFER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ObjectNode getBase_ObjectNode() {
+ if (base_ObjectNode != null && base_ObjectNode.eIsProxy()) {
+ InternalEObject oldBase_ObjectNode = (InternalEObject)base_ObjectNode;
+ base_ObjectNode = (ObjectNode)eResolveProxy(oldBase_ObjectNode);
+ if (base_ObjectNode != oldBase_ObjectNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+ }
+ }
+ return base_ObjectNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectNode basicGetBase_ObjectNode() {
+ return base_ObjectNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_ObjectNode(ObjectNode newBase_ObjectNode) {
+ ObjectNode oldBase_ObjectNode = base_ObjectNode;
+ base_ObjectNode = newBase_ObjectNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+ if (resolve) return getBase_ObjectNode();
+ return basicGetBase_ObjectNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+ setBase_ObjectNode((ObjectNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+ setBase_ObjectNode((ObjectNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.NO_BUFFER__BASE_OBJECT_NODE:
+ return base_ObjectNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //NoBufferImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OptionalImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OptionalImpl.java
new file mode 100644
index 0000000..c6ec672
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OptionalImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Optional;
+
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Optional</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.OptionalImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OptionalImpl extends MinimalEObjectImpl.Container implements Optional {
+ /**
+ * The cached value of the '{@link #getBase_Parameter() <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Parameter()
+ * @generated
+ * @ordered
+ */
+ protected Parameter base_Parameter;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OptionalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ActivitiesPackage.Literals.OPTIONAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Parameter getBase_Parameter() {
+ if (base_Parameter != null && base_Parameter.eIsProxy()) {
+ InternalEObject oldBase_Parameter = (InternalEObject)base_Parameter;
+ base_Parameter = (Parameter)eResolveProxy(oldBase_Parameter);
+ if (base_Parameter != oldBase_Parameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.OPTIONAL__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+ }
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter basicGetBase_Parameter() {
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Parameter(Parameter newBase_Parameter) {
+ Parameter oldBase_Parameter = base_Parameter;
+ base_Parameter = newBase_Parameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.OPTIONAL__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ActivitiesPackage.OPTIONAL__BASE_PARAMETER:
+ if (resolve) return getBase_Parameter();
+ return basicGetBase_Parameter();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ActivitiesPackage.OPTIONAL__BASE_PARAMETER:
+ setBase_Parameter((Parameter)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.OPTIONAL__BASE_PARAMETER:
+ setBase_Parameter((Parameter)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.OPTIONAL__BASE_PARAMETER:
+ return base_Parameter != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //OptionalImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OverwriteImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OverwriteImpl.java
new file mode 100644
index 0000000..37582b2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/OverwriteImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Overwrite;
+
+import org.eclipse.uml2.uml.ObjectNode;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Overwrite</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.OverwriteImpl#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class OverwriteImpl extends MinimalEObjectImpl.Container implements Overwrite {
+ /**
+ * The cached value of the '{@link #getBase_ObjectNode() <em>Base Object Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ObjectNode()
+ * @generated
+ * @ordered
+ */
+ protected ObjectNode base_ObjectNode;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OverwriteImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ActivitiesPackage.Literals.OVERWRITE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ObjectNode getBase_ObjectNode() {
+ if (base_ObjectNode != null && base_ObjectNode.eIsProxy()) {
+ InternalEObject oldBase_ObjectNode = (InternalEObject)base_ObjectNode;
+ base_ObjectNode = (ObjectNode)eResolveProxy(oldBase_ObjectNode);
+ if (base_ObjectNode != oldBase_ObjectNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+ }
+ }
+ return base_ObjectNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectNode basicGetBase_ObjectNode() {
+ return base_ObjectNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_ObjectNode(ObjectNode newBase_ObjectNode) {
+ ObjectNode oldBase_ObjectNode = base_ObjectNode;
+ base_ObjectNode = newBase_ObjectNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+ if (resolve) return getBase_ObjectNode();
+ return basicGetBase_ObjectNode();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+ setBase_ObjectNode((ObjectNode)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+ setBase_ObjectNode((ObjectNode)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.OVERWRITE__BASE_OBJECT_NODE:
+ return base_ObjectNode != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //OverwriteImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ProbabilityImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ProbabilityImpl.java
new file mode 100644
index 0000000..e6274ce
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/ProbabilityImpl.java
@@ -0,0 +1,297 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Probability;
+
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.ParameterSet;
+import org.eclipse.uml2.uml.ValueSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Probability</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl#getBase_ParameterSet <em>Base Parameter Set</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.ProbabilityImpl#getProbability <em>Probability</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class ProbabilityImpl extends MinimalEObjectImpl.Container implements Probability {
+ /**
+ * The cached value of the '{@link #getBase_ActivityEdge() <em>Base Activity Edge</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityEdge()
+ * @generated
+ * @ordered
+ */
+ protected ActivityEdge base_ActivityEdge;
+
+ /**
+ * The cached value of the '{@link #getBase_ParameterSet() <em>Base Parameter Set</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ParameterSet()
+ * @generated
+ * @ordered
+ */
+ protected ParameterSet base_ParameterSet;
+
+ /**
+ * The cached value of the '{@link #getProbability() <em>Probability</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProbability()
+ * @generated
+ * @ordered
+ */
+ protected ValueSpecification probability;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProbabilityImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ActivitiesPackage.Literals.PROBABILITY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ActivityEdge getBase_ActivityEdge() {
+ if (base_ActivityEdge != null && base_ActivityEdge.eIsProxy()) {
+ InternalEObject oldBase_ActivityEdge = (InternalEObject)base_ActivityEdge;
+ base_ActivityEdge = (ActivityEdge)eResolveProxy(oldBase_ActivityEdge);
+ if (base_ActivityEdge != oldBase_ActivityEdge) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE, oldBase_ActivityEdge, base_ActivityEdge));
+ }
+ }
+ return base_ActivityEdge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge basicGetBase_ActivityEdge() {
+ return base_ActivityEdge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_ActivityEdge(ActivityEdge newBase_ActivityEdge) {
+ ActivityEdge oldBase_ActivityEdge = base_ActivityEdge;
+ base_ActivityEdge = newBase_ActivityEdge;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE, oldBase_ActivityEdge, base_ActivityEdge));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ParameterSet getBase_ParameterSet() {
+ if (base_ParameterSet != null && base_ParameterSet.eIsProxy()) {
+ InternalEObject oldBase_ParameterSet = (InternalEObject)base_ParameterSet;
+ base_ParameterSet = (ParameterSet)eResolveProxy(oldBase_ParameterSet);
+ if (base_ParameterSet != oldBase_ParameterSet) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET, oldBase_ParameterSet, base_ParameterSet));
+ }
+ }
+ return base_ParameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ParameterSet basicGetBase_ParameterSet() {
+ return base_ParameterSet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_ParameterSet(ParameterSet newBase_ParameterSet) {
+ ParameterSet oldBase_ParameterSet = base_ParameterSet;
+ base_ParameterSet = newBase_ParameterSet;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET, oldBase_ParameterSet, base_ParameterSet));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ValueSpecification getProbability() {
+ if (probability != null && probability.eIsProxy()) {
+ InternalEObject oldProbability = (InternalEObject)probability;
+ probability = (ValueSpecification)eResolveProxy(oldProbability);
+ if (probability != oldProbability) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.PROBABILITY__PROBABILITY, oldProbability, probability));
+ }
+ }
+ return probability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ValueSpecification basicGetProbability() {
+ return probability;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setProbability(ValueSpecification newProbability) {
+ ValueSpecification oldProbability = probability;
+ probability = newProbability;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.PROBABILITY__PROBABILITY, oldProbability, probability));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE:
+ if (resolve) return getBase_ActivityEdge();
+ return basicGetBase_ActivityEdge();
+ case ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET:
+ if (resolve) return getBase_ParameterSet();
+ return basicGetBase_ParameterSet();
+ case ActivitiesPackage.PROBABILITY__PROBABILITY:
+ if (resolve) return getProbability();
+ return basicGetProbability();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE:
+ setBase_ActivityEdge((ActivityEdge)newValue);
+ return;
+ case ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET:
+ setBase_ParameterSet((ParameterSet)newValue);
+ return;
+ case ActivitiesPackage.PROBABILITY__PROBABILITY:
+ setProbability((ValueSpecification)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE:
+ setBase_ActivityEdge((ActivityEdge)null);
+ return;
+ case ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET:
+ setBase_ParameterSet((ParameterSet)null);
+ return;
+ case ActivitiesPackage.PROBABILITY__PROBABILITY:
+ setProbability((ValueSpecification)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.PROBABILITY__BASE_ACTIVITY_EDGE:
+ return base_ActivityEdge != null;
+ case ActivitiesPackage.PROBABILITY__BASE_PARAMETER_SET:
+ return base_ParameterSet != null;
+ case ActivitiesPackage.PROBABILITY__PROBABILITY:
+ return probability != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ProbabilityImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/RateImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/RateImpl.java
new file mode 100644
index 0000000..0f2fb4d
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/internal/impl/RateImpl.java
@@ -0,0 +1,360 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+import org.eclipse.papyrus.sysml16.activities.Rate;
+
+import org.eclipse.uml2.uml.ActivityEdge;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.ObjectNode;
+import org.eclipse.uml2.uml.Parameter;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl#getBase_ActivityEdge <em>Base Activity Edge</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl#getBase_ObjectNode <em>Base Object Node</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl#getBase_Parameter <em>Base Parameter</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.activities.internal.impl.RateImpl#getRate <em>Rate</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class RateImpl extends MinimalEObjectImpl.Container implements Rate {
+ /**
+ * The cached value of the '{@link #getBase_ActivityEdge() <em>Base Activity Edge</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityEdge()
+ * @generated
+ * @ordered
+ */
+ protected ActivityEdge base_ActivityEdge;
+
+ /**
+ * The cached value of the '{@link #getBase_ObjectNode() <em>Base Object Node</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ObjectNode()
+ * @generated
+ * @ordered
+ */
+ protected ObjectNode base_ObjectNode;
+
+ /**
+ * The cached value of the '{@link #getBase_Parameter() <em>Base Parameter</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Parameter()
+ * @generated
+ * @ordered
+ */
+ protected Parameter base_Parameter;
+
+ /**
+ * The cached value of the '{@link #getRate() <em>Rate</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRate()
+ * @generated
+ * @ordered
+ */
+ protected InstanceSpecification rate;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return ActivitiesPackage.Literals.RATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ActivityEdge getBase_ActivityEdge() {
+ if (base_ActivityEdge != null && base_ActivityEdge.eIsProxy()) {
+ InternalEObject oldBase_ActivityEdge = (InternalEObject)base_ActivityEdge;
+ base_ActivityEdge = (ActivityEdge)eResolveProxy(oldBase_ActivityEdge);
+ if (base_ActivityEdge != oldBase_ActivityEdge) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE, oldBase_ActivityEdge, base_ActivityEdge));
+ }
+ }
+ return base_ActivityEdge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityEdge basicGetBase_ActivityEdge() {
+ return base_ActivityEdge;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_ActivityEdge(ActivityEdge newBase_ActivityEdge) {
+ ActivityEdge oldBase_ActivityEdge = base_ActivityEdge;
+ base_ActivityEdge = newBase_ActivityEdge;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE, oldBase_ActivityEdge, base_ActivityEdge));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ObjectNode getBase_ObjectNode() {
+ if (base_ObjectNode != null && base_ObjectNode.eIsProxy()) {
+ InternalEObject oldBase_ObjectNode = (InternalEObject)base_ObjectNode;
+ base_ObjectNode = (ObjectNode)eResolveProxy(oldBase_ObjectNode);
+ if (base_ObjectNode != oldBase_ObjectNode) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.RATE__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+ }
+ }
+ return base_ObjectNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObjectNode basicGetBase_ObjectNode() {
+ return base_ObjectNode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_ObjectNode(ObjectNode newBase_ObjectNode) {
+ ObjectNode oldBase_ObjectNode = base_ObjectNode;
+ base_ObjectNode = newBase_ObjectNode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.RATE__BASE_OBJECT_NODE, oldBase_ObjectNode, base_ObjectNode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Parameter getBase_Parameter() {
+ if (base_Parameter != null && base_Parameter.eIsProxy()) {
+ InternalEObject oldBase_Parameter = (InternalEObject)base_Parameter;
+ base_Parameter = (Parameter)eResolveProxy(oldBase_Parameter);
+ if (base_Parameter != oldBase_Parameter) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.RATE__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+ }
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Parameter basicGetBase_Parameter() {
+ return base_Parameter;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Parameter(Parameter newBase_Parameter) {
+ Parameter oldBase_Parameter = base_Parameter;
+ base_Parameter = newBase_Parameter;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.RATE__BASE_PARAMETER, oldBase_Parameter, base_Parameter));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public InstanceSpecification getRate() {
+ if (rate != null && rate.eIsProxy()) {
+ InternalEObject oldRate = (InternalEObject)rate;
+ rate = (InstanceSpecification)eResolveProxy(oldRate);
+ if (rate != oldRate) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, ActivitiesPackage.RATE__RATE, oldRate, rate));
+ }
+ }
+ return rate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification basicGetRate() {
+ return rate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setRate(InstanceSpecification newRate) {
+ InstanceSpecification oldRate = rate;
+ rate = newRate;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, ActivitiesPackage.RATE__RATE, oldRate, rate));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+ if (resolve) return getBase_ActivityEdge();
+ return basicGetBase_ActivityEdge();
+ case ActivitiesPackage.RATE__BASE_OBJECT_NODE:
+ if (resolve) return getBase_ObjectNode();
+ return basicGetBase_ObjectNode();
+ case ActivitiesPackage.RATE__BASE_PARAMETER:
+ if (resolve) return getBase_Parameter();
+ return basicGetBase_Parameter();
+ case ActivitiesPackage.RATE__RATE:
+ if (resolve) return getRate();
+ return basicGetRate();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+ setBase_ActivityEdge((ActivityEdge)newValue);
+ return;
+ case ActivitiesPackage.RATE__BASE_OBJECT_NODE:
+ setBase_ObjectNode((ObjectNode)newValue);
+ return;
+ case ActivitiesPackage.RATE__BASE_PARAMETER:
+ setBase_Parameter((Parameter)newValue);
+ return;
+ case ActivitiesPackage.RATE__RATE:
+ setRate((InstanceSpecification)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+ setBase_ActivityEdge((ActivityEdge)null);
+ return;
+ case ActivitiesPackage.RATE__BASE_OBJECT_NODE:
+ setBase_ObjectNode((ObjectNode)null);
+ return;
+ case ActivitiesPackage.RATE__BASE_PARAMETER:
+ setBase_Parameter((Parameter)null);
+ return;
+ case ActivitiesPackage.RATE__RATE:
+ setRate((InstanceSpecification)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case ActivitiesPackage.RATE__BASE_ACTIVITY_EDGE:
+ return base_ActivityEdge != null;
+ case ActivitiesPackage.RATE__BASE_OBJECT_NODE:
+ return base_ObjectNode != null;
+ case ActivitiesPackage.RATE__BASE_PARAMETER:
+ return base_Parameter != null;
+ case ActivitiesPackage.RATE__RATE:
+ return rate != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RateImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesAdapterFactory.java
new file mode 100644
index 0000000..fb5ec41
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesAdapterFactory.java
@@ -0,0 +1,257 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.sysml16.activities.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage
+ * @generated
+ */
+public class ActivitiesAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ActivitiesPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivitiesAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = ActivitiesPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ActivitiesSwitch<Adapter> modelSwitch =
+ new ActivitiesSwitch<Adapter>() {
+ @Override
+ public Adapter caseContinuous(Continuous object) {
+ return createContinuousAdapter();
+ }
+ @Override
+ public Adapter caseRate(Rate object) {
+ return createRateAdapter();
+ }
+ @Override
+ public Adapter caseControlOperator(ControlOperator object) {
+ return createControlOperatorAdapter();
+ }
+ @Override
+ public Adapter caseDiscrete(Discrete object) {
+ return createDiscreteAdapter();
+ }
+ @Override
+ public Adapter caseNoBuffer(NoBuffer object) {
+ return createNoBufferAdapter();
+ }
+ @Override
+ public Adapter caseOptional(Optional object) {
+ return createOptionalAdapter();
+ }
+ @Override
+ public Adapter caseOverwrite(Overwrite object) {
+ return createOverwriteAdapter();
+ }
+ @Override
+ public Adapter caseProbability(Probability object) {
+ return createProbabilityAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.activities.Continuous <em>Continuous</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.activities.Continuous
+ * @generated
+ */
+ public Adapter createContinuousAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.activities.Rate <em>Rate</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.activities.Rate
+ * @generated
+ */
+ public Adapter createRateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.activities.ControlOperator <em>Control Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.activities.ControlOperator
+ * @generated
+ */
+ public Adapter createControlOperatorAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.activities.Discrete <em>Discrete</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.activities.Discrete
+ * @generated
+ */
+ public Adapter createDiscreteAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.activities.NoBuffer <em>No Buffer</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.activities.NoBuffer
+ * @generated
+ */
+ public Adapter createNoBufferAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.activities.Optional <em>Optional</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.activities.Optional
+ * @generated
+ */
+ public Adapter createOptionalAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.activities.Overwrite <em>Overwrite</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.activities.Overwrite
+ * @generated
+ */
+ public Adapter createOverwriteAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.activities.Probability <em>Probability</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.activities.Probability
+ * @generated
+ */
+ public Adapter createProbabilityAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //ActivitiesAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesSwitch.java
new file mode 100644
index 0000000..6dda2c3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/activities/util/ActivitiesSwitch.java
@@ -0,0 +1,270 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.activities.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.sysml16.activities.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.activities.ActivitiesPackage
+ * @generated
+ */
+public class ActivitiesSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static ActivitiesPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivitiesSwitch() {
+ if (modelPackage == null) {
+ modelPackage = ActivitiesPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case ActivitiesPackage.CONTINUOUS: {
+ Continuous continuous = (Continuous)theEObject;
+ T result = caseContinuous(continuous);
+ if (result == null) result = caseRate(continuous);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ActivitiesPackage.RATE: {
+ Rate rate = (Rate)theEObject;
+ T result = caseRate(rate);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ActivitiesPackage.CONTROL_OPERATOR: {
+ ControlOperator controlOperator = (ControlOperator)theEObject;
+ T result = caseControlOperator(controlOperator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ActivitiesPackage.DISCRETE: {
+ Discrete discrete = (Discrete)theEObject;
+ T result = caseDiscrete(discrete);
+ if (result == null) result = caseRate(discrete);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ActivitiesPackage.NO_BUFFER: {
+ NoBuffer noBuffer = (NoBuffer)theEObject;
+ T result = caseNoBuffer(noBuffer);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ActivitiesPackage.OPTIONAL: {
+ Optional optional = (Optional)theEObject;
+ T result = caseOptional(optional);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ActivitiesPackage.OVERWRITE: {
+ Overwrite overwrite = (Overwrite)theEObject;
+ T result = caseOverwrite(overwrite);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case ActivitiesPackage.PROBABILITY: {
+ Probability probability = (Probability)theEObject;
+ T result = caseProbability(probability);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Continuous</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Continuous</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseContinuous(Continuous object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rate</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Rate</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRate(Rate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Control Operator</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Control Operator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseControlOperator(ControlOperator object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Discrete</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Discrete</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDiscrete(Discrete object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>No Buffer</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>No Buffer</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNoBuffer(NoBuffer object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Optional</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Optional</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOptional(Optional object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Overwrite</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Overwrite</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOverwrite(Overwrite object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Probability</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Probability</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProbability(Probability object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //ActivitiesSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/Allocate.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/Allocate.java
new file mode 100644
index 0000000..2adb1ed
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/Allocate.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Allocate</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * Allocate is a dependency based on UML::abstraction. It is a mechanism for associating elements of different types, or in different hierarchies, at an abstract level. Allocate is used for assessing user model consistency and directing future design activity. It is expected that an «allocate» relationship between model elements is a precursor to a more concrete relationship between the elements, their properties, operations, attributes, or sub-classes.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.allocations.Allocate#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage#getAllocate()
+ * @model
+ * @generated
+ */
+public interface Allocate extends DirectedRelationshipPropertyPath {
+ /**
+ * Returns the value of the '<em><b>Base Abstraction</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Abstraction</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Abstraction</em>' reference.
+ * @see #setBase_Abstraction(Abstraction)
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage#getAllocate_Base_Abstraction()
+ * @model ordered="false"
+ * @generated
+ */
+ Abstraction getBase_Abstraction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.allocations.Allocate#getBase_Abstraction <em>Base Abstraction</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Abstraction</em>' reference.
+ * @see #getBase_Abstraction()
+ * @generated
+ */
+ void setBase_Abstraction(Abstraction value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model refRequired="true" refOrdered="false" resultMany="true" resultOrdered="false"
+ * @generated
+ */
+ void getAllocatedFrom(NamedElement ref, EList<NamedElement> result);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model refRequired="true" refOrdered="false" resultMany="true" resultOrdered="false"
+ * @generated
+ */
+ void getAllocatedTo(NamedElement ref, EList<NamedElement> result);
+
+} // Allocate
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocateActivityPartition.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocateActivityPartition.java
new file mode 100644
index 0000000..f1c4be5
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocateActivityPartition.java
@@ -0,0 +1,67 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Allocate Activity Partition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ * AllocateActivityPartition is used to depict an «allocate» relationship on an Activity diagram. The AllocateActivityPartition is a standard UML2::ActivityPartition, with modified constraints as stated in the paragraph below.
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage#getAllocateActivityPartition()
+ * @model
+ * @generated
+ */
+public interface AllocateActivityPartition extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Activity Partition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Activity Partition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Activity Partition</em>' reference.
+ * @see #setBase_ActivityPartition(ActivityPartition)
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage#getAllocateActivityPartition_Base_ActivityPartition()
+ * @model ordered="false"
+ * @generated
+ */
+ ActivityPartition getBase_ActivityPartition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition#getBase_ActivityPartition <em>Base Activity Partition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Activity Partition</em>' reference.
+ * @see #getBase_ActivityPartition()
+ * @generated
+ */
+ void setBase_ActivityPartition(ActivityPartition value);
+
+} // AllocateActivityPartition
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsFactory.java
new file mode 100644
index 0000000..40f56ab
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsFactory.java
@@ -0,0 +1,62 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage
+ * @generated
+ */
+public interface AllocationsFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ AllocationsFactory eINSTANCE = org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Allocate</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Allocate</em>'.
+ * @generated
+ */
+ Allocate createAllocate();
+
+ /**
+ * Returns a new object of class '<em>Allocate Activity Partition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Allocate Activity Partition</em>'.
+ * @generated
+ */
+ AllocateActivityPartition createAllocateActivityPartition();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ AllocationsPackage getAllocationsPackage();
+
+} //AllocationsFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsPackage.java
new file mode 100644
index 0000000..fb5c402
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/AllocationsPackage.java
@@ -0,0 +1,350 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Allocations'"
+ * @generated
+ */
+public interface AllocationsPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "allocations"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Allocations"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Allocations"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ AllocationsPackage eINSTANCE = org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl <em>Allocate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl
+ * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl#getAllocate()
+ * @generated
+ */
+ int ALLOCATE = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Directed Relationship</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE__BASE_DIRECTED_RELATIONSHIP = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__BASE_DIRECTED_RELATIONSHIP;
+
+ /**
+ * The feature id for the '<em><b>Source Context</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE__SOURCE_CONTEXT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_CONTEXT;
+
+ /**
+ * The feature id for the '<em><b>Source Property Path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE__SOURCE_PROPERTY_PATH = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__SOURCE_PROPERTY_PATH;
+
+ /**
+ * The feature id for the '<em><b>Target Context</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE__TARGET_CONTEXT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_CONTEXT;
+
+ /**
+ * The feature id for the '<em><b>Target Property Path</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE__TARGET_PROPERTY_PATH = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH__TARGET_PROPERTY_PATH;
+
+ /**
+ * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE__BASE_ABSTRACTION = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Allocate</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE_FEATURE_COUNT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_FEATURE_COUNT + 1;
+
+ /**
+ * The operation id for the '<em>Get Allocated From</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE___GET_ALLOCATED_FROM__NAMEDELEMENT_ELIST = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 0;
+
+ /**
+ * The operation id for the '<em>Get Allocated To</em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE___GET_ALLOCATED_TO__NAMEDELEMENT_ELIST = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 1;
+
+ /**
+ * The number of operations of the '<em>Allocate</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE_OPERATION_COUNT = BlocksPackage.DIRECTED_RELATIONSHIP_PROPERTY_PATH_OPERATION_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl <em>Allocate Activity Partition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl
+ * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl#getAllocateActivityPartition()
+ * @generated
+ */
+ int ALLOCATE_ACTIVITY_PARTITION = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Activity Partition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION = 0;
+
+ /**
+ * The number of structural features of the '<em>Allocate Activity Partition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE_ACTIVITY_PARTITION_FEATURE_COUNT = 1;
+
+ /**
+ * The number of operations of the '<em>Allocate Activity Partition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALLOCATE_ACTIVITY_PARTITION_OPERATION_COUNT = 0;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.allocations.Allocate <em>Allocate</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Allocate</em>'.
+ * @see org.eclipse.papyrus.sysml16.allocations.Allocate
+ * @generated
+ */
+ EClass getAllocate();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.allocations.Allocate#getBase_Abstraction <em>Base Abstraction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Abstraction</em>'.
+ * @see org.eclipse.papyrus.sysml16.allocations.Allocate#getBase_Abstraction()
+ * @see #getAllocate()
+ * @generated
+ */
+ EReference getAllocate_Base_Abstraction();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.allocations.Allocate#getAllocatedFrom(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList) <em>Get Allocated From</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Get Allocated From</em>' operation.
+ * @see org.eclipse.papyrus.sysml16.allocations.Allocate#getAllocatedFrom(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getAllocate__GetAllocatedFrom__NamedElement_EList();
+
+ /**
+ * Returns the meta object for the '{@link org.eclipse.papyrus.sysml16.allocations.Allocate#getAllocatedTo(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList) <em>Get Allocated To</em>}' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the '<em>Get Allocated To</em>' operation.
+ * @see org.eclipse.papyrus.sysml16.allocations.Allocate#getAllocatedTo(org.eclipse.uml2.uml.NamedElement, org.eclipse.emf.common.util.EList)
+ * @generated
+ */
+ EOperation getAllocate__GetAllocatedTo__NamedElement_EList();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition <em>Allocate Activity Partition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Allocate Activity Partition</em>'.
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition
+ * @generated
+ */
+ EClass getAllocateActivityPartition();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition#getBase_ActivityPartition <em>Base Activity Partition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Activity Partition</em>'.
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition#getBase_ActivityPartition()
+ * @see #getAllocateActivityPartition()
+ * @generated
+ */
+ EReference getAllocateActivityPartition_Base_ActivityPartition();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ AllocationsFactory getAllocationsFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl <em>Allocate</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl
+ * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl#getAllocate()
+ * @generated
+ */
+ EClass ALLOCATE = eINSTANCE.getAllocate();
+
+ /**
+ * The meta object literal for the '<em><b>Base Abstraction</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ALLOCATE__BASE_ABSTRACTION = eINSTANCE.getAllocate_Base_Abstraction();
+
+ /**
+ * The meta object literal for the '<em><b>Get Allocated From</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation ALLOCATE___GET_ALLOCATED_FROM__NAMEDELEMENT_ELIST = eINSTANCE.getAllocate__GetAllocatedFrom__NamedElement_EList();
+
+ /**
+ * The meta object literal for the '<em><b>Get Allocated To</b></em>' operation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EOperation ALLOCATE___GET_ALLOCATED_TO__NAMEDELEMENT_ELIST = eINSTANCE.getAllocate__GetAllocatedTo__NamedElement_EList();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl <em>Allocate Activity Partition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl
+ * @see org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocationsPackageImpl#getAllocateActivityPartition()
+ * @generated
+ */
+ EClass ALLOCATE_ACTIVITY_PARTITION = eINSTANCE.getAllocateActivityPartition();
+
+ /**
+ * The meta object literal for the '<em><b>Base Activity Partition</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION = eINSTANCE.getAllocateActivityPartition_Base_ActivityPartition();
+
+ }
+
+} //AllocationsPackage
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateActivityPartitionImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateActivityPartitionImpl.java
new file mode 100644
index 0000000..4959ae2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateActivityPartitionImpl.java
@@ -0,0 +1,171 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.internal.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.uml2.uml.ActivityPartition;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Allocate Activity Partition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateActivityPartitionImpl#getBase_ActivityPartition <em>Base Activity Partition</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AllocateActivityPartitionImpl extends MinimalEObjectImpl.Container implements AllocateActivityPartition {
+ /**
+ * The cached value of the '{@link #getBase_ActivityPartition() <em>Base Activity Partition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ActivityPartition()
+ * @generated
+ * @ordered
+ */
+ protected ActivityPartition base_ActivityPartition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocateActivityPartitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AllocationsPackage.Literals.ALLOCATE_ACTIVITY_PARTITION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public ActivityPartition getBase_ActivityPartition() {
+ if (base_ActivityPartition != null && base_ActivityPartition.eIsProxy()) {
+ InternalEObject oldBase_ActivityPartition = (InternalEObject)base_ActivityPartition;
+ base_ActivityPartition = (ActivityPartition)eResolveProxy(oldBase_ActivityPartition);
+ if (base_ActivityPartition != oldBase_ActivityPartition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+ }
+ }
+ return base_ActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ActivityPartition basicGetBase_ActivityPartition() {
+ return base_ActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_ActivityPartition(ActivityPartition newBase_ActivityPartition) {
+ ActivityPartition oldBase_ActivityPartition = base_ActivityPartition;
+ base_ActivityPartition = newBase_ActivityPartition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION, oldBase_ActivityPartition, base_ActivityPartition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+ if (resolve) return getBase_ActivityPartition();
+ return basicGetBase_ActivityPartition();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+ setBase_ActivityPartition((ActivityPartition)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+ setBase_ActivityPartition((ActivityPartition)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION:
+ return base_ActivityPartition != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AllocateActivityPartitionImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateImpl.java
new file mode 100644
index 0000000..daf2255
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocateImpl.java
@@ -0,0 +1,218 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.internal.impl;
+
+import java.lang.reflect.InvocationTargetException;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.DirectedRelationshipPropertyPathImpl;
+
+import org.eclipse.uml2.uml.Abstraction;
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Allocate</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.allocations.internal.impl.AllocateImpl#getBase_Abstraction <em>Base Abstraction</em>}</li>
+ * </ul>
+ *
+ * @generated
+ */
+public class AllocateImpl extends DirectedRelationshipPropertyPathImpl implements Allocate {
+ /**
+ * The cached value of the '{@link #getBase_Abstraction() <em>Base Abstraction</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Abstraction()
+ * @generated
+ * @ordered
+ */
+ protected Abstraction base_Abstraction;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocateImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return AllocationsPackage.Literals.ALLOCATE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Abstraction getBase_Abstraction() {
+ if (base_Abstraction != null && base_Abstraction.eIsProxy()) {
+ InternalEObject oldBase_Abstraction = (InternalEObject)base_Abstraction;
+ base_Abstraction = (Abstraction)eResolveProxy(oldBase_Abstraction);
+ if (base_Abstraction != oldBase_Abstraction) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, AllocationsPackage.ALLOCATE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+ }
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Abstraction basicGetBase_Abstraction() {
+ return base_Abstraction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void setBase_Abstraction(Abstraction newBase_Abstraction) {
+ Abstraction oldBase_Abstraction = base_Abstraction;
+ base_Abstraction = newBase_Abstraction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, AllocationsPackage.ALLOCATE__BASE_ABSTRACTION, oldBase_Abstraction, base_Abstraction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void getAllocatedFrom(NamedElement ref, EList<NamedElement> result) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void getAllocatedTo(NamedElement ref, EList<NamedElement> result) {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case AllocationsPackage.ALLOCATE__BASE_ABSTRACTION:
+ if (resolve) return getBase_Abstraction();
+ return basicGetBase_Abstraction();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case AllocationsPackage.ALLOCATE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case AllocationsPackage.ALLOCATE__BASE_ABSTRACTION:
+ setBase_Abstraction((Abstraction)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case AllocationsPackage.ALLOCATE__BASE_ABSTRACTION:
+ return base_Abstraction != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ @SuppressWarnings("unchecked")
+ public Object eInvoke(int operationID, EList<?> arguments) throws InvocationTargetException {
+ switch (operationID) {
+ case AllocationsPackage.ALLOCATE___GET_ALLOCATED_FROM__NAMEDELEMENT_ELIST:
+ getAllocatedFrom((NamedElement)arguments.get(0), (EList<NamedElement>)arguments.get(1));
+ return null;
+ case AllocationsPackage.ALLOCATE___GET_ALLOCATED_TO__NAMEDELEMENT_ELIST:
+ getAllocatedTo((NamedElement)arguments.get(0), (EList<NamedElement>)arguments.get(1));
+ return null;
+ }
+ return super.eInvoke(operationID, arguments);
+ }
+
+} //AllocateImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsFactoryImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsFactoryImpl.java
new file mode 100644
index 0000000..aa601a4
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsFactoryImpl.java
@@ -0,0 +1,120 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.sysml16.allocations.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocationsFactoryImpl extends EFactoryImpl implements AllocationsFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AllocationsFactory init() {
+ try {
+ AllocationsFactory theAllocationsFactory = (AllocationsFactory)EPackage.Registry.INSTANCE.getEFactory(AllocationsPackage.eNS_URI);
+ if (theAllocationsFactory != null) {
+ return theAllocationsFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new AllocationsFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocationsFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case AllocationsPackage.ALLOCATE: return createAllocate();
+ case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION: return createAllocateActivityPartition();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Allocate createAllocate() {
+ AllocateImpl allocate = new AllocateImpl();
+ return allocate;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AllocateActivityPartition createAllocateActivityPartition() {
+ AllocateActivityPartitionImpl allocateActivityPartition = new AllocateActivityPartitionImpl();
+ return allocateActivityPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AllocationsPackage getAllocationsPackage() {
+ return (AllocationsPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static AllocationsPackage getPackage() {
+ return AllocationsPackage.eINSTANCE;
+ }
+
+} //AllocationsFactoryImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsPackageImpl.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsPackageImpl.java
new file mode 100644
index 0000000..0b4fce2
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/internal/impl/AllocationsPackageImpl.java
@@ -0,0 +1,357 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.internal.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+import org.eclipse.emf.ecore.EcorePackage;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.sysml16.activities.ActivitiesPackage;
+
+import org.eclipse.papyrus.sysml16.activities.internal.impl.ActivitiesPackageImpl;
+
+import org.eclipse.papyrus.sysml16.allocations.Allocate;
+import org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsFactory;
+import org.eclipse.papyrus.sysml16.allocations.AllocationsPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.BlocksPackage;
+
+import org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.ConstraintBlocksPackage;
+
+import org.eclipse.papyrus.sysml16.constraintblocks.internal.impl.ConstraintBlocksPackageImpl;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.DeprecatedElementsPackage;
+
+import org.eclipse.papyrus.sysml16.deprecatedelements.internal.impl.DeprecatedElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.modelelements.ModelElementsPackage;
+
+import org.eclipse.papyrus.sysml16.modelelements.internal.impl.ModelElementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.portsandflows.PortsAndFlowsPackage;
+
+import org.eclipse.papyrus.sysml16.portsandflows.internal.impl.PortsAndFlowsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.requirements.RequirementsPackage;
+
+import org.eclipse.papyrus.sysml16.requirements.internal.impl.RequirementsPackageImpl;
+
+import org.eclipse.papyrus.sysml16.sysml.SysMLPackage;
+
+import org.eclipse.papyrus.sysml16.sysml.internal.impl.SysMLPackageImpl;
+
+import org.eclipse.uml2.types.TypesPackage;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+import org.eclipse.uml2.uml.profile.standard.StandardPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class AllocationsPackageImpl extends EPackageImpl implements AllocationsPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass allocateEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass allocateActivityPartitionEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private AllocationsPackageImpl() {
+ super(eNS_URI, AllocationsFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link AllocationsPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static AllocationsPackage init() {
+ if (isInited) return (AllocationsPackage)EPackage.Registry.INSTANCE.getEPackage(AllocationsPackage.eNS_URI);
+
+ // Obtain or create and register package
+ Object registeredAllocationsPackage = EPackage.Registry.INSTANCE.get(eNS_URI);
+ AllocationsPackageImpl theAllocationsPackage = registeredAllocationsPackage instanceof AllocationsPackageImpl ? (AllocationsPackageImpl)registeredAllocationsPackage : new AllocationsPackageImpl();
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ EcorePackage.eINSTANCE.eClass();
+ StandardPackage.eINSTANCE.eClass();
+ TypesPackage.eINSTANCE.eClass();
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ Object registeredPackage = EPackage.Registry.INSTANCE.getEPackage(SysMLPackage.eNS_URI);
+ SysMLPackageImpl theSysMLPackage = (SysMLPackageImpl)(registeredPackage instanceof SysMLPackageImpl ? registeredPackage : SysMLPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ActivitiesPackage.eNS_URI);
+ ActivitiesPackageImpl theActivitiesPackage = (ActivitiesPackageImpl)(registeredPackage instanceof ActivitiesPackageImpl ? registeredPackage : ActivitiesPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+ BlocksPackageImpl theBlocksPackage = (BlocksPackageImpl)(registeredPackage instanceof BlocksPackageImpl ? registeredPackage : BlocksPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ConstraintBlocksPackage.eNS_URI);
+ ConstraintBlocksPackageImpl theConstraintBlocksPackage = (ConstraintBlocksPackageImpl)(registeredPackage instanceof ConstraintBlocksPackageImpl ? registeredPackage : ConstraintBlocksPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(DeprecatedElementsPackage.eNS_URI);
+ DeprecatedElementsPackageImpl theDeprecatedElementsPackage = (DeprecatedElementsPackageImpl)(registeredPackage instanceof DeprecatedElementsPackageImpl ? registeredPackage : DeprecatedElementsPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(PortsAndFlowsPackage.eNS_URI);
+ PortsAndFlowsPackageImpl thePortsAndFlowsPackage = (PortsAndFlowsPackageImpl)(registeredPackage instanceof PortsAndFlowsPackageImpl ? registeredPackage : PortsAndFlowsPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(ModelElementsPackage.eNS_URI);
+ ModelElementsPackageImpl theModelElementsPackage = (ModelElementsPackageImpl)(registeredPackage instanceof ModelElementsPackageImpl ? registeredPackage : ModelElementsPackage.eINSTANCE);
+ registeredPackage = EPackage.Registry.INSTANCE.getEPackage(RequirementsPackage.eNS_URI);
+ RequirementsPackageImpl theRequirementsPackage = (RequirementsPackageImpl)(registeredPackage instanceof RequirementsPackageImpl ? registeredPackage : RequirementsPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theAllocationsPackage.createPackageContents();
+ theSysMLPackage.createPackageContents();
+ theActivitiesPackage.createPackageContents();
+ theBlocksPackage.createPackageContents();
+ theConstraintBlocksPackage.createPackageContents();
+ theDeprecatedElementsPackage.createPackageContents();
+ thePortsAndFlowsPackage.createPackageContents();
+ theModelElementsPackage.createPackageContents();
+ theRequirementsPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theAllocationsPackage.initializePackageContents();
+ theSysMLPackage.initializePackageContents();
+ theActivitiesPackage.initializePackageContents();
+ theBlocksPackage.initializePackageContents();
+ theConstraintBlocksPackage.initializePackageContents();
+ theDeprecatedElementsPackage.initializePackageContents();
+ thePortsAndFlowsPackage.initializePackageContents();
+ theModelElementsPackage.initializePackageContents();
+ theRequirementsPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theAllocationsPackage.freeze();
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(AllocationsPackage.eNS_URI, theAllocationsPackage);
+ return theAllocationsPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getAllocate() {
+ return allocateEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAllocate_Base_Abstraction() {
+ return (EReference)allocateEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EOperation getAllocate__GetAllocatedFrom__NamedElement_EList() {
+ return allocateEClass.getEOperations().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EOperation getAllocate__GetAllocatedTo__NamedElement_EList() {
+ return allocateEClass.getEOperations().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EClass getAllocateActivityPartition() {
+ return allocateActivityPartitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EReference getAllocateActivityPartition_Base_ActivityPartition() {
+ return (EReference)allocateActivityPartitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public AllocationsFactory getAllocationsFactory() {
+ return (AllocationsFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ allocateEClass = createEClass(ALLOCATE);
+ createEReference(allocateEClass, ALLOCATE__BASE_ABSTRACTION);
+ createEOperation(allocateEClass, ALLOCATE___GET_ALLOCATED_FROM__NAMEDELEMENT_ELIST);
+ createEOperation(allocateEClass, ALLOCATE___GET_ALLOCATED_TO__NAMEDELEMENT_ELIST);
+
+ allocateActivityPartitionEClass = createEClass(ALLOCATE_ACTIVITY_PARTITION);
+ createEReference(allocateActivityPartitionEClass, ALLOCATE_ACTIVITY_PARTITION__BASE_ACTIVITY_PARTITION);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ BlocksPackage theBlocksPackage = (BlocksPackage)EPackage.Registry.INSTANCE.getEPackage(BlocksPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ allocateEClass.getESuperTypes().add(theBlocksPackage.getDirectedRelationshipPropertyPath());
+
+ // Initialize classes, features, and operations; add parameters
+ initEClass(allocateEClass, Allocate.class, "Allocate", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getAllocate_Base_Abstraction(), theUMLPackage.getAbstraction(), null, "base_Abstraction", null, 0, 1, Allocate.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ EOperation op = initEOperation(getAllocate__GetAllocatedFrom__NamedElement_EList(), null, "getAllocatedFrom", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+ addEParameter(op, theUMLPackage.getNamedElement(), "ref", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+ addEParameter(op, theUMLPackage.getNamedElement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+ op = initEOperation(getAllocate__GetAllocatedTo__NamedElement_EList(), null, "getAllocatedTo", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+ addEParameter(op, theUMLPackage.getNamedElement(), "ref", 1, 1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+ addEParameter(op, theUMLPackage.getNamedElement(), "result", 0, -1, IS_UNIQUE, !IS_ORDERED); //$NON-NLS-1$
+
+ initEClass(allocateActivityPartitionEClass, AllocateActivityPartition.class, "AllocateActivityPartition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS); //$NON-NLS-1$
+ initEReference(getAllocateActivityPartition_Base_ActivityPartition(), theUMLPackage.getActivityPartition(), null, "base_ActivityPartition", null, 0, 1, AllocateActivityPartition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED); //$NON-NLS-1$
+
+ // Create annotations
+ // http://www.eclipse.org/uml2/2.0.0/UML
+ createUMLAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>http://www.eclipse.org/uml2/2.0.0/UML</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createUMLAnnotations() {
+ String source = "http://www.eclipse.org/uml2/2.0.0/UML"; //$NON-NLS-1$
+ addAnnotation
+ (this,
+ source,
+ new String[] {
+ "originalName", "Allocations" //$NON-NLS-1$ //$NON-NLS-2$
+ });
+ }
+
+} //AllocationsPackageImpl
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsAdapterFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsAdapterFactory.java
new file mode 100644
index 0000000..e724aec
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsAdapterFactory.java
@@ -0,0 +1,169 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.sysml16.allocations.*;
+
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage
+ * @generated
+ */
+public class AllocationsAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static AllocationsPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocationsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = AllocationsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AllocationsSwitch<Adapter> modelSwitch =
+ new AllocationsSwitch<Adapter>() {
+ @Override
+ public Adapter caseAllocate(Allocate object) {
+ return createAllocateAdapter();
+ }
+ @Override
+ public Adapter caseAllocateActivityPartition(AllocateActivityPartition object) {
+ return createAllocateActivityPartitionAdapter();
+ }
+ @Override
+ public Adapter caseDirectedRelationshipPropertyPath(DirectedRelationshipPropertyPath object) {
+ return createDirectedRelationshipPropertyPathAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.allocations.Allocate <em>Allocate</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.allocations.Allocate
+ * @generated
+ */
+ public Adapter createAllocateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition <em>Allocate Activity Partition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocateActivityPartition
+ * @generated
+ */
+ public Adapter createAllocateActivityPartitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath <em>Directed Relationship Property Path</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath
+ * @generated
+ */
+ public Adapter createDirectedRelationshipPropertyPathAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //AllocationsAdapterFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsSwitch.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsSwitch.java
new file mode 100644
index 0000000..1126fd3
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/allocations/util/AllocationsSwitch.java
@@ -0,0 +1,160 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.allocations.util;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.util.Switch;
+
+import org.eclipse.papyrus.sysml16.allocations.*;
+
+import org.eclipse.papyrus.sysml16.blocks.DirectedRelationshipPropertyPath;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.allocations.AllocationsPackage
+ * @generated
+ */
+public class AllocationsSwitch<T> extends Switch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static AllocationsPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AllocationsSwitch() {
+ if (modelPackage == null) {
+ modelPackage = AllocationsPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Checks whether this is a switch for the given package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param ePackage the package in question.
+ * @return whether this is a switch for the given package.
+ * @generated
+ */
+ @Override
+ protected boolean isSwitchFor(EPackage ePackage) {
+ return ePackage == modelPackage;
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ @Override
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case AllocationsPackage.ALLOCATE: {
+ Allocate allocate = (Allocate)theEObject;
+ T result = caseAllocate(allocate);
+ if (result == null) result = caseDirectedRelationshipPropertyPath(allocate);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case AllocationsPackage.ALLOCATE_ACTIVITY_PARTITION: {
+ AllocateActivityPartition allocateActivityPartition = (AllocateActivityPartition)theEObject;
+ T result = caseAllocateActivityPartition(allocateActivityPartition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Allocate</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Allocate</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAllocate(Allocate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Allocate Activity Partition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Allocate Activity Partition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAllocateActivityPartition(AllocateActivityPartition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Directed Relationship Property Path</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Directed Relationship Property Path</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDirectedRelationshipPropertyPath(DirectedRelationshipPropertyPath object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ @Override
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //AllocationsSwitch
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/AdjunctProperty.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/AdjunctProperty.java
new file mode 100644
index 0000000..c9e64b7
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/AdjunctProperty.java
@@ -0,0 +1,96 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Adjunct Property</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * The AdjunctProperty stereotype can be applied to properties to constrain their values to the values of connectors typed by association blocks, call actions, object nodes, variables, or parameters, interaction uses, and submachine states. The values of connectors typed by association blocks are the instances of the association block typing a connector in the block having the stereotyped property. The values of call actions are the executions of behaviors invoked by the behavior having the call action and the stereotyped property (see Subclause 11.3.1.1.1 for more about this use of the stereotype). The values of object nodes are the values of tokens in the object nodes of the behavior having the stereotyped property (see Subclause 11.3.1.4.1 for more about this use of the stereotype). The values of variables are those assigned by executions of activities that have the stereotyped property. The values of parameters are those assigned by executions of behaviors that have the stereotyped property. The keyword «adjunct» before a property name indicates the property is stereotyped by AdjunctProperty.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getPrincipal <em>Principal</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getAdjunctProperty()
+ * @model
+ * @generated
+ */
+public interface AdjunctProperty extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getAdjunctProperty_Base_Property()
+ * @model ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Principal</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ * Gives the element that determines the values of the property. Must be a connector, call action, object node, variable, or parameter.
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Principal</em>' reference.
+ * @see #setPrincipal(Element)
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getAdjunctProperty_Principal()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Element getPrincipal();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.AdjunctProperty#getPrincipal <em>Principal</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Principal</em>' reference.
+ * @see #getPrincipal()
+ * @generated
+ */
+ void setPrincipal(Element value);
+
+} // AdjunctProperty
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BindingConnector.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BindingConnector.java
new file mode 100644
index 0000000..b806320
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BindingConnector.java
@@ -0,0 +1,69 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Binding Connector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * A Binding Connector is a connector which specifies that the properties at both ends of the connector have equal values. If the properties at the ends of a binding connector are typed by a DataType or ValueType, the connector specifies that the instances of the properties must hold equal values, recursively through any nested properties within the connected properties. If the properties at the ends of a binding connector are typed by a Block, the connector specifies that the instances of the properties must refer to the same block instance. As with any connector owned by a SysML Block, the ends of a binding connector may be nested within a multi-level path of properties accessible from the owning block. The NestedConnectorEnd stereotype is used to represent such nested ends just as for nested ends of other SysML connectors.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.BindingConnector#getBase_Connector <em>Base Connector</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBindingConnector()
+ * @model
+ * @generated
+ */
+public interface BindingConnector extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Connector</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Connector</em>' reference.
+ * @see #setBase_Connector(Connector)
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBindingConnector_Base_Connector()
+ * @model ordered="false"
+ * @generated
+ */
+ Connector getBase_Connector();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.BindingConnector#getBase_Connector <em>Base Connector</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Connector</em>' reference.
+ * @see #getBase_Connector()
+ * @generated
+ */
+ void setBase_Connector(Connector value);
+
+} // BindingConnector
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/Block.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/Block.java
new file mode 100644
index 0000000..7a25222
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/Block.java
@@ -0,0 +1,123 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Block</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <!-- begin-model-doc -->
+ *
+ * A Block is a modular unit that describes the structure of a system or element. It may include both structural and behavioral features, such as properties and operations, that represent the state of the system and behavior that the system may exhibit. Some of these properties may hold parts of a system, which can also be described by blocks. A block may include a structure of connectors between its properties to indicate how its parts or other properties relate to one another. SysML blocks provide a general-purpose capability to describe the architecture of a system. They provide the ability to represent a system hierarchy, in which a system at one level is composed of systems at a more basic level. They can describe not only the connectivity relationships between the systems at any level, but also quantitative values or other information about a system. SysML does not restrict the kind of system or system element that may be described by a block. Any reusable form of description that may be applied to a system or a set of system characteristics may be described by a block. Such reusable descriptions, for example, may be applied to purely conceptual aspects of a system design, such as relationships that hold between parts or properties of a system. Connectors owned by SysML blocks may be used to define relationships between parts or other properties of the same containing block. The type of a connector or its connected ends may specify the semantic interpretation of a specific connector.
+ *
+ * <!-- end-model-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * </p>
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.Block#getBase_Class <em>Base Class</em>}</li>
+ * <li>{@link org.eclipse.papyrus.sysml16.blocks.Block#isEncapsulated <em>Is Encapsulated</em>}</li>
+ * </ul>
+ *
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBlock()
+ * @model
+ * @generated
+ */
+public interface Block extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Class</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Class</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Class</em>' reference.
+ * @see #setBase_Class(org.eclipse.uml2.uml.Class)
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBlock_Base_Class()
+ * @model ordered="false"
+ * @generated
+ */
+ org.eclipse.uml2.uml.Class getBase_Class();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.Block#getBase_Class <em>Base Class</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Class</em>' reference.
+ * @see #getBase_Class()
+ * @generated
+ */
+ void setBase_Class(org.eclipse.uml2.uml.Class value);
+
+ /**
+ * Returns the value of the '<em><b>Is Encapsulated</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * <!-- begin-model-doc -->
+ *
+ * If true, then the block is treated as a black box; a part typed by this black box can only be connected via its ports or directly to its outer boundary. If false, or if a value is not present, then connections can be established to elements of its internal structure via deep-nested connector ends.
+ *
+ * <!-- end-model-doc -->
+ * @return the value of the '<em>Is Encapsulated</em>' attribute.
+ * @see #setIsEncapsulated(boolean)
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage#getBlock_IsEncapsulated()
+ * @model dataType="org.eclipse.uml2.types.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isEncapsulated();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.sysml16.blocks.Block#isEncapsulated <em>Is Encapsulated</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Encapsulated</em>' attribute.
+ * @see #isEncapsulated()
+ * @generated
+ */
+ void setIsEncapsulated(boolean value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" ordered="false"
+ * @generated
+ */
+ EList<Property> getReferences();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" ordered="false"
+ * @generated
+ */
+ EList<Property> getParts();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" ordered="false"
+ * @generated
+ */
+ EList<Property> getFlowProperties();
+
+} // Block
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksFactory.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksFactory.java
new file mode 100644
index 0000000..7938f09
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksFactory.java
@@ -0,0 +1,152 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksPackage
+ * @generated
+ */
+public interface BlocksFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ BlocksFactory eINSTANCE = org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Adjunct Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Adjunct Property</em>'.
+ * @generated
+ */
+ AdjunctProperty createAdjunctProperty();
+
+ /**
+ * Returns a new object of class '<em>Binding Connector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Binding Connector</em>'.
+ * @generated
+ */
+ BindingConnector createBindingConnector();
+
+ /**
+ * Returns a new object of class '<em>Block</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Block</em>'.
+ * @generated
+ */
+ Block createBlock();
+
+ /**
+ * Returns a new object of class '<em>Bound Reference</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Bound Reference</em>'.
+ * @generated
+ */
+ BoundReference createBoundReference();
+
+ /**
+ * Returns a new object of class '<em>End Path Multiplicity</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>End Path Multiplicity</em>'.
+ * @generated
+ */
+ EndPathMultiplicity createEndPathMultiplicity();
+
+ /**
+ * Returns a new object of class '<em>Classifier Behavior Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Classifier Behavior Property</em>'.
+ * @generated
+ */
+ ClassifierBehaviorProperty createClassifierBehaviorProperty();
+
+ /**
+ * Returns a new object of class '<em>Connector Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Connector Property</em>'.
+ * @generated
+ */
+ ConnectorProperty createConnectorProperty();
+
+ /**
+ * Returns a new object of class '<em>Distributed Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Distributed Property</em>'.
+ * @generated
+ */
+ DistributedProperty createDistributedProperty();
+
+ /**
+ * Returns a new object of class '<em>Nested Connector End</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Nested Connector End</em>'.
+ * @generated
+ */
+ NestedConnectorEnd createNestedConnectorEnd();
+
+ /**
+ * Returns a new object of class '<em>Participant Property</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Participant Property</em>'.
+ * @generated
+ */
+ ParticipantProperty createParticipantProperty();
+
+ /**
+ * Returns a new object of class '<em>Property Specific Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Property Specific Type</em>'.
+ * @generated
+ */
+ PropertySpecificType createPropertySpecificType();
+
+ /**
+ * Returns a new object of class '<em>Value Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Value Type</em>'.
+ * @generated
+ */
+ ValueType createValueType();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ BlocksPackage getBlocksPackage();
+
+} //BlocksFactory
diff --git a/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksPackage.java b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksPackage.java
new file mode 100644
index 0000000..7b3954b
--- /dev/null
+++ b/plugins/core/org.eclipse.papyrus.sysml16/src-gen/org/eclipse/papyrus/sysml16/blocks/BlocksPackage.java
@@ -0,0 +1,1680 @@
+/**
+ * Copyright (c) 2019 CEA LIST.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *
+ * Contributors:
+ * Nicolas FAUVERGUE (CEA LIST) nicolas.fauvergue@cea.fr - Initial API and implementation
+ */
+package org.eclipse.papyrus.sysml16.blocks;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EOperation;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each operation of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.blocks.BlocksFactory
+ * @model kind="package"
+ * annotation="http://www.eclipse.org/uml2/2.0.0/UML originalName='Blocks'"
+ * @generated
+ */
+public interface BlocksPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "blocks"; //$NON-NLS-1$
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/sysml/1.6/SysML/Blocks"; //$NON-NLS-1$
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Blocks"; //$NON-NLS-1$
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ BlocksPackage eINSTANCE = org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.sysml16.blocks.internal.impl.AdjunctPropertyImpl <em>Adjunct Property</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.AdjunctPropertyImpl
+ * @see org.eclipse.papyrus.sysml16.blocks.internal.impl.BlocksPackageImpl#getAdjunctProperty()
+ * @generated
+ */
+ int ADJUNCT_PROPERTY = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ADJUNCT_PROPERTY__BASE_PROPERTY = 0;
+
+ /**
+ * The feature id for the '<em><b>Principal<