Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMaged Elaasar2017-02-21 03:19:48 -0500
committerFlorian Noyrit2017-03-13 12:19:06 -0400
commit7a1e61e4203fcf468a2635b80dd94182a95b588b (patch)
tree804451f2f230c2cb1a4b07815f4ccd2dc1edcf52 /plugins/uml/architecture/org.eclipse.papyrus.uml.architecture
parentcb10068854ce727bc5004e997663ae0a3ae2ffd6 (diff)
downloadorg.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.tar.gz
org.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.tar.xz
org.eclipse.papyrus-7a1e61e4203fcf468a2635b80dd94182a95b588b.zip
Bug 510451 - Reimplement the ISO42010 specification to properly support
architectural contexts and viewpoints Replaced the viewpoint configuration framework by a new architectural context/viewpoint framework. This involves defining architecture contexts and viewpoints in models and contributing them via extension points or via the preferences. Models reference an architecture context and a set of viewpoints at creation time, but can be switched later. Architecture contexts double as client contexts for which elementtypesetconfigurations can be registered. They also define viewpoints, which reference representation kinds (diagrams or tables). This contribution defines three architecture contexts: UML, Profile, and SysML corresponding to what Papyrus used to call diagram categories. Change-Id: I203b58d9e97afdffc45c2674683c0281eb8a7c5b Signed-off-by: Maged Elaasar <melaasar@gmail.com>
Diffstat (limited to 'plugins/uml/architecture/org.eclipse.papyrus.uml.architecture')
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.classpath7
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.project28
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.settings/org.eclipse.jdt.core.prefs7
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF37
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/about.html28
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/build.properties6
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/profile.gifbin0 -> 569 bytes
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/uml.gifbin0 -> 588 bytes
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture429
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.properties14
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.xml113
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/pom.xml12
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLArchitectureContextIds.java31
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/internal/NoContextEnablementMatcher.java29
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLDiagramReconciler_1_3_0.java101
-rw-r--r--plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLTableReconciler_1_3_0.java127
16 files changed, 969 insertions, 0 deletions
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.classpath b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.classpath
new file mode 100644
index 00000000000..eca7bdba8f0
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.classpath
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.project b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.project
new file mode 100644
index 00000000000..4d88371ed29
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.project
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.uml.architecture</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.settings/org.eclipse.jdt.core.prefs b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 00000000000..0c68a61dca8
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,7 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.source=1.8
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..12c4de3c043
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/META-INF/MANIFEST.MF
@@ -0,0 +1,37 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: %pluginName
+Bundle-SymbolicName: org.eclipse.papyrus.uml.architecture;singleton:=true
+Bundle-Version: 1.0.0.qualifier
+Bundle-Localization: plugin
+Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Require-Bundle: org.eclipse.papyrus.uml.service.types;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.constraints;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.emf;bundle-version="[2.2.0,3.0.0)",
+ org.eclipse.papyrus.infra.gmfdiag.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable.common;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.nattable.views.config;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.services.controlmode;bundle-version="[1.5.0,2.0.0)",
+ org.eclipse.papyrus.infra.services.edit;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.infra.types.rulebased;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.infra.viewpoints.policy;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.diagram.activity;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.clazz;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.communication;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.component;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.diagram.composite;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.deployment;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.interactionoverview;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.profile;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.sequence;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.statemachine;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.diagram.stereotype.edition;bundle-version="[2.0.0,3.0.0)",
+ org.eclipse.papyrus.uml.diagram.timing;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.diagram.usecase;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.nattable.generic.config;bundle-version="[1.2.0,2.0.0)",
+ org.eclipse.papyrus.uml.service.types;bundle-version="[3.0.0,4.0.0)",
+ org.eclipse.papyrus.uml.service.types.ui;bundle-version="[2.0.0,3.0.0)"
+Export-Package: org.eclipse.papyrus.uml.architecture
+Bundle-Vendor: %providerName
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/about.html b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/about.html
new file mode 100644
index 00000000000..bbf2bd6aac7
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>January 30, 2017</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/build.properties b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/build.properties
new file mode 100644
index 00000000000..0dc34f7833b
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/build.properties
@@ -0,0 +1,6 @@
+source.. = src/
+output.. = bin/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ plugin.properties
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/profile.gif b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/profile.gif
new file mode 100644
index 00000000000..deadaaa3634
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/profile.gif
Binary files differ
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/uml.gif b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/uml.gif
new file mode 100644
index 00000000000..0626e1f8fa4
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/icons/uml.gif
Binary files differ
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture
new file mode 100644
index 00000000000..37fe77aebb1
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/model/uml.architecture
@@ -0,0 +1,429 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<architecture:ArchitectureDomain xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:architecture="http://www.eclipse.org/papyrus/infra/core/architecture" xmlns:constraints="http://www.eclipse.org/papyrus/constraints/0.9" xmlns:gmfdiagrepresentation="http://www.eclipse.org/papyrus/infra/gmfdiag/representation" xmlns:nattablerepresentation="http://www.eclipse.org/papyrus/infra/nattable/representation" xmi:id="_HQhf4MSYEeaKZJ_pGfaSiA" name="Software Engineering" desciption="The domain of developing software systems">
+ <stakeholders xmi:id="_HQhf4cSYEeaKZJ_pGfaSiA" name="Software Engineer" desciption="An engineer interested in software development" concerns="_HQhf4sSYEeaKZJ_pGfaSiA _HQhf48SYEeaKZJ_pGfaSiA _HQhf5MSYEeaKZJ_pGfaSiA"/>
+ <stakeholders xmi:id="_IigrMMSjEeaCPPhpB0_9OQ" name="Domain Architect" concerns="_NxfRgMSjEeaCPPhpB0_9OQ"/>
+ <concerns xmi:id="_NxfRgMSjEeaCPPhpB0_9OQ" name="Profiles" desciption="The concern of defining the domain profiles"/>
+ <concerns xmi:id="_HQhf4sSYEeaKZJ_pGfaSiA" name="Use Cases" desciption="The concern of defining the system's use cases"/>
+ <concerns xmi:id="_HQhf48SYEeaKZJ_pGfaSiA" name="Structure" desciption="The concern of developing the system's structure"/>
+ <concerns xmi:id="_HQhf5MSYEeaKZJ_pGfaSiA" name="Behavior" desciption="The concern of developing the system's behavior"/>
+ <contexts xsi:type="architecture:ArchitectureDescriptionLanguage" xmi:id="_HQhf5cSYEeaKZJ_pGfaSiA" name="UML" desciption="The Unified Modeling Language" id="org.eclipse.papyrus.infra.services.edit.TypeContext" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/uml.gif" creationCommandClass="org.eclipse.papyrus.uml.diagram.common.commands.CreateUMLModelCommand">
+ <viewpoints xmi:id="_HQhf5sSYEeaKZJ_pGfaSiA" name="Software Analysis" desciption="A viewpoint allowing software analysis with UML" representationKinds="_yeY0sHDvEeWh-MssWmCB_A _zzf4gHDtEeWh-MssWmCB_A _zzf4cXDtEeWh-MssWmCB_A _Uz8agHDuEeWh-MssWmCB_A _WC1q0P4UEeSRsNBVzfUrzA _wXztQHDwEeWh-MssWmCB_A _P3J1cEr7EeSVGbM3cmVSqQ _P3J1cEr7EeSVGbM3cmVSqQ _P3J1cEr7EeRVGbM3cmVSqQ" id="org.eclipse.papyrus.uml.analysis"/>
+ <viewpoints xmi:id="_OOrIUMSZEeaKZJ_pGfaSiA" name="Software Design" desciption="A viewpoint allowing software design with UML" representationKinds="_UzcgsHDtEeWh-MssWmCB_A _zzf4gHDtEeWh-MssWmCB_A _jRtroHDuEeWh-MssWmCB_A _fa4kAHDuEeWh-MssWmCB_A _fa4kBHDuEeWh-MssWmCB_A _bKiwMHDuEeWh-MssWmCB_A _bKiwNHDuEeWh-MssWmCB_A _ARGokHDuEeWh-MssWmCB_A _zzf4YHDtEeWh-MssWmCB_A _FuMjYHDuEeWh-MssWmCB_A _zzf4cXDtEeWh-MssWmCB_A _TR15IHDvEeWh-MssWmCB_A _PwD0cHDvEeWh-MssWmCB_A _LzyMIHDvEeWh-MssWmCB_A _P3J1cEr7EeSVGbM3cmVSqQ _Uz8agHDuEeWh-MssWmCB_A _P3J1cEr7EeRVGbM3cmVSqQ _wXztQHDwEeWh-MssWmCB_A _WC1q0P4UEeSRsNBVzfUrzA _P3J1cEr7EeSVGbM3cmVSqQ _P3J1cEr7EeSVGbM3cmVSqQ" id="org.eclipse.papyrus.uml.design"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.emf/model/infra-emf.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/notation.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/gmfdiag-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable/model/nattable-tablecontents.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable/model/nattable-tablecontext.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.nattable.common/model/nattable-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.controlmode/model/controlmode.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.edit/model/marker.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.types.rulebased/model/rulebased.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.activity/model/activityDiagram.elementtypesconfigurations#_x8G0YGaNEeSyJIsxLao1Pw"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.communication/model/communicationdiagram-uml.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.composite/model/compositediagram.elementtypesconfigurations#_tL86sLazEeSbnofizoRSMQ"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.interactionoverview/model/interactionOverviewDiagram.elementtypesconfigurations#_x8G0YGaNEeSyJIsxLao1Pw"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.sequence/model/sequencediagram-uml.elementtypesconfigurations#_BJMa0PyeEeWbo9Y7g2MLdw"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.statemachine/model/stateMachineDiagram.elementtypesconfigurations#_wYwtMMeDEeSwP_9Vn5UnWg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.stereotype.edition/model/stereotype-edit.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.timing/model/timingdiagram-uml.elementtypesconfigurations#_BJMa0PyeEeWbo9Y7g2MLdw"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml-containments.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/StandardProfile.elementtypesconfigurations#_jfoLkGT_EeSEqNuV3JpFCA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types.ui/model/uml-advice.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_UzcgsHDtEeWh-MssWmCB_A" name="Activity Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.activity/icons/obj16/Diagram_Activity.gif" implementationID="PapyrusUMLActivityDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.activity.CreateActivityDiagramCommand">
+ <modelRules xmi:id="_UzcgsXDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+ </modelRules>
+ <owningRules xmi:id="_UzcgsnDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+ </owningRules>
+ <owningRules xmi:id="_Uzcgs3DtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_UzcgtHDtEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_UzcgtXDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_UzcgtnDtEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_Uzcgt3DtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ <newModelPath xmi:id="_UzcguHDtEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </newModelPath>
+ </owningRules>
+ <childRules xmi:id="_UzcguXDtEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_zzf4gHDtEeWh-MssWmCB_A" name="Class Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/icons/obj16/Diagram_Class.gif" implementationID="PapyrusUMLClassDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand">
+ <modelRules xmi:id="_zzf4gXDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <owningRules xmi:id="_zzf4gnDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_zzf4g3DtEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_zzf4YHDtEeWh-MssWmCB_A" name="Inner Class Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/icons/obj16/Diagram_Class.gif" implementationID="PapyrusUMLClassDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand">
+ <modelRules xmi:id="_zzf4YXDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </modelRules>
+ <owningRules xmi:id="_zzf4YnDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </owningRules>
+ <owningRules xmi:id="_zzf4Y3DtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_zzf4ZHDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/>
+ <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <insertionPath xmi:id="_zzf4ZXDtEeWh-MssWmCB_A">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </insertionPath>
+ </childRules>
+ <childRules xmi:id="_zzf4ZnDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+ <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ <insertionPath xmi:id="_zzf4Z3DtEeWh-MssWmCB_A">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedComment"/>
+ </insertionPath>
+ </childRules>
+ <paletteRules xmi:id="_zzf4aHDtEeWh-MssWmCB_A" element="clazz.tool.class"/>
+ <paletteRules xmi:id="_zzf4aXDtEeWh-MssWmCB_A" element="clazz.tool.comment"/>
+ <paletteRules xmi:id="_zzf4anDtEeWh-MssWmCB_A" element="clazz.tool.interface"/>
+ <paletteRules xmi:id="_zzf4a3DtEeWh-MssWmCB_A" element="clazz.tool.abstraction"/>
+ <paletteRules xmi:id="_zzf4bHDtEeWh-MssWmCB_A" element="clazz.tool.association"/>
+ <paletteRules xmi:id="_zzf4bXDtEeWh-MssWmCB_A" element="clazz.tool.generalization"/>
+ <paletteRules xmi:id="_zzf4bnDtEeWh-MssWmCB_A" element="clazz.tool.generalizationset"/>
+ <paletteRules xmi:id="_zzf4b3DtEeWh-MssWmCB_A" permit="false" element="clazz.tool.*"/>
+ <paletteRules xmi:id="_zzf4cHDtEeWh-MssWmCB_A" element=""/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_zzf4cXDtEeWh-MssWmCB_A" name="Package Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.infra.viewpoints.policy/icons/Diagram_Package.gif" implementationID="PapyrusUMLClassDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.clazz.CreateClassDiagramCommand">
+ <modelRules xmi:id="_zzf4cnDtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <owningRules xmi:id="_zzf4c3DtEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_zzf4dHDtEeWh-MssWmCB_A"/>
+ <paletteRules xmi:id="_zzf4dXDtEeWh-MssWmCB_A" element="clazz.tool.comment"/>
+ <paletteRules xmi:id="_zzf4dnDtEeWh-MssWmCB_A" element="clazz.tool.constraint"/>
+ <paletteRules xmi:id="_zzf4d3DtEeWh-MssWmCB_A" element="clazz.tool.model"/>
+ <paletteRules xmi:id="_zzf4eHDtEeWh-MssWmCB_A" element="clazz.tool.package"/>
+ <paletteRules xmi:id="_zzf4eXDtEeWh-MssWmCB_A" element="clazz.tool.abstraction"/>
+ <paletteRules xmi:id="_zzf4enDtEeWh-MssWmCB_A" element="clazz.tool.dependency"/>
+ <paletteRules xmi:id="_zzf4e3DtEeWh-MssWmCB_A" element="clazz.tool.packageimport"/>
+ <paletteRules xmi:id="_zzf4fHDtEeWh-MssWmCB_A" element="clazz.tool.link"/>
+ <paletteRules xmi:id="_zzf4fXDtEeWh-MssWmCB_A" element="clazz.tool.containmentlink"/>
+ <paletteRules xmi:id="_zzf4fnDtEeWh-MssWmCB_A" permit="false" element="clazz.tool.*"/>
+ <paletteRules xmi:id="_zzf4f3DtEeWh-MssWmCB_A" element=""/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_jRtroHDuEeWh-MssWmCB_A" name="Communication Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.communication/icons/obj16/Diagram_Communication.gif" implementationID="PapyrusUMLCommunicationDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.communication.CreateCommunicationDiagramCommand">
+ <modelRules xmi:id="_jRtroXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/>
+ </modelRules>
+ <owningRules xmi:id="_jRtronDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/>
+ </owningRules>
+ <owningRules xmi:id="_jRtro3DuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_jRtrpHDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_jRtrpXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_jRtrpnDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_jRtrp3DuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ <newModelPath xmi:id="_jRtrqHDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </newModelPath>
+ </owningRules>
+ <childRules xmi:id="_jRtrqXDuEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_fa4kAHDuEeWh-MssWmCB_A" name="Component Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.component/icons/obj16/ComponentDiagram.gif" implementationID="PapyrusUMLComponentDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.component.CreateComponentDiagramCommand">
+ <modelRules xmi:id="_fa4kAXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <owningRules xmi:id="_fa4kAnDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_fa4kA3DuEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_fa4kBHDuEeWh-MssWmCB_A" name="Component Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.component/icons/obj16/ComponentDiagram.gif" implementationID="PapyrusUMLComponentDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.component.CreateComponentDiagramCommand">
+ <modelRules xmi:id="_fa4kBXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+ </modelRules>
+ <owningRules xmi:id="_fa4kBnDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+ </owningRules>
+ <owningRules xmi:id="_fa4kB3DuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_fa4kCHDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/>
+ <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+ <insertionPath xmi:id="_fa4kCXDuEeWh-MssWmCB_A">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Class/nestedClassifier"/>
+ </insertionPath>
+ </childRules>
+ <childRules xmi:id="_fa4kCnDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Comment"/>
+ <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+ <insertionPath xmi:id="_fa4kC3DuEeWh-MssWmCB_A">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Element/ownedComment"/>
+ </insertionPath>
+ </childRules>
+ <childRules xmi:id="_fa4kDHDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Constraint"/>
+ <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+ <insertionPath xmi:id="_fa4kDXDuEeWh-MssWmCB_A">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Namespace/ownedRule"/>
+ </insertionPath>
+ </childRules>
+ <childRules xmi:id="_fa4kDnDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
+ <origin href="http://www.eclipse.org/uml2/5.0.0/UML#//Component"/>
+ <insertionPath xmi:id="_fa4kD3DuEeWh-MssWmCB_A">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//EncapsulatedClassifier/ownedPort"/>
+ </insertionPath>
+ </childRules>
+ <paletteRules xmi:id="_fa4kEHDuEeWh-MssWmCB_A" permit="false" element="component.tool.model"/>
+ <paletteRules xmi:id="_fa4kEXDuEeWh-MssWmCB_A" permit="false" element="component.tool.package"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_bKiwMHDuEeWh-MssWmCB_A" name="Composite Structure Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.composite/icons/obj16/Diagram_CompositeStructure.gif" implementationID="CompositeStructure" creationCommandClass="org.eclipse.papyrus.uml.diagram.composite.CreateCompositeDiagramCommand">
+ <modelRules xmi:id="_bKiwMXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <owningRules xmi:id="_bKiwMnDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_bKiwM3DuEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_bKiwNHDuEeWh-MssWmCB_A" name="Composite Structure Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.composite/icons/obj16/Diagram_CompositeStructure.gif" implementationID="CompositeStructure" creationCommandClass="org.eclipse.papyrus.uml.diagram.composite.CreateCompositeDiagramCommand">
+ <modelRules xmi:id="_bKiwNXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier"/>
+ </modelRules>
+ <owningRules xmi:id="_bKiwNnDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//StructuredClassifier"/>
+ </owningRules>
+ <owningRules xmi:id="_bKiwN3DuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_bKiwOHDuEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_ARGokHDuEeWh-MssWmCB_A" name="Deployment Diagram" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.deployment/icons/obj16/DeploymentDiagram.gif" implementationID="PapyrusUMLDeploymentDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.deployment.CreateDeploymentDiagramCommand">
+ <modelRules xmi:id="_ARGokXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <owningRules xmi:id="_ARGoknDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_ARGok3DuEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_FuMjYHDuEeWh-MssWmCB_A" name="Interaction Overview Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.interactionoverview/icons/obj16/interactionOverviewDiagram.gif" implementationID="PapyrusUMLInteractionOverviewDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.interactionoverview.InteractionOverviewDiagramCreateCommand">
+ <modelRules xmi:id="_FuMjYXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+ </modelRules>
+ <owningRules xmi:id="_FuMjYnDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Activity"/>
+ </owningRules>
+ <owningRules xmi:id="_FuMjY3DuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_FuMjZHDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_FuMjZXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_FuMjZnDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_FuMjZ3DuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ <newModelPath xmi:id="_FuMjaHDuEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Activity">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </newModelPath>
+ </owningRules>
+ <childRules xmi:id="_FuMjaXDuEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_UekVgHDwEeWh-MssWmCB_A" name="Profile Diagram" concerns="_NxfRgMSjEeaCPPhpB0_9OQ" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.profile/icons/obj16/Diagram_Profile.gif" implementationID="PapyrusUMLProfileDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.profile.CreateProfileDiagramCommand">
+ <modelRules xmi:id="_UekVgXDwEeWh-MssWmCB_A">
+ <constraints xsi:type="constraints:SimpleConstraint" xmi:id="_UekVgnDwEeWh-MssWmCB_A" name="IsContainedByProfile">
+ <constraintType href="platform:/plugin/org.eclipse.papyrus.infra.constraints/Model/ConstraintEnvironment.xmi#//@constraintTypes.4"/>
+ <properties xsi:type="constraints:ValueProperty" xmi:id="_UekVg3DwEeWh-MssWmCB_A" name="className" value="org.eclipse.papyrus.infra.viewpoints.policy.query.IsContainedByProfileQuery"/>
+ </constraints>
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <owningRules xmi:id="_UekVhHDwEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <owningRules xmi:id="_UekVhXDwEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Profile"/>
+ </owningRules>
+ <childRules xmi:id="_UekVhnDwEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_TR15IHDvEeWh-MssWmCB_A" name="Sequence Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.sequence/icons/obj16/Diagram_Sequence.gif" implementationID="PapyrusUMLSequenceDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.sequence.CreateSequenceDiagramCommand">
+ <modelRules xmi:id="_TR15IXDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/>
+ </modelRules>
+ <owningRules xmi:id="_TR15InDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interaction"/>
+ </owningRules>
+ <owningRules xmi:id="_TR15I3DvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_TR15JHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_TR15JXDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_TR15JnDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_TR15J3DvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ <newModelPath xmi:id="_TR15KHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_TR15KXDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//UseCase"/>
+ <newModelPath xmi:id="_TR15KnDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.Interaction">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <childRules xmi:id="_TR15K3DvEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_PwD0cHDvEeWh-MssWmCB_A" name="State Machine Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.statemachine/icons/obj16/Diagram_StateMachine.gif" implementationID="PapyrusUMLStateMachineDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.statemachine.CreateStateMachineDiagramCommand">
+ <modelRules xmi:id="_PwD0cXDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+ </modelRules>
+ <modelRules xmi:id="_H-oCgB0UEea_bcpknMJ7-w">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+ </modelRules>
+ <owningRules xmi:id="_PwD0cnDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//StateMachine"/>
+ </owningRules>
+ <owningRules xmi:id="_PwD0c3DvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_PwD0dHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.StateMachine">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/classifierBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_PwD0dXDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier"/>
+ <newModelPath xmi:id="_PwD0dnDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.StateMachine">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//BehavioredClassifier/ownedBehavior"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_PwD0d3DvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ <newModelPath xmi:id="_PwD0eHDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.StateMachine">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Package/packagedElement"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_PwD0eXDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface"/>
+ <newModelPath xmi:id="_PwD0enDvEeWh-MssWmCB_A" creationType="org.eclipse.papyrus.uml.ProtocolStateMachine">
+ <feature href="http://www.eclipse.org/uml2/5.0.0/UML#//Interface/protocol"/>
+ </newModelPath>
+ </owningRules>
+ <owningRules xmi:id="_5kmMcB0UEea_bcpknMJ7-w">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//State"/>
+ </owningRules>
+ <childRules xmi:id="_PwD0e3DvEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_LzyMIHDvEeWh-MssWmCB_A" name="Timing Diagram" concerns="_HQhf5MSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.timing/icons/obj16/Diagram_Timing.gif" implementationID="PapyrusUMLTimingDiagram" creationCommandClass="org.eclipse.papyrus.uml.diagram.timing.custom.CreateTimingDiagramCommand">
+ <modelRules xmi:id="_LzyMIXDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <owningRules xmi:id="_LzyMInDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <childRules xmi:id="_LzyMI3DvEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="gmfdiagrepresentation:PapyrusDiagram" xmi:id="_yeY0sHDvEeWh-MssWmCB_A" name="Use Case Diagram" concerns="_HQhf4sSYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.diagram.usecase/icons/obj16/Diagram_UseCase.gif" implementationID="UseCase" customStyle="platform:/plugin/org.eclipse.papyrus.uml.diagram.usecase/models/usecase.css" creationCommandClass="org.eclipse.papyrus.uml.diagram.usecase.CreateUseCaseDiagramCommand">
+ <modelRules xmi:id="_yeY0sXDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <modelRules xmi:id="_yeY0snDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </modelRules>
+ <owningRules xmi:id="_yeY0s3DvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ <owningRules xmi:id="_yeY0tHDvEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
+ </owningRules>
+ <childRules xmi:id="_yeY0tXDvEeWh-MssWmCB_A"/>
+ </representationKinds>
+ <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_P3J1cEr7EeSVGbM3cmVSqQ" name="Generic Tree Table" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.nattable/icons/uml_generic_table.png" implementationID="PapyrusUMLGenericTreeTable">
+ <modelRules xmi:id="_vZwgkEr7EeSVGbM3cmVSqQ">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </modelRules>
+ <owningRules xmi:id="_vZwgkUr7EeSVGbM3cmVSqQ">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </owningRules>
+ </representationKinds>
+ <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_P3J1cEr7EeRVGbM3cmVSqQ" name="Class Tree Table" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/icons/uml_generic_table.png" implementationID="PapyrusClassTreeTable">
+ <modelRules xmi:id="_vZwgkEr7EeSVGbM3cmVSqQ">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </modelRules>
+ <owningRules xmi:id="_vZwgkUr7EeSVGbM3cmVSqQ">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Package"/>
+ </owningRules>
+ </representationKinds>
+ <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_Uz8agHDuEeWh-MssWmCB_A" name="Generic Table" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/icons/uml_generic_table.png" implementationID="PapyrusGenericTable">
+ <modelRules xmi:id="_Uz8agXDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+ </modelRules>
+ <owningRules xmi:id="_Uz8agnDuEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+ </owningRules>
+ </representationKinds>
+ <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_WC1q0P4UEeSRsNBVzfUrzA" name="Stereotype Display Tree Table" concerns="_NxfRgMSjEeaCPPhpB0_9OQ" icon="platform:/plugin/org.eclipse.papyrus.uml.nattable.generic.config/icons/uml_generic_table.png" implementationID="PapyrusStereotypeDisplayTreeTable">
+ <modelRules xmi:id="_7k79wP4VEeSRsNBVzfUrzA">
+ <element href="http://www.eclipse.org/gmf/runtime/1.0.2/notation#//View"/>
+ </modelRules>
+ <owningRules xmi:id="_AJmbwP4WEeSRsNBVzfUrzA">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
+ </owningRules>
+ </representationKinds>
+ <representationKinds xsi:type="nattablerepresentation:PapyrusSyncTable" xmi:id="_wXztQHDwEeWh-MssWmCB_A" name="View Table" concerns="_HQhf48SYEeaKZJ_pGfaSiA" icon="platform:/plugin/org.eclipse.papyrus.infra.nattable.views.config/icons/nattablepageeditor.png" implementationID="PapyrusViewsTable">
+ <modelRules xmi:id="_wXztQXDwEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+ </modelRules>
+ <owningRules xmi:id="_wXztQnDwEeWh-MssWmCB_A">
+ <element href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement"/>
+ </owningRules>
+ </representationKinds>
+ <metamodel href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
+ </contexts>
+ <contexts xsi:type="architecture:ArchitectureFramework" xmi:id="__ZqwAMSlEeaCPPhpB0_9OQ" name="Profile" desciption="The Profile Definition Framework" id="org.eclipse.papyrus.uml.architecture.Profile" icon="platform:/plugin/org.eclipse.papyrus.uml.architecture/icons/profile.gif" extensionPrefix="profile" creationCommandClass="org.eclipse.papyrus.uml.diagram.profile.CreateProfileModelCommand">
+ <viewpoints xmi:id="_hoXx0MSiEeaKZJ_pGfaSiA" name="Profile Definition" desciption="A viewpoint allowing profile definition with UML" representationKinds="_UekVgHDwEeWh-MssWmCB_A _zzf4gHDtEeWh-MssWmCB_A" id="org.eclipse.papyrus.uml.profile.definition"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.emf/model/infra-emf.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/notation.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.gmfdiag.common/model/gmfdiag-common.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.controlmode/model/controlmode.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.services.edit/model/marker.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.infra.types.rulebased/model/rulebased.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.clazz/model/classdiagram.elementtypesconfigurations#_rWI4YHPzEeSnGJwaJWHCSg"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.diagram.stereotype.edition/model/stereotype-edit.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/uml-containments.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/StandardProfile.elementtypesconfigurations#_jfoLkGT_EeSEqNuV3JpFCA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types/model/umldi.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ <elementTypes href="platform:/plugin/org.eclipse.papyrus.uml.service.types.ui/model/uml-advice.elementtypesconfigurations#_ScP1oFYCEeS0WsAAtVmToA"/>
+ </contexts>
+</architecture:ArchitectureDomain>
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.properties b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.properties
new file mode 100644
index 00000000000..ac94a7f7681
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.properties
@@ -0,0 +1,14 @@
+# Copyright (c) 2017 CEA LIST.
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License v1.0
+# which accompanies this distribution, and is available at
+# http://www.eclipse.org/legal/epl-v10.html
+#
+# Contributors:
+# Maged Elaasar - Initial API and implementation
+#
+#
+
+pluginName = UML Architecture
+providerName=Eclipse Modeling Project
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.xml b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.xml
new file mode 100644
index 00000000000..1be64e8b3e9
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/plugin.xml
@@ -0,0 +1,113 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.4"?>
+<plugin>
+
+ <extension
+ point="org.eclipse.gmf.runtime.emf.type.core.elementTypeBindings">
+ <clientContext
+ id="org.eclipse.papyrus.uml.architecture.Profile">
+ <matcher
+ class="org.eclipse.papyrus.uml.architecture.internal.NoContextEnablementMatcher">
+ </matcher>
+ </clientContext>
+ <binding context="org.eclipse.papyrus.uml.architecture.Profile">
+ <!-- ElementType that deals with View deletion when their related model element is deleted -->
+ <elementType ref="org.eclipse.gmf.runtime.diagram.core.advice.notationDepdendents"/>
+ <elementType ref="org.eclipse.gmf.runtime.diagram.core.advice.removeBookmarks"/>
+ <!-- Check for attempts to edit read-only objects that cannot reasonably be made writeable. -->
+ <advice ref="org.eclipse.papyrus.infra.emf.readOnlyAdvice" />
+ <!-- Delete markers attached to objects being deleted. -->
+ </binding>
+ </extension>
+
+ <extension point="org.eclipse.papyrus.infra.architecture.models">
+ <model path="model/uml.architecture"/>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.infra.gmfdiag.common.diagramReconciler">
+ <diagramReconciler
+ diagramType="PapyrusUMLActivityDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLClassDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLCommunicationDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLComponentDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="CompositeStructure"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLDeploymentDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLInteractionOverviewDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLProfileDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLSequenceDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLStateMachineDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="PapyrusUMLTimingDiagram"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ <diagramReconciler
+ diagramType="UseCase"
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLDiagramReconciler_1_3_0"
+ source="1.2.0"
+ target="1.3.0">
+ </diagramReconciler>
+ </extension>
+
+ <extension
+ point="org.eclipse.papyrus.infra.nattable.common.tableReconciler">
+ <tableReconciler
+ reconcilerClass="org.eclipse.papyrus.uml.architecture.migration.UMLTableReconciler_1_3_0"
+ source="1.0.0"
+ target="1.3.0">
+ </tableReconciler>
+ </extension>
+
+</plugin>
+
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/pom.xml b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/pom.xml
new file mode 100644
index 00000000000..b0958eef33b
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/pom.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.uml-architecture</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <artifactId>org.eclipse.papyrus.uml.architecture</artifactId>
+ <version>1.0.0-SNAPSHOT</version>
+ <packaging>eclipse-plugin</packaging>
+</project> \ No newline at end of file
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLArchitectureContextIds.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLArchitectureContextIds.java
new file mode 100644
index 00000000000..1483f541d9f
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/UMLArchitectureContextIds.java
@@ -0,0 +1,31 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Maged Elaasar - Initial API and Implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.architecture;
+
+/**
+ * The ids of UML-related architecture contexts
+ *
+ * @since 1.0
+ */
+public class UMLArchitectureContextIds {
+
+ /**
+ * The id of the UML architecture context
+ */
+ public static final String UML = "org.eclipse.papyrus.infra.services.edit.TypeContext"; //$NON-NLS-1$
+
+ /**
+ * The id of the Profile architecture context
+ */
+ public static final String Profile = "org.eclipse.papyrus.uml.architecture.Profile"; //$NON-NLS-1$
+}
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/internal/NoContextEnablementMatcher.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/internal/NoContextEnablementMatcher.java
new file mode 100644
index 00000000000..0125bb33134
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/internal/NoContextEnablementMatcher.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST.
+ *
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *
+ * Maged Elaasar - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.architecture.internal;
+
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.gmf.runtime.emf.type.core.IElementMatcher;
+
+/**
+ * A no context matcher used to register element type bindings in the extension points
+ */
+public class NoContextEnablementMatcher implements IElementMatcher {
+
+ @Override
+ public boolean matches(EObject eObject) {
+ return false;
+ }
+}
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLDiagramReconciler_1_3_0.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLDiagramReconciler_1_3_0.java
new file mode 100644
index 00000000000..a893e60d2d4
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLDiagramReconciler_1_3_0.java
@@ -0,0 +1,101 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Maged Elaasar - Initial API and Implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.architecture.migration;
+
+import org.eclipse.gmf.runtime.notation.Diagram;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.architecture.ArchitectureDomainManager;
+import org.eclipse.papyrus.infra.gmfdiag.common.reconciler.DiagramReconciler_1_3_0;
+import org.eclipse.papyrus.infra.gmfdiag.representation.PapyrusDiagram;
+import org.eclipse.papyrus.infra.viewpoints.style.PapyrusViewStyle;
+import org.eclipse.papyrus.uml.architecture.UMLArchitectureContextIds;
+
+/**
+ * UML Diagram Reconciler from 1.2.0 to 1.3.0 that switches the old PapyrusViewStyle by
+ * the new PapyrusDiagramStyle
+ */
+public class UMLDiagramReconciler_1_3_0 extends DiagramReconciler_1_3_0 {
+
+ private static final String ACTIVITY_DIAGRAM = "PapyrusUMLActivityDiagram";
+ private static final String CLASS_DIAGRAM = "PapyrusUMLClassDiagram";
+ private static final String COMMUNICATION_DIAGRAM = "PapyrusUMLCommunicationDiagram";
+ private static final String COMPONENT_DIAGRAM = "PapyrusUMLComponentDiagram";
+ private static final String COMPOSITE_STRUCTURE_DIAGRAM = "CompositeStructure";
+ private static final String DEPLOYMENT_DIAGRAM = "PapyrusUMLDeploymentDiagram";
+ private static final String INTERACTION_OVERVIEW_DIAGRAM = "PapyrusUMLInteractionOverviewDiagram";
+ private static final String PROFILE_DIAGRAM = "PapyrusUMLProfileDiagram";
+ private static final String SEQUENCE_DIAGRAM = "PapyrusUMLSequenceDiagram";
+ private static final String STATE_MACHINE_DIAGRAM = "PapyrusUMLStateMachineDiagram";
+ private static final String TIMING_DIAGRAM = "PapyrusUMLTimingDiagram";
+ private static final String USE_CASE_DIAGRAM = "UseCase";
+
+ /**
+ * @see org.eclipse.papyrus.infra.gmfdiag.common.reconciler.DiagramReconciler_1_3_0#getPapyrusDiagram(org.eclipse.papyrus.infra.viewpoints.style.PapyrusViewStyle)
+ *
+ * @param oldStyle
+ * @return
+ */
+ @Override
+ protected PapyrusDiagram getDiagramKind(Diagram diagram, PapyrusViewStyle oldStyle) {
+ if (oldStyle != null) {
+ org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusDiagram oldDiagramKind =
+ (org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusDiagram) oldStyle.getConfiguration();
+ if (oldDiagramKind != null)
+ return getDiagramKind(oldDiagramKind.getName(), diagram);
+ }
+ if (ACTIVITY_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Activity Diagram", diagram);
+ } else if (CLASS_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Class Diagram", diagram);
+ } else if (COMMUNICATION_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Communication Diagram", diagram);
+ } else if (COMPONENT_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Component Diagram", diagram);
+ } else if (COMPOSITE_STRUCTURE_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Composite Structure Diagram", diagram);
+ } else if (DEPLOYMENT_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Deployment Diagram", diagram);
+ } else if (INTERACTION_OVERVIEW_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Interaction Overview Diagram", diagram);
+ } else if (PROFILE_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Profile Diagram", diagram);
+ } else if (SEQUENCE_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Sequence Diagram", diagram);
+ } else if (STATE_MACHINE_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("State Machine Diagram", diagram);
+ } else if (TIMING_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Timing Diagram", diagram);
+ } else if (USE_CASE_DIAGRAM.equals(diagram.getType())) {
+ return getDiagramKind("Use Case Diagram", diagram);
+ }
+ return null;
+ }
+
+ /**
+ * Gets the diagram kind that matches given name and that supports the given diagram
+ */
+ protected PapyrusDiagram getDiagramKind(String name, Diagram diagram) {
+ ArchitectureDomainManager manager = ArchitectureDomainManager.getInstance();
+ MergedArchitectureDescriptionLanguage context = (MergedArchitectureDescriptionLanguage) manager.getArchitectureContextById(UMLArchitectureContextIds.UML);
+ for(RepresentationKind pKind : context.getRepresentationKinds()) {
+ if (pKind.getName().equals(name)) {
+ PapyrusDiagram dKind = (PapyrusDiagram) pKind;
+ if (dKind.getModelRules().get(0).getElement().isInstance(diagram.getElement())) {
+ return dKind;
+ }
+ }
+ }
+ return null;
+ }
+}
diff --git a/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLTableReconciler_1_3_0.java b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLTableReconciler_1_3_0.java
new file mode 100644
index 00000000000..591b999edbd
--- /dev/null
+++ b/plugins/uml/architecture/org.eclipse.papyrus.uml.architecture/src/org/eclipse/papyrus/uml/architecture/migration/UMLTableReconciler_1_3_0.java
@@ -0,0 +1,127 @@
+/*****************************************************************************
+ * Copyright (c) 2017 CEA LIST and others.
+ *
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * Maged Elaasar - Initial API and Implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.uml.architecture.migration;
+
+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.AbstractCommand;
+import org.eclipse.gmf.runtime.common.core.command.CommandResult;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.papyrus.infra.core.architecture.RepresentationKind;
+import org.eclipse.papyrus.infra.core.architecture.merged.MergedArchitectureDescriptionLanguage;
+import org.eclipse.papyrus.infra.nattable.representation.PapyrusSyncTable;
+import org.eclipse.papyrus.infra.architecture.ArchitectureDomainManager;
+import org.eclipse.papyrus.infra.nattable.common.reconciler.TableReconciler;
+import org.eclipse.papyrus.infra.nattable.model.nattable.Table;
+import org.eclipse.papyrus.uml.architecture.UMLArchitectureContextIds;
+
+/**
+ * UML Table Reconciler from 1.0.0 to 1.3.0 that replaces the old prototype value for tables
+ * with ones based on table kinds
+ */
+public class UMLTableReconciler_1_3_0 extends TableReconciler {
+
+ private static final String VIEW_TABLE = "View Table";
+ private static final String GENERIC_TREE_TABLE = "Generic Tree Table";
+ private static final String CLASS_TREE_TABLE = "ClassTreeTable";
+ private static final String GENERIC_TABLE = "Generic Table";
+ private static final String STEREO_DISPLAY_TREE_TABLE = "StereotypeDisplayTreeTable";
+
+ @Override
+ public ICommand getReconcileCommand(Table table) {
+ if (table.getPrototype() instanceof org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusView) {
+ org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusView oldTableKind =
+ (org.eclipse.papyrus.infra.viewpoints.configuration.PapyrusView) table.getPrototype();
+
+ RepresentationKind newTableKind = null;
+ if (oldTableKind != null) {
+ if (VIEW_TABLE.equals(oldTableKind.getName())) {
+ newTableKind = getSyncTableKind(oldTableKind.getName(), table);
+ } else if (GENERIC_TREE_TABLE.equals(oldTableKind.getName())) {
+ newTableKind = getSyncTableKind(oldTableKind.getName(), table);
+ } else if (CLASS_TREE_TABLE.equals(oldTableKind.getName())) {
+ newTableKind = getSyncTableKind("Class Tree Table", table);
+ } else if (GENERIC_TABLE.equals(oldTableKind.getName())) {
+ newTableKind = getSyncTableKind(oldTableKind.getName(), table);
+ } else if (STEREO_DISPLAY_TREE_TABLE.equals(oldTableKind.getName())) {
+ newTableKind = getSyncTableKind("Stereotype Display Tree Table", table);
+ } else if (oldTableKind.getName() == null) {
+ newTableKind = getSyncTableKind(GENERIC_TABLE, table);
+ }
+ };
+
+ if (newTableKind != null)
+ return new ReplaceTablePrototypeCommand(table, newTableKind);
+ }
+ return null;
+ }
+
+ /**
+ * Get a sync table that matches the given name and that supports the given table
+ */
+ protected PapyrusSyncTable getSyncTableKind(String name, Table table) {
+ ArchitectureDomainManager manager = ArchitectureDomainManager.getInstance();
+ MergedArchitectureDescriptionLanguage context = (MergedArchitectureDescriptionLanguage) manager.getArchitectureContextById(UMLArchitectureContextIds.UML);
+ for(RepresentationKind pKind : context.getRepresentationKinds()) {
+ if (pKind.getName().equals(name)) {
+ PapyrusSyncTable tKind = (PapyrusSyncTable) pKind;
+ if (tKind.getModelRules().get(0).getElement().isInstance(table.getContext())) {
+ return tKind;
+ }
+ }
+ }
+ return null;
+ }
+
+ /**
+ * A command to replace the old table prototype with the new representation kinds
+ */
+ protected class ReplaceTablePrototypeCommand extends AbstractCommand {
+
+ private Table table;
+ private RepresentationKind newKind;
+
+ public ReplaceTablePrototypeCommand(Table table, RepresentationKind newKind) {
+ super("Replace the papyrus view style from 1.0.0 to 1.3.0");
+ this.table = table;
+ this.newKind = newKind;
+ }
+
+ @Override
+ protected CommandResult doExecuteWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
+ table.setPrototype(newKind);
+ return CommandResult.newOKCommandResult();
+ }
+
+ @Override
+ public boolean canUndo() {
+ return false;
+ }
+
+ @Override
+ public boolean canRedo() {
+ return false;
+ }
+
+ @Override
+ protected CommandResult doRedoWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
+ throw new ExecutionException("Should not be called, canRedo false"); //$NON-NLS-1$
+ }
+
+ @Override
+ protected CommandResult doUndoWithResult(IProgressMonitor progressMonitor, IAdaptable info) throws ExecutionException {
+ throw new ExecutionException("Should not be called, canUndo false"); //$NON-NLS-1$
+ }
+ }
+}

Back to the top