Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/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
-rw-r--r--plugins/uml/architecture/pom.xml17
17 files changed, 986 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$
+ }
+ }
+}
diff --git a/plugins/uml/architecture/pom.xml b/plugins/uml/architecture/pom.xml
new file mode 100644
index 00000000000..24cea77f8cc
--- /dev/null
+++ b/plugins/uml/architecture/pom.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<project>
+ <modelVersion>4.0.0</modelVersion>
+ <artifactId>org.eclipse.papyrus.uml-architecture</artifactId>
+ <packaging>pom</packaging>
+ <parent>
+ <groupId>org.eclipse.papyrus</groupId>
+ <artifactId>org.eclipse.papyrus.uml</artifactId>
+ <version>0.0.1-SNAPSHOT</version>
+ </parent>
+ <name>Papyrus UML Architecture</name>
+ <description>Papyrus UML architecture contexts.</description>
+
+ <modules>
+ <module>org.eclipse.papyrus.uml.architecture</module>
+ </modules>
+</project>

Back to the top