Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemi Schnekenburger2017-03-03 16:06:21 +0000
committerGerrit Code Review @ Eclipse.org2017-03-06 09:50:13 +0000
commit6f52c4c920bfec9e4984d471e0e3ca4c9d601080 (patch)
treeb04383a9a786d6696d20e8af7de9b2abd3cdccf8 /tests/junit/umlrt/core
parentfdb01cf1128261822d80c814ccc2215dd5118911 (diff)
downloadorg.eclipse.papyrus-rt-6f52c4c920bfec9e4984d471e0e3ca4c9d601080.tar.gz
org.eclipse.papyrus-rt-6f52c4c920bfec9e4984d471e0e3ca4c9d601080.tar.xz
org.eclipse.papyrus-rt-6f52c4c920bfec9e4984d471e0e3ca4c9d601080.zip
Bug 494284: [Tooling] Create a UML-RT Transition using the tool palette
in a state machine diagram https://bugs.eclipse.org/bugs/show_bug.cgi?id=494284 - Delete entry/exit pseudo states that do not have any outgoings/incomings when the last transition is deleted - adding JUnit tests Change-Id: Ied4f42464fe5e610bae4893bc69843be1c68a230 Signed-off-by: Remi Schnekenburger <rschnekenburger@eclipsesource.com>
Diffstat (limited to 'tests/junit/umlrt/core')
-rw-r--r--tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.notation926
-rw-r--r--tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.uml42
-rw-r--r--tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/AbstractPapyrusRTCoreTest.java152
-rw-r--r--tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteElementTest.java90
-rw-r--r--tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteTransitionsTest.java237
5 files changed, 1339 insertions, 108 deletions
diff --git a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.notation b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.notation
index 426f92b76..61492be72 100644
--- a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.notation
+++ b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.notation
@@ -215,7 +215,7 @@
<notation:Diagram xmi:id="_qWQz8LGnEeaAyq05NkOz7g" type="PapyrusUMLStateMachineDiagram" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_qWQz8bGnEeaAyq05NkOz7g" type="StateMachine_Shape">
<children xmi:type="notation:DecorationNode" xmi:id="_qWQz8rGnEeaAyq05NkOz7g" type="StateMachine_NameLabel">
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qWQz87GnEeaAyq05NkOz7g" width="700" height="20"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qWQz87GnEeaAyq05NkOz7g" width="700" height="23"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_qWQz9LGnEeaAyq05NkOz7g" type="StateMachine_RegionCompartment">
<children xmi:type="notation:Shape" xmi:id="_qWQz9bGnEeaAyq05NkOz7g" type="Region_Shape">
@@ -286,7 +286,7 @@
<layoutConstraint xmi:type="notation:Location" xmi:id="_r8w3trGnEeaAyq05NkOz7g" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="TestModel.uml#_r8vpkLGnEeaAyq05NkOz7g"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8w3srGnEeaAyq05NkOz7g" x="3" y="-5" width="10" height="10"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8w3srGnEeaAyq05NkOz7g" x="51" y="-5" width="10" height="10"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_s9J9sLGnEeaAyq05NkOz7g" type="Pseudostate_ExitPointShape">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_s99O8LGnEeaAyq05NkOz7g" source="PapyrusCSSForceValue">
@@ -299,8 +299,9 @@
<layoutConstraint xmi:type="notation:Location" xmi:id="_s9J9tbGnEeaAyq05NkOz7g" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="TestModel.uml#_s8f2YLGnEeaAyq05NkOz7g"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s9J9sbGnEeaAyq05NkOz7g" x="-5" y="-5" width="10" height="10"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_s9J9sbGnEeaAyq05NkOz7g" x="-5" y="40" width="10" height="10"/>
</children>
+ <children xmi:type="notation:Compartment" xmi:id="_69cHYP9gEeaYl-9HO68L4Q" type="InternalTransitions"/>
<element xmi:type="uml:State" href="TestModel.uml#_qVpI5LGnEeaAyq05NkOz7g"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_q_pvZbGnEeaAyq05NkOz7g" x="164" y="65" width="244" height="121"/>
</children>
@@ -349,7 +350,7 @@
<element xsi:nil="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_q_pvTrGnEeaAyq05NkOz7g" x="200"/>
</children>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qWQz-7GnEeaAyq05NkOz7g" y="20" width="700" height="280"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_qWQz-7GnEeaAyq05NkOz7g" y="23" width="700" height="277"/>
</children>
<element xmi:type="uml:StateMachine" href="TestModel.uml#_qVpI4LGnEeaAyq05NkOz7g"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_qWQz_LGnEeaAyq05NkOz7g" x="30" y="30" width="700" height="300"/>
@@ -415,7 +416,7 @@
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_rEE8M7GnEeaAyq05NkOz7g" type="Transition_NameLabel">
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_rXr0sLGnEeaAyq05NkOz7g" name="IS_UPDATED_POSITION" booleanValue="true"/>
- <layoutConstraint xmi:type="notation:Location" xmi:id="_rEE8NLGnEeaAyq05NkOz7g"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_rEE8NLGnEeaAyq05NkOz7g" x="15" y="-8"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_rEE8NbGnEeaAyq05NkOz7g" type="Transition_GuardLabel">
<styles xmi:type="notation:BooleanValueStyle" xmi:id="_rX1lsLGnEeaAyq05NkOz7g" name="IS_UPDATED_POSITION" booleanValue="true"/>
@@ -455,7 +456,7 @@
<notation:Diagram xmi:id="_r8t0YLGnEeaAyq05NkOz7g" type="PapyrusUMLStateMachineDiagram" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_r8t0YbGnEeaAyq05NkOz7g" type="State_Shape_TN">
<children xmi:type="notation:DecorationNode" xmi:id="_r8t0YrGnEeaAyq05NkOz7g" type="State_NameLabel_TN">
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8t0Y7GnEeaAyq05NkOz7g" width="700" height="20"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8t0Y7GnEeaAyq05NkOz7g" width="700" height="23"/>
</children>
<children xmi:type="notation:BasicCompartment" xmi:id="_r8t0ZLGnEeaAyq05NkOz7g" type="State_RegionCompartment_TN">
<children xmi:type="notation:Shape" xmi:id="_r8t0ZbGnEeaAyq05NkOz7g" type="Region_Shape">
@@ -484,7 +485,7 @@
</children>
<children xmi:type="notation:Compartment" xmi:id="_6_HgwPOLEeaLjeWEv6597A" type="InternalTransitions"/>
<element xmi:type="uml:State" href="TestModel.uml#_tZIvELGnEeaAyq05NkOz7g"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tZSgEbGnEeaAyq05NkOz7g" x="170" y="113"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_tZSgEbGnEeaAyq05NkOz7g" x="164" y="32"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_tZSgIbGnEeaAyq05NkOz7g" type="StereotypeComment">
<styles xmi:type="notation:TitleStyle" xmi:id="_tZSgIrGnEeaAyq05NkOz7g"/>
@@ -515,7 +516,7 @@
</children>
<children xmi:type="notation:Compartment" xmi:id="_6_Z0oPOLEeaLjeWEv6597A" type="InternalTransitions"/>
<element xmi:type="uml:State" href="TestModel.uml#_v4HS8LGnEeaAyq05NkOz7g"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4aN4bGnEeaAyq05NkOz7g" x="381" y="115"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4aN4bGnEeaAyq05NkOz7g" x="375" y="34"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_v4j-6rGnEeaAyq05NkOz7g" type="StereotypeComment">
<styles xmi:type="notation:TitleStyle" xmi:id="_v4j-67GnEeaAyq05NkOz7g"/>
@@ -525,6 +526,250 @@
<element xsi:nil="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_v4j-7LGnEeaAyq05NkOz7g" x="200"/>
</children>
+ <children xmi:type="notation:Shape" xmi:id="_CyZRcP9hEeaYl-9HO68L4Q" type="State_Shape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vi3t4P9hEeaYl-9HO68L4Q" source="PapyrusHyperLink_Page" references="_Vit84P9hEeaYl-9HO68L4Q">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vi3t4f9hEeaYl-9HO68L4Q" key="tooltip_text" value="CapsuleWithCompositeState..composite1"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vi3t4v9hEeaYl-9HO68L4Q" key="pageName" value="CapsuleWithCompositeState..composite1"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vi3t4_9hEeaYl-9HO68L4Q" key="is_default_navigation" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_C1Mt0P9hEeaYl-9HO68L4Q" type="State_NameLabel">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OBfnIP9hEeaYl-9HO68L4Q" width="121"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_C1Mt0f9hEeaYl-9HO68L4Q" type="State_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_C1Mt0v9hEeaYl-9HO68L4Q" x="40"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_C1Mt0_9hEeaYl-9HO68L4Q" type="State_RegionCompartment">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C1Mt1P9hEeaYl-9HO68L4Q" y="-1" width="121"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_C1Mt1f9hEeaYl-9HO68L4Q" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C1Mt1v9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_C1Xs8P9hEeaYl-9HO68L4Q" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_C1Xs8f9hEeaYl-9HO68L4Q" name="stereotype" stringValue="UMLRTStateMachines::RTState"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KKLAAFDuEeOA4ecmvfqvaw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C1Xs8v9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_C1YUAP9hEeaYl-9HO68L4Q" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_C1YUAf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_C1YUAv9hEeaYl-9HO68L4Q" name="stereotype" stringValue="UMLRTStateMachines::RTState"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KKLAAFDuEeOA4ecmvfqvaw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C1YUA_9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_C1Y7EP9hEeaYl-9HO68L4Q" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_C1Y7Ef9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C1Y7Ev9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_C1iFAP9hEeaYl-9HO68L4Q" type="StereotypeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_C1iFAf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_C1iFAv9hEeaYl-9HO68L4Q" name="stereotype" stringValue="UMLRTStateMachines::RTState"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KKLAAFDuEeOA4ecmvfqvaw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C1iFA_9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VjNsIP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_VjOTMP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjOTMf9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VjOTMv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjOTM_9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_Vi8mYP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VjNsIf9hEeaYl-9HO68L4Q" x="116" y="18" width="10" height="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VjYEMP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_VjYrQP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjYrQf9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VjYrQv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjYrQ_9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_VjR9kP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VjYEMf9hEeaYl-9HO68L4Q" x="116" y="57" width="10" height="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VjgnEP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_VjgnEv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjgnE_9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VjgnFP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjgnFf9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_VjbukP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VjgnEf9hEeaYl-9HO68L4Q" x="116" y="37" width="10" height="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vjs0UP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_VjtbYP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjtbYf9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_VjtbYv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_VjtbY_9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_Vjk4gP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vjs0Uf9hEeaYl-9HO68L4Q" x="116" y="76" width="10" height="10"/>
+ </children>
+ <element xmi:type="uml:State" href="TestModel.uml#_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_CyZRcf9hEeaYl-9HO68L4Q" x="135" y="142" width="121" height="96"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_C1awQP9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_C1awQf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_C1b-YP9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_C1awQv9hEeaYl-9HO68L4Q" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Ew17IP9hEeaYl-9HO68L4Q" type="State_Shape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l_nNIP9hEeaYl-9HO68L4Q" source="PapyrusHyperLink_Page" references="_l_kw4P9hEeaYl-9HO68L4Q">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l_nNIf9hEeaYl-9HO68L4Q" key="tooltip_text" value="CapsuleWithCompositeState..composite2"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l_nNIv9hEeaYl-9HO68L4Q" key="pageName" value="CapsuleWithCompositeState..composite2"/>
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l_nNI_9hEeaYl-9HO68L4Q" key="is_default_navigation" value="true"/>
+ </eAnnotations>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ew2iMP9hEeaYl-9HO68L4Q" type="State_NameLabel">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_OSIrMP9hEeaYl-9HO68L4Q" width="121"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Ew2iMf9hEeaYl-9HO68L4Q" type="State_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Ew2iMv9hEeaYl-9HO68L4Q" x="40"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Ew3JQP9hEeaYl-9HO68L4Q" type="State_RegionCompartment">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ew3JQf9hEeaYl-9HO68L4Q" y="-1" width="121"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_Ew3JQv9hEeaYl-9HO68L4Q" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ew3JQ_9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_ExBhUP9hEeaYl-9HO68L4Q" type="StereotypeLabel">
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_ExBhUf9hEeaYl-9HO68L4Q" name="stereotype" stringValue="UMLRTStateMachines::RTState"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KKLAAFDuEeOA4ecmvfqvaw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ExBhUv9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ExCIYP9hEeaYl-9HO68L4Q" type="StereotypeBrace">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ExCIYf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_ExCIYv9hEeaYl-9HO68L4Q" name="stereotype" stringValue="UMLRTStateMachines::RTState"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KKLAAFDuEeOA4ecmvfqvaw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ExCIY_9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ExCvcP9hEeaYl-9HO68L4Q" type="compartment_shape_display">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ExCvcf9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ExCvcv9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_ExEkoP9hEeaYl-9HO68L4Q" type="StereotypeCompartment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ExEkof9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_ExEkov9hEeaYl-9HO68L4Q" name="stereotype" stringValue="UMLRTStateMachines::RTState"/>
+ <element xmi:type="uml:Stereotype" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KKLAAFDuEeOA4ecmvfqvaw"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ExEko_9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l_tTwP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l_tTwv9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l_t60P9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l_t60f9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l_t60v9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_l_obQP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_tTwf9hEeaYl-9HO68L4Q" x="-5" y="18" width="10" height="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l_0BcP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l_0ogP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l_0ogf9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l_0ogv9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l_0og_9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_l_vwAP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_0Bcf9hEeaYl-9HO68L4Q" x="-5" y="57" width="10" height="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_l_5hAP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l_5hAv9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l_6IEP9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_l_6IEf9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_l_6IEv9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_l_12oP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_5hAf9hEeaYl-9HO68L4Q" x="-5" y="37" width="10" height="10"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mACD4P9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mACD4v9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mACD4_9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mACD5P9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mACD5f9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_l_9LYP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mACD4f9hEeaYl-9HO68L4Q" x="-5" y="76" width="10" height="10"/>
+ </children>
+ <element xmi:type="uml:State" href="TestModel.uml#_EwShgP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Ew17If9hEeaYl-9HO68L4Q" x="410" y="142" width="121" height="96"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_ExDWgP9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_ExDWgf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ExDWg_9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_EwShgP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_ExDWgv9hEeaYl-9HO68L4Q" x="200"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_VnjZk_9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_VnjZlP9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VnjZlv9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_Vi8mYP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_VnjZlf9hEeaYl-9HO68L4Q" x="316" y="18"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vnr8cP9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Vnr8cf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Vnr8c_9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_VjR9kP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vnr8cv9hEeaYl-9HO68L4Q" x="316" y="57"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vnz4QP9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Vnz4Qf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Vnz4Q_9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_VjbukP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vnz4Qv9hEeaYl-9HO68L4Q" x="316" y="37"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vn70EP9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Vn70Ef9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Vn70E_9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_Vjk4gP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vn70Ev9hEeaYl-9HO68L4Q" x="316" y="76"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mEOnYP9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mEOnYf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mEOnY_9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_obQP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mEOnYv9hEeaYl-9HO68L4Q" x="195" y="18"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mEV8I_9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mEV8JP9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mEV8Jv9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_vwAP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mEV8Jf9hEeaYl-9HO68L4Q" x="195" y="57"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mEdQ4_9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mEdQ5P9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mEd38P9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_12oP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mEdQ5f9hEeaYl-9HO68L4Q" x="195" y="37"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mEiwcP9hEeaYl-9HO68L4Q" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_mEiwcf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mEiwc_9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_9LYP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mEiwcv9hEeaYl-9HO68L4Q" x="195" y="76"/>
+ </children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8t0abGnEeaAyq05NkOz7g"/>
</children>
<element xmi:type="uml:Region" href="TestModel.uml#_r8tNULGnEeaAyq05NkOz7g"/>
@@ -538,7 +783,7 @@
<element xsi:nil="true"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_r9WtsbGnEeaAyq05NkOz7g" x="200"/>
</children>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8t0a7GnEeaAyq05NkOz7g" y="20" width="700" height="287"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8t0a7GnEeaAyq05NkOz7g" y="23" width="700" height="287"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_r8w3t7GnEeaAyq05NkOz7g" type="Pseudostate_EntryPointShape">
<children xmi:type="notation:DecorationNode" xmi:id="_r8w3ubGnEeaAyq05NkOz7g" type="Pseudostate_EntryPointFloatingNameLabel">
@@ -581,8 +826,11 @@
<element xmi:type="uml:Pseudostate" href="TestModel.uml#_s8f2YLGnEeaAyq05NkOz7g"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_s82bsbGnEeaAyq05NkOz7g" x="-10" y="200" width="20" height="20"/>
</children>
+ <children xmi:type="notation:Compartment" xmi:id="_3jVYAP9gEeaYl-9HO68L4Q" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_3sJ80P9gEeaYl-9HO68L4Q"/>
+ </children>
<element xmi:type="uml:State" href="TestModel.uml#_qVpI5LGnEeaAyq05NkOz7g"/>
- <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8t0bLGnEeaAyq05NkOz7g" x="30" y="30" width="700" height="307"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_r8t0bLGnEeaAyq05NkOz7g" x="30" y="30" width="700" height="310"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_r9WtmrGnEeaAyq05NkOz7g" type="StereotypeComment">
<styles xmi:type="notation:TitleStyle" xmi:id="_r9Wtm7GnEeaAyq05NkOz7g"/>
@@ -677,19 +925,671 @@
</edges>
<edges xmi:type="notation:Connector" xmi:id="_8FLJ4POLEeaLjeWEv6597A" type="Transition_Edge" source="_tZSgELGnEeaAyq05NkOz7g" target="_v4aN4LGnEeaAyq05NkOz7g">
<children xmi:type="notation:DecorationNode" xmi:id="_8FNmIPOLEeaLjeWEv6597A" type="Transition_NameLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BGOqkP9hEeaYl-9HO68L4Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_8FNmIfOLEeaLjeWEv6597A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_8FONMPOLEeaLjeWEv6597A" type="Transition_GuardLabel">
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BGmeAP9hEeaYl-9HO68L4Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
<layoutConstraint xmi:type="notation:Location" xmi:id="_8FONMfOLEeaLjeWEv6597A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_8FONMvOLEeaLjeWEv6597A" type="Transition_StereotypeLabel">
- <layoutConstraint xmi:type="notation:Location" xmi:id="_8FONM_OLEeaLjeWEv6597A" y="60"/>
+ <styles xmi:type="notation:BooleanValueStyle" xmi:id="_BG28sP9hEeaYl-9HO68L4Q" name="IS_UPDATED_POSITION" booleanValue="true"/>
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_8FONM_OLEeaLjeWEv6597A" y="59"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_8FLJ4fOLEeaLjeWEv6597A"/>
<element xmi:type="uml:Transition" href="TestModel.uml#_74zh0POLEeaLjeWEv6597A"/>
- <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8FLJ4vOLEeaLjeWEv6597A" points="[256, 186, -643984, -643984]$[412, 181, -643984, -643984]"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_8FLJ4vOLEeaLjeWEv6597A"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8wA2oPOLEeaLjeWEv6597A" id="(1.0,0.575)"/>
- <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8wBdsPOLEeaLjeWEv6597A" id="(0.0,0.4)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_8wBdsPOLEeaLjeWEv6597A" id="(0.0,0.525)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_C1clcP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_CyZRcP9hEeaYl-9HO68L4Q" target="_C1awQP9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_C1clcf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_C1fowP9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_C1clcv9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_C1dMgP9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_C1dMgf9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_ExDWhP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_Ew17IP9hEeaYl-9HO68L4Q" target="_ExDWgP9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_ExDWhf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_ExDWif9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_EwShgP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_ExDWhv9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ExDWh_9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_ExDWiP9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_GWzMUP9hEeaYl-9HO68L4Q" type="Transition_Edge" source="_VjNsIP9hEeaYl-9HO68L4Q" target="_l_tTwP9hEeaYl-9HO68L4Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_GWzzYP9hEeaYl-9HO68L4Q" type="Transition_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GWzzYf9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GWzzYv9hEeaYl-9HO68L4Q" type="Transition_GuardLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GWzzY_9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_GWzzZP9hEeaYl-9HO68L4Q" type="Transition_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_GWzzZf9hEeaYl-9HO68L4Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_GWzMUf9hEeaYl-9HO68L4Q"/>
+ <element xmi:type="uml:Transition" href="TestModel.uml#_GUTR8P9hEeaYl-9HO68L4Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_GWzMUv9hEeaYl-9HO68L4Q"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GXz48P9hEeaYl-9HO68L4Q" id="(1.0,0.1875)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_GXz48f9hEeaYl-9HO68L4Q" id="(0.0,0.1875)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_IVXKwP9hEeaYl-9HO68L4Q" type="Transition_Edge" source="_VjYEMP9hEeaYl-9HO68L4Q" target="_l_0BcP9hEeaYl-9HO68L4Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_IVXx0P9hEeaYl-9HO68L4Q" type="Transition_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IVXx0f9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IVXx0v9hEeaYl-9HO68L4Q" type="Transition_GuardLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IVXx0_9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_IVXx1P9hEeaYl-9HO68L4Q" type="Transition_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_IVXx1f9hEeaYl-9HO68L4Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_IVXKwf9hEeaYl-9HO68L4Q"/>
+ <element xmi:type="uml:Transition" href="TestModel.uml#_IU53wP9hEeaYl-9HO68L4Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_IVXKwv9hEeaYl-9HO68L4Q"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IWRwwP9hEeaYl-9HO68L4Q" id="(1.0,0.59375)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_IWSX0P9hEeaYl-9HO68L4Q" id="(0.0,0.59375)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Mg7zUP9hEeaYl-9HO68L4Q" type="Transition_Edge" source="_VjgnEP9hEeaYl-9HO68L4Q" target="_l_5hAP9hEeaYl-9HO68L4Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Mg7zU_9hEeaYl-9HO68L4Q" type="Transition_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Mg7zVP9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Mg7zVf9hEeaYl-9HO68L4Q" type="Transition_GuardLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Mg8aYP9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Mg8aYf9hEeaYl-9HO68L4Q" type="Transition_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Mg8aYv9hEeaYl-9HO68L4Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Mg7zUf9hEeaYl-9HO68L4Q"/>
+ <element xmi:type="uml:Transition" href="TestModel.uml#_MgegUP9hEeaYl-9HO68L4Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Mg7zUv9hEeaYl-9HO68L4Q"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhvEkP9hEeaYl-9HO68L4Q" id="(1.0,0.3854166666666667)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_MhvEkf9hEeaYl-9HO68L4Q" id="(0.0,0.3854166666666667)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_OuCkEP9hEeaYl-9HO68L4Q" type="Transition_Edge" source="_Vjs0UP9hEeaYl-9HO68L4Q" target="_mACD4P9hEeaYl-9HO68L4Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_OuDLIP9hEeaYl-9HO68L4Q" type="Transition_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OuDLIf9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_OuDLIv9hEeaYl-9HO68L4Q" type="Transition_GuardLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OuDLI_9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_OuDLJP9hEeaYl-9HO68L4Q" type="Transition_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_OuDLJf9hEeaYl-9HO68L4Q" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_OuCkEf9hEeaYl-9HO68L4Q"/>
+ <element xmi:type="uml:Transition" href="TestModel.uml#_OtdVQP9hEeaYl-9HO68L4Q"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_OuCkEv9hEeaYl-9HO68L4Q"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ou778P9hEeaYl-9HO68L4Q" id="(1.0,0.7916666666666666)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Ou778f9hEeaYl-9HO68L4Q" id="(0.0,0.7916666666666666)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_VnkAoP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_VjNsIP9hEeaYl-9HO68L4Q" target="_VnjZk_9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_VnkAof9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_VnkApf9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_Vi8mYP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_VnkAov9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VnkAo_9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_VnkApP9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vnr8dP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_VjYEMP9hEeaYl-9HO68L4Q" target="_Vnr8cP9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vnr8df9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Vnr8ef9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_VjR9kP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vnr8dv9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vnr8d_9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vnr8eP9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vnz4RP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_VjgnEP9hEeaYl-9HO68L4Q" target="_Vnz4QP9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vnz4Rf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Vn0fUf9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_VjbukP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vnz4Rv9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vnz4R_9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vn0fUP9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Vn8bIP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_Vjs0UP9hEeaYl-9HO68L4Q" target="_Vn70EP9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Vn8bIf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Vn8bJf9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_Vjk4gP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Vn8bIv9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vn8bI_9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Vn8bJP9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_mEOnZP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_l_tTwP9hEeaYl-9HO68L4Q" target="_mEOnYP9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_mEOnZf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mEOnaf9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_obQP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mEOnZv9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mEOnZ_9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mEOnaP9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_mEWjMP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_l_0BcP9hEeaYl-9HO68L4Q" target="_mEV8I_9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_mEWjMf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mEWjNf9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_vwAP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mEWjMv9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mEWjM_9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mEWjNP9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_mEd38f9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_l_5hAP9hEeaYl-9HO68L4Q" target="_mEdQ4_9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_mEd38v9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mEd39v9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_12oP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mEd38_9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mEd39P9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mEd39f9hEeaYl-9HO68L4Q"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_mEiwdP9hEeaYl-9HO68L4Q" type="StereotypeCommentLink" source="_mACD4P9hEeaYl-9HO68L4Q" target="_mEiwcP9hEeaYl-9HO68L4Q">
+ <styles xmi:type="notation:FontStyle" xmi:id="_mEiwdf9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_mEiwef9hEeaYl-9HO68L4Q" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_9LYP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_mEiwdv9hEeaYl-9HO68L4Q" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mEiwd_9hEeaYl-9HO68L4Q"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_mEiweP9hEeaYl-9HO68L4Q"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_Vit84P9hEeaYl-9HO68L4Q" type="PapyrusUMLStateMachineDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_Vit84f9hEeaYl-9HO68L4Q" type="State_Shape_TN">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vit84v9hEeaYl-9HO68L4Q" type="State_NameLabel_TN">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vit84_9hEeaYl-9HO68L4Q" width="700" height="23"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vit85P9hEeaYl-9HO68L4Q" type="State_RegionCompartment_TN">
+ <children xmi:type="notation:Shape" xmi:id="_Vit85f9hEeaYl-9HO68L4Q" type="Region_Shape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_Vit85v9hEeaYl-9HO68L4Q" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_Vit85_9hEeaYl-9HO68L4Q" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_Vit86P9hEeaYl-9HO68L4Q" type="Region_SubvertexCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_I69q0P9kEeal8sRL6fi9EA" type="State_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_I6_gAP9kEeal8sRL6fi9EA" type="State_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_I6_gAf9kEeal8sRL6fi9EA" type="State_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_I7AHEP9kEeal8sRL6fi9EA" x="40"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_I7AHEf9kEeal8sRL6fi9EA" type="State_RegionCompartment">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I7AHEv9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_I7AHE_9kEeal8sRL6fi9EA" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I7AHFP9kEeal8sRL6fi9EA"/>
+ </children>
+ <element xmi:type="uml:State" href="TestModel.uml#_I0sqwP9kEeal8sRL6fi9EA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I69q0f9kEeal8sRL6fi9EA" x="373" y="80" width="90" height="61"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_I7P-sP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_I7P-sf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_I7P-s_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_I0sqwP9kEeal8sRL6fi9EA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_I7P-sv9kEeal8sRL6fi9EA" x="200"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vit86f9hEeaYl-9HO68L4Q"/>
+ </children>
+ <element xmi:type="uml:Region" href="TestModel.uml#_Viq5kP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vit86v9hEeaYl-9HO68L4Q" width="700" height="287"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_HfhnkP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Hfhnkf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_HfiOoP9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Region" href="TestModel.uml#_Viq5kP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hfhnkv9kEeal8sRL6fi9EA" x="200"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vit86_9hEeaYl-9HO68L4Q" y="23" width="700" height="287"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_Vit87P9hEeaYl-9HO68L4Q" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vit87f9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vj0JEP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vj0JEv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj0JE_9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vj0JFP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj0JFf9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_Vi8mYP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj0JEf9hEeaYl-9HO68L4Q" x="695" y="67"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vj0wIP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vj0wIv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj0wI_9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vj0wJP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj0wJf9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_VjR9kP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj0wIf9hEeaYl-9HO68L4Q" x="695" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vj0wJv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vj0wKP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj0wKf9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vj0wKv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj0wK_9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_VjbukP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj0wJ_9hEeaYl-9HO68L4Q" x="695" y="127"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Vj1XMP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vj1XMv9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj1XM_9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Vj1XNP9hEeaYl-9HO68L4Q" type="Pseudostate_ExitPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Vj1XNf9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_Vjk4gP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vj1XMf9hEeaYl-9HO68L4Q" x="695" y="247"/>
+ </children>
+ <element xmi:type="uml:State" href="TestModel.uml#_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Vit87v9hEeaYl-9HO68L4Q" x="30" y="30" width="700" height="310"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_HfPTsP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_HfPTsf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_HfRI4P9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HfPTsv9kEeal8sRL6fi9EA" x="230" y="30"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_HftNwP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_HftNwf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_HftNw_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_Vi8mYP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HftNwv9kEeal8sRL6fi9EA" x="895" y="67"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_HfzUYP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_HfzUYf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Hfz7cP9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_VjR9kP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_HfzUYv9kEeal8sRL6fi9EA" x="895" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Hf5bAP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Hf5bAf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Hf5bA_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_VjbukP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hf5bAv9kEeal8sRL6fi9EA" x="895" y="127"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Hf-6kP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Hf-6kf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Hf_hoP9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_Vjk4gP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Hf-6kv9kEeal8sRL6fi9EA" x="895" y="247"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_Vit87_9hEeaYl-9HO68L4Q" name="diagram_compatibility_version" stringValue="1.2.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_Vit88P9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_Vit88f9hEeaYl-9HO68L4Q">
+ <owner xmi:type="uml:State" href="TestModel.uml#_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ <configuration xmi:type="configuration:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrusrt.umlrt.tooling.diagram.statemachine/configuration/RTStateMachine.configuration#_Z79eQHcZEeSnWeKqQOfW2A"/>
+ </styles>
+ <element xmi:type="uml:State" href="TestModel.uml#_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ <edges xmi:type="notation:Connector" xmi:id="_HfTlIP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_Vit84f9hEeaYl-9HO68L4Q" target="_HfPTsP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_HfTlIf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_HfVaUf9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HfTlIv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HfUMMP9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HfVaUP9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_HfiOof9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_Vit85f9hEeaYl-9HO68L4Q" target="_HfhnkP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_HfiOov9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_HfiOpv9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Region" href="TestModel.uml#_Viq5kP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HfiOo_9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HfiOpP9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HfiOpf9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_HftNxP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_Vj0JEP9hEeaYl-9HO68L4Q" target="_HftNwP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_HftNxf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_HftNyf9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_Vi8mYP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_HftNxv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HftNx_9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_HftNyP9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Hfz7cf9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_Vj0wIP9hEeaYl-9HO68L4Q" target="_HfzUYP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Hfz7cv9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Hfz7dv9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_VjR9kP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Hfz7c_9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hfz7dP9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hfz7df9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Hf5bBP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_Vj0wJv9hEeaYl-9HO68L4Q" target="_Hf5bAP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Hf5bBf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Hf5bCf9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_VjbukP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Hf5bBv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hf5bB_9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hf5bCP9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Hf_hof9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_Vj1XMP9hEeaYl-9HO68L4Q" target="_Hf-6kP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Hf_hov9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Hf_hpv9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_Vjk4gP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Hf_ho_9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hf_hpP9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Hf_hpf9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_I7QlwP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_I69q0P9kEeal8sRL6fi9EA" target="_I7P-sP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_I7Qlwf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_I7Qlxf9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_I0sqwP9kEeal8sRL6fi9EA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_I7Qlwv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_I7Qlw_9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_I7QlxP9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_L5MWgP9kEeal8sRL6fi9EA" type="Transition_Edge" source="_I69q0P9kEeal8sRL6fi9EA" target="_Vj0wJv9hEeaYl-9HO68L4Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_L5M9kP9kEeal8sRL6fi9EA" type="Transition_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_L5M9kf9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_L5M9kv9kEeal8sRL6fi9EA" type="Transition_GuardLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_L5M9k_9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_L5M9lP9kEeal8sRL6fi9EA" type="Transition_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_L5M9lf9kEeal8sRL6fi9EA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_L5MWgf9kEeal8sRL6fi9EA"/>
+ <element xmi:type="uml:Transition" href="TestModel.uml#_L2TakP9kEeal8sRL6fi9EA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_L5MWgv9kEeal8sRL6fi9EA" points="[-240, -74, -236, -9]$[-2, -61, 2, 4]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_L6Km4P9kEeal8sRL6fi9EA" id="(0.8,0.32786885245901637)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_McMV4P9kEeal8sRL6fi9EA" type="Transition_Edge" source="_I69q0P9kEeal8sRL6fi9EA" target="_Vj1XMP9hEeaYl-9HO68L4Q">
+ <children xmi:type="notation:DecorationNode" xmi:id="_McMV4_9kEeal8sRL6fi9EA" type="Transition_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_McMV5P9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_McMV5f9kEeal8sRL6fi9EA" type="Transition_GuardLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_McMV5v9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_McM88P9kEeal8sRL6fi9EA" type="Transition_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_McM88f9kEeal8sRL6fi9EA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_McMV4f9kEeal8sRL6fi9EA"/>
+ <element xmi:type="uml:Transition" href="TestModel.uml#_Mb6CAP9kEeal8sRL6fi9EA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_McMV4v9kEeal8sRL6fi9EA" points="[-233, -42, -237, -98]$[5, 51, 1, -5]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Mc8j0P9kEeal8sRL6fi9EA" id="(0.7555555555555555,0.7049180327868853)"/>
+ </edges>
+ </notation:Diagram>
+ <notation:Diagram xmi:id="_l_kw4P9hEeaYl-9HO68L4Q" type="PapyrusUMLStateMachineDiagram" measurementUnit="Pixel">
+ <children xmi:type="notation:Shape" xmi:id="_l_kw4f9hEeaYl-9HO68L4Q" type="State_Shape_TN">
+ <children xmi:type="notation:DecorationNode" xmi:id="_l_kw4v9hEeaYl-9HO68L4Q" type="State_NameLabel_TN">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_kw4_9hEeaYl-9HO68L4Q" width="700" height="23"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_l_kw5P9hEeaYl-9HO68L4Q" type="State_RegionCompartment_TN">
+ <children xmi:type="notation:Shape" xmi:id="_l_kw5f9hEeaYl-9HO68L4Q" type="Region_Shape">
+ <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_l_kw5v9hEeaYl-9HO68L4Q" source="RegionAnnotationKey">
+ <details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_l_kw5_9hEeaYl-9HO68L4Q" key="RegionZoneKey" value=""/>
+ </eAnnotations>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_l_kw6P9hEeaYl-9HO68L4Q" type="Region_SubvertexCompartment">
+ <children xmi:type="notation:Shape" xmi:id="_QfkEsP9kEeal8sRL6fi9EA" type="State_Shape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_QfkrwP9kEeal8sRL6fi9EA" type="State_NameLabel"/>
+ <children xmi:type="notation:DecorationNode" xmi:id="_QflS0P9kEeal8sRL6fi9EA" type="State_FloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_QflS0f9kEeal8sRL6fi9EA" x="40"/>
+ </children>
+ <children xmi:type="notation:BasicCompartment" xmi:id="_QflS0v9kEeal8sRL6fi9EA" type="State_RegionCompartment">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QflS0_9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_QflS1P9kEeal8sRL6fi9EA" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QflS1f9kEeal8sRL6fi9EA"/>
+ </children>
+ <element xmi:type="uml:State" href="TestModel.uml#_Qe59YP9kEeal8sRL6fi9EA"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_QfkEsf9kEeal8sRL6fi9EA" x="250" y="95" width="128" height="62"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_Qf1KcP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_Qf1Kcf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Qf1Kc_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_Qe59YP9kEeal8sRL6fi9EA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_Qf1Kcv9kEeal8sRL6fi9EA" x="200"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_kw6f9hEeaYl-9HO68L4Q"/>
+ </children>
+ <element xmi:type="uml:Region" href="TestModel.uml#_l_jiwP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_kw6v9hEeaYl-9HO68L4Q" width="700" height="287"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_O9zXAP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_O9zXAf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O9zXA_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Region" href="TestModel.uml#_l_jiwP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O9zXAv9kEeal8sRL6fi9EA" x="200"/>
+ </children>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_kw6_9hEeaYl-9HO68L4Q" y="23" width="700" height="287"/>
+ </children>
+ <children xmi:type="notation:Compartment" xmi:id="_l_kw7P9hEeaYl-9HO68L4Q" type="InternalTransitions">
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_kw7f9hEeaYl-9HO68L4Q"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mAD5EP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mAD5Ev9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mAD5E_9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mAD5FP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mAD5Ff9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_l_obQP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mAD5Ef9hEeaYl-9HO68L4Q" x="-5" y="67"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mAD5Fv9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mAD5GP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mAD5Gf9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mAEgIP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mAEgIf9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_l_vwAP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mAD5F_9hEeaYl-9HO68L4Q" x="-5" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mAEgIv9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mAEgJP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mAEgJf9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mAEgJv9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mAEgJ_9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_l_12oP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mAEgI_9hEeaYl-9HO68L4Q" x="-5" y="127"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_mAEgKP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointShape">
+ <children xmi:type="notation:DecorationNode" xmi:id="_mAEgKv9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointFloatingNameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mAEgK_9hEeaYl-9HO68L4Q" x="25" y="3"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_mAEgLP9hEeaYl-9HO68L4Q" type="Pseudostate_EntryPointStereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_mAEgLf9hEeaYl-9HO68L4Q" x="25" y="-10"/>
+ </children>
+ <element xmi:type="uml:Pseudostate" href="TestModel.uml#_l_9LYP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_mAEgKf9hEeaYl-9HO68L4Q" x="-5" y="247"/>
+ </children>
+ <element xmi:type="uml:State" href="TestModel.uml#_EwShgP9hEeaYl-9HO68L4Q"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_l_kw7v9hEeaYl-9HO68L4Q" x="30" y="30" width="700" height="310"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_O9tQYP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_O9tQYf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O9tQY_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_EwShgP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O9tQYv9kEeal8sRL6fi9EA" x="230" y="30"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_O99IAP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_O99IAf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O99IA_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_obQP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O99IAv9kEeal8sRL6fi9EA" x="195" y="67"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_O-DOoP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_O-DOof9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O-D1sP9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_vwAP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-DOov9kEeal8sRL6fi9EA" x="195" y="190"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_O-J8UP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_O-J8Uf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O-J8U_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_12oP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-J8Uv9kEeal8sRL6fi9EA" x="195" y="127"/>
+ </children>
+ <children xmi:type="notation:Shape" xmi:id="_O-RREP9kEeal8sRL6fi9EA" type="StereotypeComment">
+ <styles xmi:type="notation:TitleStyle" xmi:id="_O-RREf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O-RRE_9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_9LYP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <layoutConstraint xmi:type="notation:Bounds" xmi:id="_O-RREv9kEeal8sRL6fi9EA" x="195" y="247"/>
+ </children>
+ <styles xmi:type="notation:StringValueStyle" xmi:id="_l_kw7_9hEeaYl-9HO68L4Q" name="diagram_compatibility_version" stringValue="1.2.0"/>
+ <styles xmi:type="notation:DiagramStyle" xmi:id="_l_kw8P9hEeaYl-9HO68L4Q"/>
+ <styles xmi:type="style:PapyrusViewStyle" xmi:id="_l_kw8f9hEeaYl-9HO68L4Q">
+ <owner xmi:type="uml:State" href="TestModel.uml#_EwShgP9hEeaYl-9HO68L4Q"/>
+ <configuration xmi:type="configuration:PapyrusDiagram" href="platform:/plugin/org.eclipse.papyrusrt.umlrt.tooling.diagram.statemachine/configuration/RTStateMachine.configuration#_Z79eQHcZEeSnWeKqQOfW2A"/>
+ </styles>
+ <element xmi:type="uml:State" href="TestModel.uml#_EwShgP9hEeaYl-9HO68L4Q"/>
+ <edges xmi:type="notation:Connector" xmi:id="_O9tQZP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_l_kw4f9hEeaYl-9HO68L4Q" target="_O9tQYP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_O9tQZf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O9tQaf9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_EwShgP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O9tQZv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O9tQZ_9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O9tQaP9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_O9zXBP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_l_kw5f9hEeaYl-9HO68L4Q" target="_O9zXAP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_O9zXBf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O9zXCf9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Region" href="TestModel.uml#_l_jiwP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O9zXBv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O9zXB_9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O9zXCP9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_O99IBP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_mAD5EP9hEeaYl-9HO68L4Q" target="_O99IAP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_O99IBf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O99vEv9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_obQP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O99IBv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O99vEP9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O99vEf9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_O-D1sf9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_mAD5Fv9hEeaYl-9HO68L4Q" target="_O-DOoP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_O-D1sv9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O-D1tv9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_vwAP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O-D1s_9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O-D1tP9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O-D1tf9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_O-KjYP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_mAEgIv9hEeaYl-9HO68L4Q" target="_O-J8UP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_O-KjYf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O-KjZf9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_12oP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O-KjYv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O-KjY_9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O-KjZP9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_O-RRFP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_mAEgKP9hEeaYl-9HO68L4Q" target="_O-RREP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_O-RRFf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_O-RRGf9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:Pseudostate" href="TestModel.uml#_l_9LYP9hEeaYl-9HO68L4Q"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_O-RRFv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O-RRF_9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_O-RRGP9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Qf1KdP9kEeal8sRL6fi9EA" type="StereotypeCommentLink" source="_QfkEsP9kEeal8sRL6fi9EA" target="_Qf1KcP9kEeal8sRL6fi9EA">
+ <styles xmi:type="notation:FontStyle" xmi:id="_Qf1Kdf9kEeal8sRL6fi9EA"/>
+ <styles xmi:type="notation:EObjectValueStyle" xmi:id="_Qf1xgv9kEeal8sRL6fi9EA" name="BASE_ELEMENT">
+ <eObjectValue xmi:type="uml:State" href="TestModel.uml#_Qe59YP9kEeal8sRL6fi9EA"/>
+ </styles>
+ <element xsi:nil="true"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Qf1Kdv9kEeal8sRL6fi9EA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Qf1xgP9kEeal8sRL6fi9EA"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Qf1xgf9kEeal8sRL6fi9EA"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_Sez_oP9kEeal8sRL6fi9EA" type="Transition_Edge" source="_mAD5Fv9hEeaYl-9HO68L4Q" target="_QfkEsP9kEeal8sRL6fi9EA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_Sez_o_9kEeal8sRL6fi9EA" type="Transition_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Sez_pP9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Sez_pf9kEeal8sRL6fi9EA" type="Transition_GuardLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Sez_pv9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_Sez_p_9kEeal8sRL6fi9EA" type="Transition_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_Sez_qP9kEeal8sRL6fi9EA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_Sez_of9kEeal8sRL6fi9EA"/>
+ <element xmi:type="uml:Transition" href="TestModel.uml#_SeiS0P9kEeal8sRL6fi9EA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_Sez_ov9kEeal8sRL6fi9EA" points="[8, 224, -643984, -643984]$[255, 170, -643984, -643984]"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_SfackP9kEeal8sRL6fi9EA" id="(0.2734375,0.43548387096774194)"/>
+ </edges>
+ <edges xmi:type="notation:Connector" xmi:id="_TZnbAP9kEeal8sRL6fi9EA" type="Transition_Edge" source="_mAEgKP9hEeaYl-9HO68L4Q" target="_QfkEsP9kEeal8sRL6fi9EA">
+ <children xmi:type="notation:DecorationNode" xmi:id="_TZnbA_9kEeal8sRL6fi9EA" type="Transition_NameLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TZnbBP9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TZnbBf9kEeal8sRL6fi9EA" type="Transition_GuardLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TZnbBv9kEeal8sRL6fi9EA"/>
+ </children>
+ <children xmi:type="notation:DecorationNode" xmi:id="_TZnbB_9kEeal8sRL6fi9EA" type="Transition_StereotypeLabel">
+ <layoutConstraint xmi:type="notation:Location" xmi:id="_TZnbCP9kEeal8sRL6fi9EA" y="60"/>
+ </children>
+ <styles xmi:type="notation:FontStyle" xmi:id="_TZnbAf9kEeal8sRL6fi9EA"/>
+ <element xmi:type="uml:Transition" href="TestModel.uml#_TZNLUP9kEeal8sRL6fi9EA"/>
+ <bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_TZnbAv9kEeal8sRL6fi9EA" points="[7, 278, -643984, -643984]$[255, 196, -643984, -643984]"/>
+ <sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TaN38P9kEeal8sRL6fi9EA" id="(0.6,0.2)"/>
+ <targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_TaN38f9kEeal8sRL6fi9EA" id="(0.109375,0.7258064516129032)"/>
</edges>
</notation:Diagram>
</xmi:XMI>
diff --git a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.uml b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.uml
index 3c34c2261..99573ba1b 100644
--- a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.uml
+++ b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/resource/TestModel.uml
@@ -66,9 +66,35 @@
<connectionPoint xmi:type="uml:Pseudostate" xmi:id="_r8vpkLGnEeaAyq05NkOz7g" name="entryPoint" kind="entryPoint"/>
<connectionPoint xmi:type="uml:Pseudostate" xmi:id="_s8f2YLGnEeaAyq05NkOz7g" name="exitPoint" kind="exitPoint"/>
<region xmi:type="uml:Region" xmi:id="_r8tNULGnEeaAyq05NkOz7g" name="Region1">
- <transition xmi:type="uml:Transition" xmi:id="_74zh0POLEeaLjeWEv6597A" source="_tZIvELGnEeaAyq05NkOz7g" target="_v4HS8LGnEeaAyq05NkOz7g"/>
+ <transition xmi:type="uml:Transition" xmi:id="_74zh0POLEeaLjeWEv6597A" name="t5" source="_tZIvELGnEeaAyq05NkOz7g" target="_v4HS8LGnEeaAyq05NkOz7g"/>
+ <transition xmi:type="uml:Transition" xmi:id="_GUTR8P9hEeaYl-9HO68L4Q" name="t1" kind="external" source="_Vi8mYP9hEeaYl-9HO68L4Q" target="_l_obQP9hEeaYl-9HO68L4Q"/>
+ <transition xmi:type="uml:Transition" xmi:id="_IU53wP9hEeaYl-9HO68L4Q" name="t3" kind="external" source="_VjR9kP9hEeaYl-9HO68L4Q" target="_l_vwAP9hEeaYl-9HO68L4Q"/>
+ <transition xmi:type="uml:Transition" xmi:id="_MgegUP9hEeaYl-9HO68L4Q" name="t2" kind="external" source="_VjbukP9hEeaYl-9HO68L4Q" target="_l_12oP9hEeaYl-9HO68L4Q"/>
+ <transition xmi:type="uml:Transition" xmi:id="_OtdVQP9hEeaYl-9HO68L4Q" name="t4" kind="external" source="_Vjk4gP9hEeaYl-9HO68L4Q" target="_l_9LYP9hEeaYl-9HO68L4Q"/>
<subvertex xmi:type="uml:State" xmi:id="_tZIvELGnEeaAyq05NkOz7g" name="SubState1"/>
<subvertex xmi:type="uml:State" xmi:id="_v4HS8LGnEeaAyq05NkOz7g" name="SubState2"/>
+ <subvertex xmi:type="uml:State" xmi:id="_CsNJ4P9hEeaYl-9HO68L4Q" name="composite1">
+ <connectionPoint xmi:type="uml:Pseudostate" xmi:id="_Vi8mYP9hEeaYl-9HO68L4Q" name="exit1" kind="exitPoint"/>
+ <connectionPoint xmi:type="uml:Pseudostate" xmi:id="_VjR9kP9hEeaYl-9HO68L4Q" name="exit3" kind="exitPoint"/>
+ <connectionPoint xmi:type="uml:Pseudostate" xmi:id="_VjbukP9hEeaYl-9HO68L4Q" name="exit2" kind="exitPoint"/>
+ <connectionPoint xmi:type="uml:Pseudostate" xmi:id="_Vjk4gP9hEeaYl-9HO68L4Q" name="exit4" kind="exitPoint"/>
+ <region xmi:type="uml:Region" xmi:id="_Viq5kP9hEeaYl-9HO68L4Q" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_L2TakP9kEeal8sRL6fi9EA" kind="external" source="_I0sqwP9kEeal8sRL6fi9EA" target="_VjbukP9hEeaYl-9HO68L4Q"/>
+ <transition xmi:type="uml:Transition" xmi:id="_Mb6CAP9kEeal8sRL6fi9EA" kind="external" source="_I0sqwP9kEeal8sRL6fi9EA" target="_Vjk4gP9hEeaYl-9HO68L4Q"/>
+ <subvertex xmi:type="uml:State" xmi:id="_I0sqwP9kEeal8sRL6fi9EA" name="inner"/>
+ </region>
+ </subvertex>
+ <subvertex xmi:type="uml:State" xmi:id="_EwShgP9hEeaYl-9HO68L4Q" name="composite2">
+ <connectionPoint xmi:type="uml:Pseudostate" xmi:id="_l_obQP9hEeaYl-9HO68L4Q" name="entry1" kind="entryPoint"/>
+ <connectionPoint xmi:type="uml:Pseudostate" xmi:id="_l_vwAP9hEeaYl-9HO68L4Q" name="entry3" kind="entryPoint"/>
+ <connectionPoint xmi:type="uml:Pseudostate" xmi:id="_l_12oP9hEeaYl-9HO68L4Q" name="entry2" kind="entryPoint"/>
+ <connectionPoint xmi:type="uml:Pseudostate" xmi:id="_l_9LYP9hEeaYl-9HO68L4Q" name="entry4" kind="entryPoint"/>
+ <region xmi:type="uml:Region" xmi:id="_l_jiwP9hEeaYl-9HO68L4Q" name="Region1">
+ <transition xmi:type="uml:Transition" xmi:id="_SeiS0P9kEeal8sRL6fi9EA" kind="local" source="_l_vwAP9hEeaYl-9HO68L4Q" target="_Qe59YP9kEeal8sRL6fi9EA"/>
+ <transition xmi:type="uml:Transition" xmi:id="_TZNLUP9kEeal8sRL6fi9EA" kind="local" source="_l_9LYP9hEeaYl-9HO68L4Q" target="_Qe59YP9kEeal8sRL6fi9EA"/>
+ <subvertex xmi:type="uml:State" xmi:id="_Qe59YP9kEeal8sRL6fi9EA" name="inner"/>
+ </region>
+ </subvertex>
</region>
</subvertex>
</region>
@@ -119,4 +145,18 @@
<UMLRTStateMachines:RTPseudostate xmi:id="_s8f2YbGnEeaAyq05NkOz7g" base_Pseudostate="_s8f2YLGnEeaAyq05NkOz7g"/>
<UMLRTStateMachines:RTState xmi:id="_tZIvEbGnEeaAyq05NkOz7g" base_State="_tZIvELGnEeaAyq05NkOz7g"/>
<UMLRTStateMachines:RTState xmi:id="_v4RD8LGnEeaAyq05NkOz7g" base_State="_v4HS8LGnEeaAyq05NkOz7g"/>
+ <UMLRTStateMachines:RTState xmi:id="_CxhHsP9hEeaYl-9HO68L4Q" base_State="_CsNJ4P9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTState xmi:id="_EwYoIP9hEeaYl-9HO68L4Q" base_State="_EwShgP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTRegion xmi:id="_Vi1RoP9hEeaYl-9HO68L4Q" base_Region="_Viq5kP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTPseudostate xmi:id="_VjGXYP9hEeaYl-9HO68L4Q" base_Pseudostate="_Vi8mYP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTPseudostate xmi:id="_VjVn8P9hEeaYl-9HO68L4Q" base_Pseudostate="_VjR9kP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTPseudostate xmi:id="_Vjex4P9hEeaYl-9HO68L4Q" base_Pseudostate="_VjbukP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTPseudostate xmi:id="_Vjq_IP9hEeaYl-9HO68L4Q" base_Pseudostate="_Vjk4gP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTRegion xmi:id="_l_l_AP9hEeaYl-9HO68L4Q" base_Region="_l_jiwP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTPseudostate xmi:id="_l_q3gP9hEeaYl-9HO68L4Q" base_Pseudostate="_l_obQP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTPseudostate xmi:id="_l_xlMP9hEeaYl-9HO68L4Q" base_Pseudostate="_l_vwAP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTPseudostate xmi:id="_l_3EwP9hEeaYl-9HO68L4Q" base_Pseudostate="_l_12oP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTPseudostate xmi:id="_mAAOsP9hEeaYl-9HO68L4Q" base_Pseudostate="_l_9LYP9hEeaYl-9HO68L4Q"/>
+ <UMLRTStateMachines:RTState xmi:id="_I5wJ4P9kEeal8sRL6fi9EA" base_State="_I0sqwP9kEeal8sRL6fi9EA"/>
+ <UMLRTStateMachines:RTState xmi:id="_QfArEP9kEeal8sRL6fi9EA" base_State="_Qe59YP9kEeal8sRL6fi9EA"/>
</xmi:XMI>
diff --git a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/AbstractPapyrusRTCoreTest.java b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/AbstractPapyrusRTCoreTest.java
index b379bd616..bb821410d 100644
--- a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/AbstractPapyrusRTCoreTest.java
+++ b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/AbstractPapyrusRTCoreTest.java
@@ -12,26 +12,43 @@
*****************************************************************************/
package org.eclipse.papyrusrt.umlrt.core.tests;
+import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
import java.io.IOException;
+import java.util.HashMap;
+import java.util.Map;
+import org.eclipse.core.commands.ExecutionException;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Platform;
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.emf.common.command.UnexecutableCommand;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.transaction.RollbackException;
+import org.eclipse.emf.transaction.Transaction;
import org.eclipse.emf.transaction.TransactionalEditingDomain;
+import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
+import org.eclipse.gmf.runtime.common.core.command.ICommand;
+import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
+import org.eclipse.gmf.runtime.emf.type.core.requests.GetEditContextRequest;
import org.eclipse.papyrus.infra.core.resource.ModelSet;
import org.eclipse.papyrus.infra.core.resource.ModelUtils;
import org.eclipse.papyrus.infra.core.resource.NotFoundException;
import org.eclipse.papyrus.infra.core.services.ServiceException;
+import org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext;
+import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
+import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
+import org.eclipse.papyrus.infra.services.edit.utils.IRequestCacheEntries;
import org.eclipse.papyrus.infra.types.core.registries.ElementTypeSetConfigurationRegistry;
import org.eclipse.papyrus.infra.ui.editor.IMultiDiagramEditor;
import org.eclipse.papyrus.junit.framework.classification.tests.AbstractPapyrusTest;
import org.eclipse.papyrus.junit.utils.PapyrusProjectUtils;
import org.eclipse.papyrus.junit.utils.rules.HouseKeeper;
-import org.eclipse.papyrus.uml.diagram.statemachine.providers.UMLElementTypes;
import org.eclipse.papyrus.uml.tools.model.UmlModel;
import org.eclipse.papyrus.uml.tools.model.UmlUtils;
import org.eclipse.papyrusrt.junit.rules.ElementTypesRule;
@@ -141,8 +158,29 @@ public abstract class AbstractPapyrusRTCoreTest extends AbstractPapyrusTest {
protected static Transition transition;
+ protected static State composite1;
+
+ protected static State composite2;
+
+ protected static Pseudostate composite1_exit1;
+ protected static Pseudostate composite1_exit2;
+ protected static Pseudostate composite1_exit3;
+ protected static Pseudostate composite1_exit4;
+
+ protected static Pseudostate composite2_entry1;
+ protected static Pseudostate composite2_entry2;
+ protected static Pseudostate composite2_entry3;
+ protected static Pseudostate composite2_entry4;
+
+ protected static Transition t1;
+ protected static Transition t2;
+ protected static Transition t3;
+ protected static Transition t4;
+
+ protected static Transition t5;
+
/**
- * Init test class
+ * Init test class.
*/
@BeforeClass
public static void initCreateElementTest() throws Exception {
@@ -165,9 +203,6 @@ public abstract class AbstractPapyrusRTCoreTest extends AbstractPapyrusTest {
public void run() {
// force loading of the state machine plugin, but in UI thread, as the element types require some UI...
ElementTypeSetConfigurationRegistry registry = ElementTypeSetConfigurationRegistry.getInstance();
- System.err.println(registry.getElementTypeSetConfigurations());
- System.err.println(UMLElementTypes.Region_Shape);
-
}
});
@@ -295,5 +330,112 @@ public abstract class AbstractPapyrusRTCoreTest extends AbstractPapyrusTest {
Assert.assertNotNull(emptyCompositeStateRegion);
initialPseudoState = region.getSubvertices().stream().filter(Pseudostate.class::isInstance).map(Pseudostate.class::cast).filter(p -> p.getKind() == PseudostateKind.INITIAL_LITERAL).findFirst().get();
+
+ composite1 = compositeStateRegion.getOwnedMember("composite1") instanceof State ? (State) compositeStateRegion.getOwnedMember("composite1") : null;
+ Assert.assertNotNull(composite1);
+
+ composite2 = compositeStateRegion.getOwnedMember("composite2") instanceof State ? (State) compositeStateRegion.getOwnedMember("composite2") : null;
+ Assert.assertNotNull(composite2);
+
+ composite1_exit1 = composite1.getConnectionPoint("exit1");
+ Assert.assertNotNull(composite1_exit1);
+ composite1_exit2 = composite1.getConnectionPoint("exit2");
+ Assert.assertNotNull(composite1_exit2);
+ composite1_exit3 = composite1.getConnectionPoint("exit3");
+ Assert.assertNotNull(composite1_exit3);
+ composite1_exit4 = composite1.getConnectionPoint("exit4");
+ Assert.assertNotNull(composite1_exit4);
+ composite2_entry1 = composite2.getConnectionPoint("entry1");
+ Assert.assertNotNull(composite2_entry1);
+ composite2_entry2 = composite2.getConnectionPoint("entry2");
+ Assert.assertNotNull(composite2_entry2);
+ composite2_entry3 = composite2.getConnectionPoint("entry3");
+ Assert.assertNotNull(composite2_entry3);
+ composite2_entry4 = composite2.getConnectionPoint("entry4");
+ Assert.assertNotNull(composite2_entry4);
+
+ t1 = composite1_exit1.getOutgoing("t1");
+ assertNotNull(t1);
+ t2 = composite1_exit2.getOutgoing("t2");
+ assertNotNull(t2);
+ t3 = composite1_exit3.getOutgoing("t3");
+ assertNotNull(t3);
+ t4 = composite1_exit4.getOutgoing("t4");
+ assertNotNull(t4);
+
+ t5 = compositeStateRegion.getTransition("t5");
+ assertNotNull(t5);
}
+
+ /**
+ * Deletes the element in the given owner element, undo and redo the action.
+ *
+ * @param elementToDestroy
+ * the element to delete
+ * @param canCreate
+ * <code>true</code> if new element can be created in the
+ * specified owner
+ */
+ protected Command getDeleteChildCommand(EObject elementToDestroy, boolean confirmationRequired) throws Exception {
+ GetEditContextRequest editContextRequest = new GetEditContextRequest(transactionalEditingDomain, new DestroyElementRequest(transactionalEditingDomain, elementToDestroy, confirmationRequired), elementToDestroy);
+
+ editContextRequest.setParameter(IRequestCacheEntries.Cache_Maps, new HashMap<>());
+ editContextRequest.setEditContext(elementToDestroy);
+ try {
+ editContextRequest.setClientContext(TypeContext.getContext());
+ } catch (ServiceException e) {
+ Assert.fail(e.getMessage());
+ }
+
+ IElementEditService provider = ElementEditServiceUtils.getCommandProvider(elementToDestroy);
+ if (provider == null) {
+ Assert.fail("Impossible to get the editing domain provider");
+ }
+
+ EObject target = elementToDestroy;
+ Object result = null;
+ final ICommand getEditContextCommand = provider.getEditCommand(editContextRequest);
+ if (getEditContextCommand != null) {
+ IStatus status = null;
+ try {
+ // this command could run in an unprotected transaction, it is not supposed to modify the model
+ InternalTransactionalEditingDomain domain = (InternalTransactionalEditingDomain) transactionalEditingDomain;
+ Map<String, Object> options = new HashMap<>();
+ options.put(Transaction.OPTION_NO_NOTIFICATIONS, true);
+ options.put(Transaction.OPTION_NO_VALIDATION, true);
+ options.put(Transaction.OPTION_NO_TRIGGERS, true);
+ Transaction transaction = domain.startTransaction(false, options);
+ try {
+ status = getEditContextCommand.execute(null, null);
+ } finally {
+ transaction.commit();
+ }
+ } catch (InterruptedException e) {
+ Assert.fail(e.getMessage());
+ } catch (ExecutionException e) {
+ Assert.fail(e.getMessage());
+ } catch (RollbackException e) {
+ Assert.fail(e.getMessage());
+ }
+ if (!(status == null || !status.isOK())) {
+ result = getEditContextCommand.getCommandResult().getReturnValue();
+ }
+ if (result instanceof EObject) {
+ target = (EObject) result;
+ }
+ }
+
+ provider = ElementEditServiceUtils.getCommandProvider(target);
+ if (provider == null) {
+ return UnexecutableCommand.INSTANCE;
+ }
+
+ ICommand deleteGMFCommand = provider.getEditCommand(new DestroyElementRequest(transactionalEditingDomain, target, confirmationRequired));
+ assertNotNull("Command should not be null", deleteGMFCommand);
+ assertTrue("Command should be executable", deleteGMFCommand.canExecute());
+ // command is executable, and it was expected to => run the creation
+ Command emfCommand = new org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper(deleteGMFCommand);
+ return emfCommand;
+ }
+
}
diff --git a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteElementTest.java b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteElementTest.java
index 3c50bd3c9..d4e69a2f3 100644
--- a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteElementTest.java
+++ b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteElementTest.java
@@ -16,28 +16,11 @@ import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import java.util.HashMap;
-import java.util.Map;
-
-import org.eclipse.core.commands.ExecutionException;
-import org.eclipse.core.runtime.IStatus;
import org.eclipse.emf.common.command.Command;
-import org.eclipse.emf.common.command.UnexecutableCommand;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.emf.transaction.RollbackException;
-import org.eclipse.emf.transaction.Transaction;
-import org.eclipse.emf.transaction.impl.InternalTransactionalEditingDomain;
-import org.eclipse.gmf.runtime.common.core.command.ICommand;
import org.eclipse.gmf.runtime.emf.type.core.IHintedType;
import org.eclipse.gmf.runtime.emf.type.core.commands.CreateElementCommand;
import org.eclipse.gmf.runtime.emf.type.core.requests.CreateElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.DestroyElementRequest;
-import org.eclipse.gmf.runtime.emf.type.core.requests.GetEditContextRequest;
-import org.eclipse.papyrus.infra.core.services.ServiceException;
-import org.eclipse.papyrus.infra.services.edit.internal.context.TypeContext;
-import org.eclipse.papyrus.infra.services.edit.service.ElementEditServiceUtils;
-import org.eclipse.papyrus.infra.services.edit.service.IElementEditService;
-import org.eclipse.papyrus.infra.services.edit.utils.IRequestCacheEntries;
import org.eclipse.papyrusrt.umlrt.core.tests.AbstractPapyrusRTCoreTest;
import org.eclipse.papyrusrt.umlrt.core.tests.utils.IDeleteValidationRule;
import org.eclipse.papyrusrt.umlrt.core.types.UMLRTElementTypesEnumerator;
@@ -75,7 +58,7 @@ public class DeleteElementTest extends AbstractPapyrusRTCoreTest {
Command commandDelete = getDeleteChildCommand(deletedElement, false);
if (commandDelete != null && commandDelete.canExecute()) {
transactionalEditingDomain.getCommandStack().execute(commandDelete);
-
+
IDeleteValidationRule validationRule = validationClass.newInstance();
Object[] commandResults = commandDelete.getResult().toArray();
// the element should not be in the model
@@ -125,75 +108,4 @@ public class DeleteElementTest extends AbstractPapyrusRTCoreTest {
return command;
}
- /**
- * Deletes the element in the given owner element, undo and redo the action
- *
- * @param elementToDestroy
- * the element to delete
- * @param canCreate
- * <code>true</code> if new element can be created in the
- * specified owner
- */
- protected Command getDeleteChildCommand(EObject elementToDestroy, boolean confirmationRequired) throws Exception {
- GetEditContextRequest editContextRequest = new GetEditContextRequest(transactionalEditingDomain, new DestroyElementRequest(transactionalEditingDomain, elementToDestroy, confirmationRequired), elementToDestroy);
-
- editContextRequest.setParameter(IRequestCacheEntries.Cache_Maps, new HashMap<Object, Object>());
- editContextRequest.setEditContext(elementToDestroy);
- try {
- editContextRequest.setClientContext(TypeContext.getContext());
- } catch (ServiceException e) {
- Assert.fail(e.getMessage());
- }
-
- IElementEditService provider = ElementEditServiceUtils.getCommandProvider(elementToDestroy);
- if (provider == null) {
- Assert.fail("Impossible to get the editing domain provider");
- }
-
- EObject target = elementToDestroy;
- Object result = null;
- final ICommand getEditContextCommand = provider.getEditCommand(editContextRequest);
- if (getEditContextCommand != null) {
- IStatus status = null;
- try {
- // this command could run in an unprotected transaction, it is not supposed to modify the model
- InternalTransactionalEditingDomain domain = (InternalTransactionalEditingDomain) transactionalEditingDomain;
- Map<String, Object> options = new HashMap<String, Object>();
- options.put(Transaction.OPTION_NO_NOTIFICATIONS, true);
- options.put(Transaction.OPTION_NO_VALIDATION, true);
- options.put(Transaction.OPTION_NO_TRIGGERS, true);
- Transaction transaction = domain.startTransaction(false, options);
- try {
- status = getEditContextCommand.execute(null, null);
- } finally {
- transaction.commit();
- }
- } catch (InterruptedException e) {
- Assert.fail(e.getMessage());
- } catch (ExecutionException e) {
- Assert.fail(e.getMessage());
- } catch (RollbackException e) {
- Assert.fail(e.getMessage());
- }
- if (!(status == null || !status.isOK())) {
- result = getEditContextCommand.getCommandResult().getReturnValue();
- }
- if (result instanceof EObject) {
- target = (EObject) result;
- }
- }
-
- provider = ElementEditServiceUtils.getCommandProvider(target);
- if (provider == null) {
- return UnexecutableCommand.INSTANCE;
- }
-
- ICommand deleteGMFCommand = provider.getEditCommand(new DestroyElementRequest(transactionalEditingDomain, target, confirmationRequired));
- assertNotNull("Command should not be null", deleteGMFCommand);
- assertTrue("Command should be executable", deleteGMFCommand.canExecute());
- // command is executable, and it was expected to => run the creation
- Command emfCommand = new org.eclipse.papyrus.commands.wrappers.GMFtoEMFCommandWrapper(deleteGMFCommand);
- return emfCommand;
- }
-
}
diff --git a/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteTransitionsTest.java b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteTransitionsTest.java
new file mode 100644
index 000000000..ef93bd2fb
--- /dev/null
+++ b/tests/junit/umlrt/core/org.eclipse.papyrusrt.umlrt.core.tests/src/org/eclipse/papyrusrt/umlrt/core/tests/deletion/DeleteTransitionsTest.java
@@ -0,0 +1,237 @@
+/*****************************************************************************
+ * 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:
+ * CEA LIST - Initial API and implementation
+ *
+ *****************************************************************************/
+
+package org.eclipse.papyrusrt.umlrt.core.tests.deletion;
+
+import static org.eclipse.papyrus.junit.matchers.MoreMatchers.isEmpty;
+import static org.hamcrest.CoreMatchers.equalTo;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.junit.Assert.fail;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.emf.common.command.Command;
+import org.eclipse.papyrusrt.umlrt.core.tests.AbstractPapyrusRTCoreTest;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.Pseudostate;
+import org.eclipse.uml2.uml.PseudostateKind;
+import org.eclipse.uml2.uml.Region;
+import org.eclipse.uml2.uml.State;
+import org.eclipse.uml2.uml.Transition;
+import org.eclipse.uml2.uml.Vertex;
+import org.junit.Test;
+
+/**
+ * Test class for deletion of transitions. It mainly checks the deletion of entry/exit ends if the they become useless.
+ */
+public class DeleteTransitionsTest extends AbstractPapyrusRTCoreTest {
+
+ /**
+ * Constructor.
+ */
+ public DeleteTransitionsTest() {
+ super();
+ }
+
+ @Test
+ public void deleteTransitionWithPseudostates_bothEmpty() throws Exception {
+ deleteTransition(t1);
+ }
+
+ @Test
+ public void deleteTransitionWithPseudostates_targetEmpty() throws Exception {
+ deleteTransition(t2);
+ }
+
+
+ @Test
+ public void deleteTransitionWithPseudostates_sourceEmpty() throws Exception {
+ deleteTransition(t3);
+ }
+
+
+ @Test
+ public void deleteTransitionWithPseudostates_noneEmpty() throws Exception {
+ deleteTransition(t4);
+ }
+
+
+ @Test
+ public void deleteTransitionWithStates() throws Exception {
+ deleteTransition(t5);
+ }
+
+ /**
+ * @param t1
+ * @throws Exception
+ */
+ protected void deleteTransition(Transition deletedElement) throws Exception {
+ Command commandDelete = getDeleteChildCommand(deletedElement, false);
+ if (commandDelete != null && commandDelete.canExecute()) {
+ DeleteTransitionValidationRules validationRule = new DeleteTransitionValidationRules(deletedElement);
+ transactionalEditingDomain.getCommandStack().execute(commandDelete);
+
+ // the element should not be in the model
+ validationRule.validatePostEdition();
+
+ // undo the delete command
+ transactionalEditingDomain.getCommandStack().undo();
+ // the element should be in the model
+ validationRule.validatePostUndo();
+
+ // redo the delete command
+ transactionalEditingDomain.getCommandStack().redo();
+ // the element should not be in the model
+ validationRule.validatePostEdition();
+
+ // undo the delete command
+ transactionalEditingDomain.getCommandStack().undo();
+ // the element should be in the model
+ validationRule.validatePostUndo();
+
+ } else {
+ fail("Delete Command should be executable");
+ }
+ }
+
+ /**
+ *
+ */
+ private static boolean shouldDelete(Element end, Transition transition) {
+ if (!(end instanceof Pseudostate)) {
+ return false;
+ }
+
+ PseudostateKind kind = ((Pseudostate) end).getKind();
+ if (!(kind.equals(PseudostateKind.ENTRY_POINT_LITERAL) || kind.equals(PseudostateKind.EXIT_POINT_LITERAL))) {
+ return false;
+ }
+ // check there are no other transition outgoing or incoming except transition to delete
+ if (((Pseudostate) end).getOutgoings().stream().filter(t -> !t.equals(transition)).findAny().isPresent()) {
+ return false;
+ }
+ if (((Pseudostate) end).getIncomings().stream().filter(t -> !t.equals(transition)).findAny().isPresent()) {
+ return false;
+ }
+ return true;
+ }
+
+ //
+ // inner types
+ //
+
+ protected static class DeleteTransitionValidationRules {
+
+ private Transition transition;
+ private Vertex source;
+ private boolean shouldDeleteSource;
+ private Vertex target;
+ private boolean shouldDeleteTarget;
+ private ArrayList<Transition> sourceOutgoings;
+ private ArrayList<Transition> sourceIncomings;
+ private ArrayList<Transition> targetOutgoings;
+ private ArrayList<Transition> targetIncomings;
+ private Region region;
+ private Element originalSourceOwner;
+ private Element originalTargetOwner;
+
+ /**
+ * Constructor.
+ *
+ * @param deletedElement
+ * @throws Exception
+ */
+ public DeleteTransitionValidationRules(Transition deletedElement) throws Exception {
+ this.transition = deletedElement;
+ this.region = transition.getContainer();
+ this.source = transition.getSource();
+ this.originalSourceOwner = getOwner(source);
+ this.sourceOutgoings = new ArrayList<>(source.getOutgoings());
+ this.sourceIncomings = new ArrayList<>(source.getIncomings());
+ this.shouldDeleteSource = shouldDelete(source, deletedElement);
+
+ this.target = transition.getTarget();
+ this.originalTargetOwner = getOwner(target);
+ this.targetOutgoings = new ArrayList<>(target.getOutgoings());
+ this.targetIncomings = new ArrayList<>(target.getIncomings());
+ this.shouldDeleteTarget = shouldDelete(target, deletedElement);
+
+ }
+
+ public void validatePostEdition() throws Exception {
+ assertThat(transition.getContainer(), nullValue());
+ assertThat(transition.getSource(), nullValue());
+ assertThat(transition.getTarget(), nullValue());
+
+ if (shouldDeleteSource) {
+ assertThat(source.getOwner(), nullValue());
+ assertThat(source.getIncomings(), isEmpty());
+ assertThat(source.getOutgoings(), isEmpty());
+ } else {
+ // ensure the target is unchanged, expect for the deleted transition
+ List<Transition> expectedOutgoings = new ArrayList<>(sourceOutgoings);
+ expectedOutgoings.remove(transition);
+ assertThat(source.getOutgoings(), equalTo(expectedOutgoings));
+ List<Transition> expectedIncomings = new ArrayList<>(sourceIncomings);
+ expectedIncomings.remove(transition);
+ assertThat(source.getIncomings(), equalTo(expectedIncomings));
+ }
+
+ if (shouldDeleteTarget) {
+ assertThat(target.getOwner(), nullValue());
+ assertThat(target.getIncomings(), isEmpty());
+ assertThat(target.getOutgoings(), isEmpty());
+ } else {
+ // ensure the target is unchanged, expect for the deleted transition
+ List<Transition> expectedOutgoings = new ArrayList<>(targetOutgoings);
+ expectedOutgoings.remove(transition);
+ assertThat(target.getOutgoings(), equalTo(expectedOutgoings));
+ List<Transition> expectedIncomings = new ArrayList<>(targetIncomings);
+ expectedIncomings.remove(transition);
+ assertThat(target.getIncomings(), equalTo(expectedIncomings));
+ }
+ }
+
+ public void validatePostUndo() throws Exception {
+ assertThat(transition.getContainer(), equalTo(region));
+ assertThat(transition.getSource(), equalTo(source));
+ assertThat(transition.getTarget(), equalTo(target));
+
+ // check initial values
+ assertThat(source.getOwner(), equalTo(originalSourceOwner));
+ assertThat(source.getIncomings(), equalTo(sourceIncomings));
+ assertThat(source.getOutgoings(), equalTo(sourceOutgoings));
+
+ assertThat(target.getOwner(), equalTo(originalTargetOwner));
+ assertThat(target.getIncomings(), equalTo(targetIncomings));
+ assertThat(target.getOutgoings(), equalTo(targetOutgoings));
+ }
+ }
+
+ /**
+ * @param source
+ * @return
+ * @throws Exception
+ */
+ protected static Element getOwner(Vertex source) throws Exception {
+ if (source instanceof State) {
+ return ((State) source).getContainer();
+ }
+ if (source instanceof Pseudostate) {
+ return ((Pseudostate) source).getState() != null ? ((Pseudostate) source).getState() : ((Pseudostate) source).getContainer();
+ }
+ throw new Exception("unexpected");
+ }
+}

Back to the top