Add history state support for uml model

- Relates to #193
This commit is contained in:
Janne Valkealahti
2016-04-16 15:36:26 +01:00
parent 7938086c46
commit 5165221d84
8 changed files with 670 additions and 0 deletions

View File

@@ -174,6 +174,14 @@ public class UmlModelParser {
StateData<String, String> cpStateData = new StateData<>(parent, regionId, state.getName(), false);
cpStateData.setPseudoStateKind(PseudoStateKind.JOIN);
stateDatas.add(cpStateData);
} else if (state.getKind() == PseudostateKind.SHALLOW_HISTORY_LITERAL) {
StateData<String, String> cpStateData = new StateData<>(parent, regionId, state.getName(), false);
cpStateData.setPseudoStateKind(PseudoStateKind.HISTORY_SHALLOW);
stateDatas.add(cpStateData);
} else if (state.getKind() == PseudostateKind.DEEP_HISTORY_LITERAL) {
StateData<String, String> cpStateData = new StateData<>(parent, regionId, state.getName(), false);
cpStateData.setPseudoStateKind(PseudoStateKind.HISTORY_DEEP);
stateDatas.add(cpStateData);
}
}
}

View File

@@ -312,6 +312,42 @@ public class UmlStateMachineModelFactoryTests extends AbstractUmlTests {
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("SF"));
}
@Test
@SuppressWarnings("unchecked")
public void testSimpleHistoryShallow() {
context.register(Config8.class);
context.refresh();
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
stateMachine.start();
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S1"));
stateMachine.sendEvent("E1");
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S2", "S20"));
stateMachine.sendEvent("E2");
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S2", "S21"));
stateMachine.sendEvent("E3");
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S1"));
stateMachine.sendEvent("E4");
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S2", "S21"));
}
@Test
@SuppressWarnings("unchecked")
public void testSimpleHistoryDeep() {
context.register(Config9.class);
context.refresh();
StateMachine<String, String> stateMachine = context.getBean(StateMachine.class);
stateMachine.start();
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S1"));
stateMachine.sendEvent("E1");
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S2", "S21", "S211"));
stateMachine.sendEvent("E2");
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S2", "S21", "S212"));
stateMachine.sendEvent("E3");
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S1"));
stateMachine.sendEvent("E4");
assertThat(stateMachine.getState().getIds(), containsInAnyOrder("S2", "S21", "S212"));
}
@Configuration
@EnableStateMachine
public static class Config2 extends StateMachineConfigurerAdapter<String, String> {
@@ -435,6 +471,42 @@ public class UmlStateMachineModelFactoryTests extends AbstractUmlTests {
}
}
@Configuration
@EnableStateMachine
public static class Config8 extends StateMachineConfigurerAdapter<String, String> {
@Override
public void configure(StateMachineModelConfigurer<String, String> model) throws Exception {
model
.withModel()
.factory(modelFactory());
}
@Bean
public StateMachineModelFactory<String, String> modelFactory() {
Resource model = new ClassPathResource("org/springframework/statemachine/uml/simple-history-shallow.uml");
return new UmlStateMachineModelFactory(model);
}
}
@Configuration
@EnableStateMachine
public static class Config9 extends StateMachineConfigurerAdapter<String, String> {
@Override
public void configure(StateMachineModelConfigurer<String, String> model) throws Exception {
model
.withModel()
.factory(modelFactory());
}
@Bean
public StateMachineModelFactory<String, String> modelFactory() {
Resource model = new ClassPathResource("org/springframework/statemachine/uml/simple-history-deep.uml");
return new UmlStateMachineModelFactory(model);
}
}
public static class LatchAction implements Action<String, String> {
CountDownLatch latch = new CountDownLatch(1);
@Override

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>

View File

@@ -0,0 +1,285 @@
<?xml version="1.0" encoding="UTF-8"?>
<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_FKCDwAPVEeaXyaQL1WyV3A" type="PapyrusUMLStateMachineDiagram" name="StateMachine Diagram" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_FKCDwQPVEeaXyaQL1WyV3A" type="2000">
<children xmi:type="notation:DecorationNode" xmi:id="_FKCDwgPVEeaXyaQL1WyV3A" type="2001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_FKCDwwPVEeaXyaQL1WyV3A" width="700" height="23"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_FKCDxAPVEeaXyaQL1WyV3A" type="2002">
<children xmi:type="notation:Shape" xmi:id="_FKCDxQPVEeaXyaQL1WyV3A" type="3000">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_FKCDxgPVEeaXyaQL1WyV3A" source="RegionAnnotationKey">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_FKCDxwPVEeaXyaQL1WyV3A" key="RegionZoneKey" value=""/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_FKCDyAPVEeaXyaQL1WyV3A" type="3002">
<children xmi:type="notation:Shape" xmi:id="_J2AqsAPVEeaXyaQL1WyV3A" type="8000">
<children xmi:type="notation:DecorationNode" xmi:id="_J2AqsgPVEeaXyaQL1WyV3A" type="8001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_J2BRwAPVEeaXyaQL1WyV3A" x="25" y="3"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_J2B40APVEeaXyaQL1WyV3A" type="8002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_J2B40QPVEeaXyaQL1WyV3A" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="simple-history-deep.uml#_J15V8APVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_J2AqsQPVEeaXyaQL1WyV3A" x="10" y="47"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_LaacsAPVEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_LaacsgPVEeaXyaQL1WyV3A" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_aj6LYAPVEeaXyaQL1WyV3A" width="61"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_LaacswPVEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_LaactAPVEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_LaactQPVEeaXyaQL1WyV3A" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_LaactgPVEeaXyaQL1WyV3A" y="-1" width="61"/>
</children>
<element xmi:type="uml:State" href="simple-history-deep.uml#_LaWyUAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_LaacsQPVEeaXyaQL1WyV3A" x="70" y="47" width="61" height="221"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_NBGGoAPVEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_NBGGogPVEeaXyaQL1WyV3A" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_NqPKQAPVEeaXyaQL1WyV3A" width="481" height="23"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_NBGGowPVEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_NBGGpAPVEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_NBGGpQPVEeaXyaQL1WyV3A" type="6002">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RY-s4APVEeaXyaQL1WyV3A" source="PapyrusCSSForceValue">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RY-s4QPVEeaXyaQL1WyV3A" key="visible" value="true"/>
</eAnnotations>
<children xmi:type="notation:Shape" xmi:id="_RY_7AAPVEeaXyaQL1WyV3A" type="3000">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_RY_7BAPVEeaXyaQL1WyV3A" source="RegionAnnotationKey">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_RY_7BQPVEeaXyaQL1WyV3A" key="RegionZoneKey" value=""/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_RY_7AgPVEeaXyaQL1WyV3A" type="3002">
<children xmi:type="notation:Shape" xmi:id="_RZAiEAPVEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_RZAiEgPVEeaXyaQL1WyV3A" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_cNzhYgPVEeaXyaQL1WyV3A" width="61"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_RZAiEwPVEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_RZAiFAPVEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_RZAiFQPVEeaXyaQL1WyV3A" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RZAiFgPVEeaXyaQL1WyV3A" y="-1" width="61"/>
</children>
<element xmi:type="uml:State" href="simple-history-deep.uml#_RY_7BgPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RZAiEQPVEeaXyaQL1WyV3A" x="80" y="37" width="61" height="61"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_Tj_L4APVEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_Tj_L4gPVEeaXyaQL1WyV3A" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_VpvXcAPVEeaXyaQL1WyV3A" width="281" height="23"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_Tj_L4wPVEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_Tj_L5APVEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_Tj_L5QPVEeaXyaQL1WyV3A" type="6002">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WTrFQAPVEeaXyaQL1WyV3A" source="PapyrusCSSForceValue">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WTrsUAPVEeaXyaQL1WyV3A" key="visible" value="true"/>
</eAnnotations>
<children xmi:type="notation:Shape" xmi:id="_WTrsUgPVEeaXyaQL1WyV3A" type="3000">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_WTsTYgPVEeaXyaQL1WyV3A" source="RegionAnnotationKey">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_WTsTYwPVEeaXyaQL1WyV3A" key="RegionZoneKey" value=""/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_WTsTYAPVEeaXyaQL1WyV3A" type="3002">
<children xmi:type="notation:Shape" xmi:id="_WTsTZQPVEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_WTsTZwPVEeaXyaQL1WyV3A" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_cNzhYQPVEeaXyaQL1WyV3A" width="61"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_WTsTaAPVEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_WTsTaQPVEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_WTsTagPVEeaXyaQL1WyV3A" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_WTsTawPVEeaXyaQL1WyV3A" y="-1" width="61"/>
</children>
<element xmi:type="uml:State" href="simple-history-deep.uml#_WTsTZAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_WTsTZgPVEeaXyaQL1WyV3A" x="80" y="17" width="61" height="61"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_Yq9swAPVEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_Yq9swgPVEeaXyaQL1WyV3A" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_cNzhYAPVEeaXyaQL1WyV3A" width="61"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_Yq9swwPVEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_Yq9sxAPVEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_Yq9sxQPVEeaXyaQL1WyV3A" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yq-T0APVEeaXyaQL1WyV3A" y="-1" width="61"/>
</children>
<element xmi:type="uml:State" href="simple-history-deep.uml#_Yq2YAAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Yq9swQPVEeaXyaQL1WyV3A" x="180" y="17" width="61" height="121"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_nsE7gAPVEeaXyaQL1WyV3A" type="8000">
<children xmi:type="notation:DecorationNode" xmi:id="_nsFikAPVEeaXyaQL1WyV3A" type="8001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_nsFikQPVEeaXyaQL1WyV3A" x="25" y="3"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_nsFikgPVEeaXyaQL1WyV3A" type="8002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_nsFikwPVEeaXyaQL1WyV3A" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="simple-history-deep.uml#_nr8_sAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_nsE7gQPVEeaXyaQL1WyV3A" x="20" y="17"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_WTsTYQPVEeaXyaQL1WyV3A"/>
</children>
<element xmi:type="uml:Region" href="simple-history-deep.uml#_WTrsUQPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_WTrsUwPVEeaXyaQL1WyV3A" width="281" height="158"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tj_L5gPVEeaXyaQL1WyV3A" y="23" width="281" height="158"/>
</children>
<element xmi:type="uml:State" href="simple-history-deep.uml#_Tj5sUAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_Tj_L4QPVEeaXyaQL1WyV3A" x="180" y="37" width="281" height="181"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_jPmwMAPVEeaXyaQL1WyV3A" type="8000">
<children xmi:type="notation:DecorationNode" xmi:id="_jPnXQAPVEeaXyaQL1WyV3A" type="8001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_jPnXQQPVEeaXyaQL1WyV3A" x="25" y="3"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_jPnXQgPVEeaXyaQL1WyV3A" type="8002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_jPnXQwPVEeaXyaQL1WyV3A" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="simple-history-deep.uml#_jPfbcAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_jPmwMQPVEeaXyaQL1WyV3A" x="20" y="37"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_G3kuMAPWEeaXyaQL1WyV3A" type="14000">
<children xmi:type="notation:DecorationNode" xmi:id="_G3kuMgPWEeaXyaQL1WyV3A" type="14001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_G3kuMwPWEeaXyaQL1WyV3A" x="25" y="3"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_G3kuNAPWEeaXyaQL1WyV3A" type="14002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_G3kuNQPWEeaXyaQL1WyV3A" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="simple-history-deep.uml#_G3X54APWEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_G3kuMQPWEeaXyaQL1WyV3A" x="60" y="197"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RY_7AwPVEeaXyaQL1WyV3A"/>
</children>
<element xmi:type="uml:Region" href="simple-history-deep.uml#_RY_T8APVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_RY_7AQPVEeaXyaQL1WyV3A" width="481" height="228"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBGGpgPVEeaXyaQL1WyV3A" y="23" width="481" height="228"/>
</children>
<element xmi:type="uml:State" href="simple-history-deep.uml#_NBB1MAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_NBGGoQPVEeaXyaQL1WyV3A" x="190" y="27" width="481" height="251"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_FKCDyQPVEeaXyaQL1WyV3A"/>
</children>
<element xmi:type="uml:Region" href="simple-history-deep.uml#_FKBcsAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_FKCDygPVEeaXyaQL1WyV3A" width="700" height="287"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_FKCDywPVEeaXyaQL1WyV3A" y="23" width="700" height="287"/>
</children>
<element xmi:type="uml:StateMachine" href="simple-history-deep.uml#_FKA1oAPVEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_FKCDzAPVEeaXyaQL1WyV3A" x="30" y="30" width="700" height="310"/>
</children>
<styles xmi:type="notation:StringValueStyle" xmi:id="_FKCDzQPVEeaXyaQL1WyV3A" name="diagram_compatibility_version" stringValue="1.1.0"/>
<styles xmi:type="notation:DiagramStyle" xmi:id="_FKCDzgPVEeaXyaQL1WyV3A"/>
<styles xmi:type="style:PapyrusViewStyle" xmi:id="_FKCDzwPVEeaXyaQL1WyV3A">
<owner xmi:type="uml:Model" href="simple-history-deep.uml#_FKAOkAPVEeaXyaQL1WyV3A"/>
</styles>
<element xmi:type="uml:StateMachine" href="simple-history-deep.uml#_FKA1oAPVEeaXyaQL1WyV3A"/>
<edges xmi:type="notation:Connector" xmi:id="_5h34YAPVEeaXyaQL1WyV3A" type="7000" source="_J2AqsAPVEeaXyaQL1WyV3A" target="_LaacsAPVEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_5h4fcAPVEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_5h4fcQPVEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_5h4fcgPVEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_5h4fcwPVEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_5h4fdAPVEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_5h4fdQPVEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_5h34YQPVEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-deep.uml#_5hsSMAPVEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_5h34YgPVEeaXyaQL1WyV3A" points="[8, -1, -69, 0]$[76, -10, -1, -9]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5igKgAPVEeaXyaQL1WyV3A" id="(1.0,0.55)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_5igxkAPVEeaXyaQL1WyV3A" id="(0.0,0.12345679012345678)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_6QXWEAPVEeaXyaQL1WyV3A" type="7000" source="_jPmwMAPVEeaXyaQL1WyV3A" target="_RZAiEAPVEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_6QXWEwPVEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_6QXWFAPVEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_6QXWFQPVEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_6QXWFgPVEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_6QXWFwPVEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_6QXWGAPVEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_6QXWEQPVEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-deep.uml#_6QLv4APVEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_6QXWEgPVEeaXyaQL1WyV3A" points="[8, 1, -60, 0]$[63, -10, -5, -11]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6Q1QIAPVEeaXyaQL1WyV3A" id="(1.0,0.55)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_6Q1QIQPVEeaXyaQL1WyV3A" id="(0.0,0.13580246913580246)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_7AVacAPVEeaXyaQL1WyV3A" type="7000" source="_nsE7gAPVEeaXyaQL1WyV3A" target="_WTsTZQPVEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_7AVacwPVEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_7AVadAPVEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_7AVadQPVEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_7AVadgPVEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_7AVadwPVEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_7AVaeAPVEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_7AVacQPVEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-deep.uml#_7ALpcAPVEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_7AVacgPVEeaXyaQL1WyV3A" points="[8, 1, -79, 0]$[89, -10, 2, -11]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7AyGYAPVEeaXyaQL1WyV3A" id="(1.0,0.4)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_7AyGYQPVEeaXyaQL1WyV3A" id="(0.0,0.1111111111111111)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_AOjLwAPWEeaXyaQL1WyV3A" type="7000" source="_LaacsAPVEeaXyaQL1WyV3A" target="_WTsTZQPVEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_AOjy0APWEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_AOjy0QPWEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_AOjy0gPWEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_AOjy0wPWEeaXyaQL1WyV3A" x="-132" y="-10"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_AOjy1APWEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_AOjy1QPWEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_AOjLwQPWEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-deep.uml#_AOXlkAPWEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_AOjLwgPWEeaXyaQL1WyV3A" points="[61, 20, -326, -109]$[380, 131, -7, 2]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_APDiEAPWEeaXyaQL1WyV3A" id="(1.0,0.5429864253393665)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_APDiEQPWEeaXyaQL1WyV3A" id="(0.0,0.6049382716049383)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_B9jEMAPWEeaXyaQL1WyV3A" type="7000" source="_WTsTZQPVEeaXyaQL1WyV3A" target="_Yq9swAPVEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_B9jEMwPWEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_B9jENAPWEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_B9jENQPWEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_B9jENgPWEeaXyaQL1WyV3A" x="-2" y="-15"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_B9jENwPWEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_B9jEOAPWEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_B9jEMQPWEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-deep.uml#_B9YsIAPWEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_B9jEMgPWEeaXyaQL1WyV3A" points="[61, 21, -51, -19]$[100, 39, -12, -1]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B-AXMAPWEeaXyaQL1WyV3A" id="(1.0,0.48148148148148145)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_B-AXMQPWEeaXyaQL1WyV3A" id="(0.0,0.48148148148148145)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_D_AloAPWEeaXyaQL1WyV3A" type="7000" source="_Yq9swAPVEeaXyaQL1WyV3A" target="_LaacsAPVEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_D_AlowPWEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_D_AlpAPWEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_D_AlpQPWEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_D_AlpgPWEeaXyaQL1WyV3A" x="181" y="11"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_D_AlpwPWEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_D_AlqAPWEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_D_AloQPWEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-deep.uml#_D-0_cAPWEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_D_AlogPWEeaXyaQL1WyV3A" points="[-32, 2, 446, -41]$[-477, 78, 1, 35]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D_g78APWEeaXyaQL1WyV3A" id="(0.0,0.6611570247933884)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_D_hjAAPWEeaXyaQL1WyV3A" id="(1.0,0.7239819004524887)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_KjHL0APWEeaXyaQL1WyV3A" type="7000" source="_LaacsAPVEeaXyaQL1WyV3A" target="_G3kuMAPWEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_KjHL0wPWEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_KjHL1APWEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_KjHL1QPWEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_KjHL1gPWEeaXyaQL1WyV3A" x="-33" y="-15"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_KjHy4APWEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_KjHy4QPWEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_KjHL0QPWEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-deep.uml#_KizCwAPWEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_KjHL0gPWEeaXyaQL1WyV3A" points="[38, 3, -129, -11]$[167, 14, 0, 0]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kj4n4APWEeaXyaQL1WyV3A" id="(1.0,0.9230769230769231)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_Kj52AAPWEeaXyaQL1WyV3A" id="(0.0,0.45)"/>
</edges>
</notation:Diagram>

View File

@@ -0,0 +1,46 @@
<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_FKAOkAPVEeaXyaQL1WyV3A" name="RootElement">
<packagedElement xmi:type="uml:StateMachine" xmi:id="_FKA1oAPVEeaXyaQL1WyV3A" name="StateMachine">
<region xmi:type="uml:Region" xmi:id="_FKBcsAPVEeaXyaQL1WyV3A" name="Region1">
<transition xmi:type="uml:Transition" xmi:id="_5hsSMAPVEeaXyaQL1WyV3A" source="_J15V8APVEeaXyaQL1WyV3A" target="_LaWyUAPVEeaXyaQL1WyV3A"/>
<transition xmi:type="uml:Transition" xmi:id="_AOXlkAPWEeaXyaQL1WyV3A" source="_LaWyUAPVEeaXyaQL1WyV3A" target="_WTsTZAPVEeaXyaQL1WyV3A">
<trigger xmi:type="uml:Trigger" xmi:id="_qLMz4APWEeaXyaQL1WyV3A" event="_erWFYAPWEeaXyaQL1WyV3A"/>
</transition>
<transition xmi:type="uml:Transition" xmi:id="_KizCwAPWEeaXyaQL1WyV3A" source="_LaWyUAPVEeaXyaQL1WyV3A" target="_G3X54APWEeaXyaQL1WyV3A">
<trigger xmi:type="uml:Trigger" xmi:id="_2rtHEAPWEeaXyaQL1WyV3A" event="_i6KPMAPWEeaXyaQL1WyV3A"/>
</transition>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_J15V8APVEeaXyaQL1WyV3A"/>
<subvertex xmi:type="uml:State" xmi:id="_LaWyUAPVEeaXyaQL1WyV3A" name="S1"/>
<subvertex xmi:type="uml:State" xmi:id="_NBB1MAPVEeaXyaQL1WyV3A" name="S2">
<region xmi:type="uml:Region" xmi:id="_RY_T8APVEeaXyaQL1WyV3A" name="Region1">
<transition xmi:type="uml:Transition" xmi:id="_6QLv4APVEeaXyaQL1WyV3A" source="_jPfbcAPVEeaXyaQL1WyV3A" target="_RY_7BgPVEeaXyaQL1WyV3A"/>
<subvertex xmi:type="uml:State" xmi:id="_RY_7BgPVEeaXyaQL1WyV3A" name="S20"/>
<subvertex xmi:type="uml:State" xmi:id="_Tj5sUAPVEeaXyaQL1WyV3A" name="S21">
<region xmi:type="uml:Region" xmi:id="_WTrsUQPVEeaXyaQL1WyV3A" name="Region1">
<transition xmi:type="uml:Transition" xmi:id="_7ALpcAPVEeaXyaQL1WyV3A" source="_nr8_sAPVEeaXyaQL1WyV3A" target="_WTsTZAPVEeaXyaQL1WyV3A"/>
<transition xmi:type="uml:Transition" xmi:id="_B9YsIAPWEeaXyaQL1WyV3A" source="_WTsTZAPVEeaXyaQL1WyV3A" target="_Yq2YAAPVEeaXyaQL1WyV3A">
<trigger xmi:type="uml:Trigger" xmi:id="_vUisQAPWEeaXyaQL1WyV3A" event="_f-kAwAPWEeaXyaQL1WyV3A"/>
</transition>
<transition xmi:type="uml:Transition" xmi:id="_D-0_cAPWEeaXyaQL1WyV3A" source="_Yq2YAAPVEeaXyaQL1WyV3A" target="_LaWyUAPVEeaXyaQL1WyV3A">
<trigger xmi:type="uml:Trigger" xmi:id="_zNWw4APWEeaXyaQL1WyV3A" event="_hosnUAPWEeaXyaQL1WyV3A"/>
</transition>
<subvertex xmi:type="uml:State" xmi:id="_WTsTZAPVEeaXyaQL1WyV3A" name="S211"/>
<subvertex xmi:type="uml:State" xmi:id="_Yq2YAAPVEeaXyaQL1WyV3A" name="S212"/>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_nr8_sAPVEeaXyaQL1WyV3A"/>
</region>
</subvertex>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_jPfbcAPVEeaXyaQL1WyV3A"/>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_G3X54APWEeaXyaQL1WyV3A" name="SH" kind="deepHistory"/>
</region>
</subvertex>
</region>
</packagedElement>
<packagedElement xmi:type="uml:Signal" xmi:id="_ZwnQwAPWEeaXyaQL1WyV3A" name="E1"/>
<packagedElement xmi:type="uml:Signal" xmi:id="_bEsHwAPWEeaXyaQL1WyV3A" name="E2"/>
<packagedElement xmi:type="uml:Signal" xmi:id="_cUp60APWEeaXyaQL1WyV3A" name="E3"/>
<packagedElement xmi:type="uml:Signal" xmi:id="_dVklQAPWEeaXyaQL1WyV3A" name="E4"/>
<packagedElement xmi:type="uml:SignalEvent" xmi:id="_erWFYAPWEeaXyaQL1WyV3A" name="SignalEventE1" signal="_ZwnQwAPWEeaXyaQL1WyV3A"/>
<packagedElement xmi:type="uml:SignalEvent" xmi:id="_f-kAwAPWEeaXyaQL1WyV3A" name="SignalEventE2" signal="_bEsHwAPWEeaXyaQL1WyV3A"/>
<packagedElement xmi:type="uml:SignalEvent" xmi:id="_hosnUAPWEeaXyaQL1WyV3A" name="SignalEventE3" signal="_cUp60APWEeaXyaQL1WyV3A"/>
<packagedElement xmi:type="uml:SignalEvent" xmi:id="_i6KPMAPWEeaXyaQL1WyV3A" name="SignalEventE4" signal="_dVklQAPWEeaXyaQL1WyV3A"/>
</uml:Model>

View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI"/>

View File

@@ -0,0 +1,216 @@
<?xml version="1.0" encoding="UTF-8"?>
<notation:Diagram xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:style="http://www.eclipse.org/papyrus/infra/viewpoints/policy/style" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_T1ONMAPSEeaXyaQL1WyV3A" type="PapyrusUMLStateMachineDiagram" name="StateMachine Diagram" measurementUnit="Pixel">
<children xmi:type="notation:Shape" xmi:id="_T1ONMQPSEeaXyaQL1WyV3A" type="2000">
<children xmi:type="notation:DecorationNode" xmi:id="_T1ONMgPSEeaXyaQL1WyV3A" type="2001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1ONMwPSEeaXyaQL1WyV3A" width="700" height="23"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_T1ONNAPSEeaXyaQL1WyV3A" type="2002">
<children xmi:type="notation:Shape" xmi:id="_T1ONNQPSEeaXyaQL1WyV3A" type="3000">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_T1ONNgPSEeaXyaQL1WyV3A" source="RegionAnnotationKey">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_T1ONNwPSEeaXyaQL1WyV3A" key="RegionZoneKey" value=""/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_T1ONOAPSEeaXyaQL1WyV3A" type="3002">
<children xmi:type="notation:Shape" xmi:id="_e88IgAPSEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_e88IggPSEeaXyaQL1WyV3A" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_hF7Y0APTEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_e88IgwPSEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_e88IhAPSEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_e88IhQPSEeaXyaQL1WyV3A" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_e88IhgPSEeaXyaQL1WyV3A" y="-1"/>
</children>
<element xmi:type="uml:State" href="simple-history-shallow.uml#_e85FMAPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_e88IgQPSEeaXyaQL1WyV3A" x="110" y="87" height="161"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_hkW2sAPSEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_hkW2sgPSEeaXyaQL1WyV3A" type="6001">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_j1AqsAPSEeaXyaQL1WyV3A" width="341" height="23"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_hkXdwAPSEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_hkXdwQPSEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_hkXdwgPSEeaXyaQL1WyV3A" type="6002">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kZ9K0APSEeaXyaQL1WyV3A" source="PapyrusCSSForceValue">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kZ9K0QPSEeaXyaQL1WyV3A" key="visible" value="true"/>
</eAnnotations>
<children xmi:type="notation:Shape" xmi:id="_kZ9x4APSEeaXyaQL1WyV3A" type="3000">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_kZ9x5APSEeaXyaQL1WyV3A" source="RegionAnnotationKey">
<details xmi:type="ecore:EStringToStringMapEntry" xmi:id="_kZ9x5QPSEeaXyaQL1WyV3A" key="RegionZoneKey" value=""/>
</eAnnotations>
<children xmi:type="notation:DecorationNode" xmi:id="_kZ9x4gPSEeaXyaQL1WyV3A" type="3002">
<children xmi:type="notation:Shape" xmi:id="_kZ_AAAPSEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_kZ_AAgPSEeaXyaQL1WyV3A" type="6001"/>
<children xmi:type="notation:DecorationNode" xmi:id="_kZ_AAwPSEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_kZ_ABAPSEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_kZ_ABQPSEeaXyaQL1WyV3A" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZ_ABgPSEeaXyaQL1WyV3A"/>
</children>
<element xmi:type="uml:State" href="simple-history-shallow.uml#_kZ-Y8APSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZ_AAQPSEeaXyaQL1WyV3A" x="100" y="37"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_kxSswAPSEeaXyaQL1WyV3A" type="6000">
<children xmi:type="notation:DecorationNode" xmi:id="_kxSswgPSEeaXyaQL1WyV3A" type="6001"/>
<children xmi:type="notation:DecorationNode" xmi:id="_kxSswwPSEeaXyaQL1WyV3A" type="19003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_kxSsxAPSEeaXyaQL1WyV3A" x="40"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_kxSsxQPSEeaXyaQL1WyV3A" type="6002">
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_kxSsxgPSEeaXyaQL1WyV3A"/>
</children>
<element xmi:type="uml:State" href="simple-history-shallow.uml#_kxNNMAPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_kxSswQPSEeaXyaQL1WyV3A" x="240" y="37"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_yTtv8APSEeaXyaQL1WyV3A" type="8000">
<children xmi:type="notation:DecorationNode" xmi:id="_yTtv8gPSEeaXyaQL1WyV3A" type="8001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_yTtv8wPSEeaXyaQL1WyV3A" x="25" y="3"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_yTtv9APSEeaXyaQL1WyV3A" type="8002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_yTtv9QPSEeaXyaQL1WyV3A" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="simple-history-shallow.uml#_yTlNEAPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_yTtv8QPSEeaXyaQL1WyV3A" x="20" y="37"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_9MwWEAPSEeaXyaQL1WyV3A" type="13000">
<children xmi:type="notation:DecorationNode" xmi:id="_9Mw9IAPSEeaXyaQL1WyV3A" type="13001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_9Mw9IQPSEeaXyaQL1WyV3A" x="25" y="3"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_9Mw9IgPSEeaXyaQL1WyV3A" type="13002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_9Mw9IwPSEeaXyaQL1WyV3A" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="simple-history-shallow.uml#_9MnMIAPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_9MwWEQPSEeaXyaQL1WyV3A" x="100" y="117"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZ9x4wPSEeaXyaQL1WyV3A"/>
</children>
<element xmi:type="uml:Region" href="simple-history-shallow.uml#_kZ9K0gPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_kZ9x4QPSEeaXyaQL1WyV3A" width="341" height="178"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_hkXdwwPSEeaXyaQL1WyV3A" y="23" width="341" height="178"/>
</children>
<element xmi:type="uml:State" href="simple-history-shallow.uml#_hkTzYAPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_hkW2sQPSEeaXyaQL1WyV3A" x="230" y="47" width="341" height="201"/>
</children>
<children xmi:type="notation:Shape" xmi:id="_phuV4APSEeaXyaQL1WyV3A" type="8000">
<children xmi:type="notation:DecorationNode" xmi:id="_phuV4gPSEeaXyaQL1WyV3A" type="8001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_phuV4wPSEeaXyaQL1WyV3A" x="25" y="3"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_phuV5APSEeaXyaQL1WyV3A" type="8002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_phuV5QPSEeaXyaQL1WyV3A" x="25" y="-10"/>
</children>
<element xmi:type="uml:Pseudostate" href="simple-history-shallow.uml#_phoPQAPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_phuV4QPSEeaXyaQL1WyV3A" x="30" y="87"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1ONOQPSEeaXyaQL1WyV3A"/>
</children>
<element xmi:type="uml:Region" href="simple-history-shallow.uml#_T1NmIAPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1ONOgPSEeaXyaQL1WyV3A" width="700" height="287"/>
</children>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1ONOwPSEeaXyaQL1WyV3A" y="23" width="700" height="287"/>
</children>
<element xmi:type="uml:StateMachine" href="simple-history-shallow.uml#_T1M_EAPSEeaXyaQL1WyV3A"/>
<layoutConstraint xmi:type="notation:Bounds" xmi:id="_T1ONPAPSEeaXyaQL1WyV3A" x="30" y="30" width="700" height="310"/>
</children>
<styles xmi:type="notation:StringValueStyle" xmi:id="_T1ONPQPSEeaXyaQL1WyV3A" name="diagram_compatibility_version" stringValue="1.1.0"/>
<styles xmi:type="notation:DiagramStyle" xmi:id="_T1ONPgPSEeaXyaQL1WyV3A"/>
<styles xmi:type="style:PapyrusViewStyle" xmi:id="_T1ONPwPSEeaXyaQL1WyV3A">
<owner xmi:type="uml:Model" href="simple-history-shallow.uml#_T1LJ4APSEeaXyaQL1WyV3A"/>
</styles>
<element xmi:type="uml:StateMachine" href="simple-history-shallow.uml#_T1M_EAPSEeaXyaQL1WyV3A"/>
<edges xmi:type="notation:Connector" xmi:id="_tS0o8APSEeaXyaQL1WyV3A" type="7000" source="_phuV4APSEeaXyaQL1WyV3A" target="_e88IgAPSEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_tS0o8wPSEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_tS0o9APSEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_tS0o9QPSEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_tS0o9gPSEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_tS0o9wPSEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_tS1QAAPSEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_tS0o8QPSEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-shallow.uml#_tSsGEAPSEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_tS0o8gPSEeaXyaQL1WyV3A" points="[7, -6, -81, 0]$[87, -10, -1, -4]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tTIyAAPSEeaXyaQL1WyV3A" id="(1.0,0.45)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_tTIyAQPSEeaXyaQL1WyV3A" id="(0.0,0.10638297872340426)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_vV8-UAPSEeaXyaQL1WyV3A" type="7000" source="_e88IgAPSEeaXyaQL1WyV3A" target="_hkW2sAPSEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_vV8-UwPSEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_vV8-VAPSEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_vV8-VQPSEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_vV8-VgPSEeaXyaQL1WyV3A" x="-10" y="-13"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_vV8-VwPSEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_vV8-WAPSEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_vV8-UQPSEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-shallow.uml#_vV1CgAPSEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_vV8-UgPSEeaXyaQL1WyV3A" points="[38, 4, -100, -11]$[120, 11, -18, -4]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vWTjoAPSEeaXyaQL1WyV3A" id="(1.0,0.14184397163120568)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_vWTjoQPSEeaXyaQL1WyV3A" id="(0.0,0.29850746268656714)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_xIpD8APSEeaXyaQL1WyV3A" type="7000" source="_kZ_AAAPSEeaXyaQL1WyV3A" target="_kxSswAPSEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_xIpD8wPSEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_xIpD9APSEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_xIpD9QPSEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_xIpD9gPSEeaXyaQL1WyV3A" x="-1" y="-11"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_xIpD9wPSEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_xIpD-APSEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_xIpD8QPSEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-shallow.uml#_xIeE0APSEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_xIpD8gPSEeaXyaQL1WyV3A" points="[38, 5, -62, 5]$[102, 3, 2, 3]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xJCFgAPSEeaXyaQL1WyV3A" id="(1.0,0.44680851063829785)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_xJCFgQPSEeaXyaQL1WyV3A" id="(0.0,0.425531914893617)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_2lE3cAPSEeaXyaQL1WyV3A" type="7000" source="_yTtv8APSEeaXyaQL1WyV3A" target="_kZ_AAAPSEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_2lE3cwPSEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_2lE3dAPSEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_2lE3dQPSEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_2lE3dgPSEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_2lE3dwPSEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_2lE3eAPSEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_2lE3cQPSEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-shallow.uml#_2k8UkAPSEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_2lE3cgPSEeaXyaQL1WyV3A" points="[8, 1, -75, 0]$[77, -10, -6, -11]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2lcD0APSEeaXyaQL1WyV3A" id="(1.0,0.45)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_2lcD0QPSEeaXyaQL1WyV3A" id="(0.0,0.2127659574468085)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_DE-GoAPTEeaXyaQL1WyV3A" type="7000" source="_e88IgAPSEeaXyaQL1WyV3A" target="_9MwWEAPSEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_DE-tsAPTEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_DE-tsQPTEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_DE-tsgPTEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_DE-tswPTEeaXyaQL1WyV3A" x="-48" y="-21"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_DE-ttAPTEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_DE-ttQPTEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_DE-GoQPTEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-shallow.uml#_DEzHgAPTEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_DE-GogPTEeaXyaQL1WyV3A" points="[40, 18, -150, -72]$[193, 98, 3, 8]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFec8APTEeaXyaQL1WyV3A" id="(1.0,0.37267080745341613)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_DFec8QPTEeaXyaQL1WyV3A" id="(0.0,0.3)"/>
</edges>
<edges xmi:type="notation:Connector" xmi:id="_JsAsEAPTEeaXyaQL1WyV3A" type="7000" source="_hkW2sAPSEeaXyaQL1WyV3A" target="_e88IgAPSEeaXyaQL1WyV3A">
<children xmi:type="notation:DecorationNode" xmi:id="_JsAsEwPTEeaXyaQL1WyV3A" type="7001">
<layoutConstraint xmi:type="notation:Location" xmi:id="_JsAsFAPTEeaXyaQL1WyV3A"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_JsAsFQPTEeaXyaQL1WyV3A" type="7002">
<layoutConstraint xmi:type="notation:Location" xmi:id="_JsAsFgPTEeaXyaQL1WyV3A" x="-12" y="14"/>
</children>
<children xmi:type="notation:DecorationNode" xmi:id="_JsAsFwPTEeaXyaQL1WyV3A" type="7003">
<layoutConstraint xmi:type="notation:Location" xmi:id="_JsAsGAPTEeaXyaQL1WyV3A" y="60"/>
</children>
<styles xmi:type="notation:FontStyle" xmi:id="_JsAsEQPTEeaXyaQL1WyV3A"/>
<element xmi:type="uml:Transition" href="simple-history-shallow.uml#_Jr4JMAPTEeaXyaQL1WyV3A"/>
<bendpoints xmi:type="notation:RelativeBendpoints" xmi:id="_JsAsEgPTEeaXyaQL1WyV3A" points="[-16, -10, 111, 65]$[-136, -68, -9, 7]"/>
<sourceAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JscJ4APTEeaXyaQL1WyV3A" id="(0.0,0.7960199004975125)"/>
<targetAnchor xmi:type="notation:IdentityAnchor" xmi:id="_JscJ4QPTEeaXyaQL1WyV3A" id="(1.0,0.8226950354609929)"/>
</edges>
</notation:Diagram>

View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<uml:Model xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML" xmi:id="_T1LJ4APSEeaXyaQL1WyV3A" name="RootElement">
<packagedElement xmi:type="uml:StateMachine" xmi:id="_T1M_EAPSEeaXyaQL1WyV3A" name="StateMachine">
<region xmi:type="uml:Region" xmi:id="_T1NmIAPSEeaXyaQL1WyV3A" name="Region1">
<transition xmi:type="uml:Transition" xmi:id="_tSsGEAPSEeaXyaQL1WyV3A" source="_phoPQAPSEeaXyaQL1WyV3A" target="_e85FMAPSEeaXyaQL1WyV3A"/>
<transition xmi:type="uml:Transition" xmi:id="_vV1CgAPSEeaXyaQL1WyV3A" source="_e85FMAPSEeaXyaQL1WyV3A" target="_hkTzYAPSEeaXyaQL1WyV3A">
<trigger xmi:type="uml:Trigger" xmi:id="_fO2icAPTEeaXyaQL1WyV3A" event="_TnRbUAPTEeaXyaQL1WyV3A"/>
</transition>
<transition xmi:type="uml:Transition" xmi:id="_DEzHgAPTEeaXyaQL1WyV3A" source="_e85FMAPSEeaXyaQL1WyV3A" target="_9MnMIAPSEeaXyaQL1WyV3A">
<trigger xmi:type="uml:Trigger" xmi:id="_x7luYAPTEeaXyaQL1WyV3A" event="_aUT7EAPTEeaXyaQL1WyV3A"/>
</transition>
<transition xmi:type="uml:Transition" xmi:id="_Jr4JMAPTEeaXyaQL1WyV3A" source="_hkTzYAPSEeaXyaQL1WyV3A" target="_e85FMAPSEeaXyaQL1WyV3A">
<trigger xmi:type="uml:Trigger" xmi:id="_uX4XEAPTEeaXyaQL1WyV3A" event="_YBCQ4APTEeaXyaQL1WyV3A"/>
</transition>
<subvertex xmi:type="uml:State" xmi:id="_e85FMAPSEeaXyaQL1WyV3A" name="S1"/>
<subvertex xmi:type="uml:State" xmi:id="_hkTzYAPSEeaXyaQL1WyV3A" name="S2">
<region xmi:type="uml:Region" xmi:id="_kZ9K0gPSEeaXyaQL1WyV3A" name="Region1">
<transition xmi:type="uml:Transition" xmi:id="_xIeE0APSEeaXyaQL1WyV3A" source="_kZ-Y8APSEeaXyaQL1WyV3A" target="_kxNNMAPSEeaXyaQL1WyV3A">
<trigger xmi:type="uml:Trigger" xmi:id="_rl-QIAPTEeaXyaQL1WyV3A" event="_VwZD8APTEeaXyaQL1WyV3A"/>
</transition>
<transition xmi:type="uml:Transition" xmi:id="_2k8UkAPSEeaXyaQL1WyV3A" source="_yTlNEAPSEeaXyaQL1WyV3A" target="_kZ-Y8APSEeaXyaQL1WyV3A"/>
<subvertex xmi:type="uml:State" xmi:id="_kZ-Y8APSEeaXyaQL1WyV3A" name="S20"/>
<subvertex xmi:type="uml:State" xmi:id="_kxNNMAPSEeaXyaQL1WyV3A" name="S21"/>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_yTlNEAPSEeaXyaQL1WyV3A"/>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_9MnMIAPSEeaXyaQL1WyV3A" name="SH" kind="shallowHistory"/>
</region>
</subvertex>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_phoPQAPSEeaXyaQL1WyV3A"/>
</region>
</packagedElement>
<packagedElement xmi:type="uml:Signal" xmi:id="_Ly45AAPTEeaXyaQL1WyV3A" name="E1"/>
<packagedElement xmi:type="uml:Signal" xmi:id="_NAAzcAPTEeaXyaQL1WyV3A" name="E2"/>
<packagedElement xmi:type="uml:Signal" xmi:id="_OI_0wAPTEeaXyaQL1WyV3A" name="E3"/>
<packagedElement xmi:type="uml:Signal" xmi:id="_SaNyUAPTEeaXyaQL1WyV3A" name="E4"/>
<packagedElement xmi:type="uml:SignalEvent" xmi:id="_TnRbUAPTEeaXyaQL1WyV3A" name="SignalEventE1" signal="_Ly45AAPTEeaXyaQL1WyV3A"/>
<packagedElement xmi:type="uml:SignalEvent" xmi:id="_VwZD8APTEeaXyaQL1WyV3A" name="SignalEventE2" signal="_NAAzcAPTEeaXyaQL1WyV3A"/>
<packagedElement xmi:type="uml:SignalEvent" xmi:id="_YBCQ4APTEeaXyaQL1WyV3A" name="SignalEventE3" signal="_OI_0wAPTEeaXyaQL1WyV3A"/>
<packagedElement xmi:type="uml:SignalEvent" xmi:id="_aUT7EAPTEeaXyaQL1WyV3A" name="SignalEventE4" signal="_SaNyUAPTEeaXyaQL1WyV3A"/>
</uml:Model>