add exercises

This commit is contained in:
Joeri Exelmans 2024-11-29 09:26:19 +01:00
parent 8a24549cdb
commit 2fb8318506
11 changed files with 2706 additions and 0 deletions

View file

@ -3,6 +3,48 @@ GeneratorModel for yakindu::python {
const PROJECT : string = "StartingPoint" const PROJECT : string = "StartingPoint"
const FOLDER : string = "srcgen" const FOLDER : string = "srcgen"
statechart A {
feature Outlet {
targetProject = PROJECT
targetFolder = FOLDER
libraryTargetFolder = "lib"
}
}
statechart B {
feature Outlet {
targetProject = PROJECT
targetFolder = FOLDER
libraryTargetFolder = "lib"
}
}
statechart C {
feature Outlet {
targetProject = PROJECT
targetFolder = FOLDER
libraryTargetFolder = "lib"
}
}
statechart D {
feature Outlet {
targetProject = PROJECT
targetFolder = FOLDER
libraryTargetFolder = "lib"
}
}
statechart E {
feature Outlet {
targetProject = PROJECT
targetFolder = FOLDER
libraryTargetFolder = "lib"
}
}
statechart LockController { statechart LockController {
feature Outlet { feature Outlet {
targetProject = PROJECT targetProject = PROJECT

View file

@ -0,0 +1,111 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:sgraph="http://www.yakindu.org/sct/sgraph/2.0.0">
<sgraph:Statechart xmi:id="_Zj_B0I-JEe6T3aFB4BWOHg" specification="@EventDriven&#xA;@SuperSteps(no)&#xA;&#xA;interface:&#xA;&#x9;out event x&#xA;&#x9;out event y" name="A">
<regions xmi:id="_ZkFIc4-JEe6T3aFB4BWOHg" name="main region">
<vertices xsi:type="sgraph:Entry" xmi:id="_ZkFIdI-JEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_ZkFIdY-JEe6T3aFB4BWOHg" target="_ZkFvgI-JEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:State" xmi:id="_ZkFvgI-JEe6T3aFB4BWOHg" name="StateA" incomingTransitions="_ZkFIdY-JEe6T3aFB4BWOHg _3l5WQI-JEe6T3aFB4BWOHg _5ooqEI-JEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_3l5WQI-JEe6T3aFB4BWOHg" specification="after 1s / raise x" target="_ZkFvgI-JEe6T3aFB4BWOHg"/>
<outgoingTransitions xmi:id="_5ooqEI-JEe6T3aFB4BWOHg" specification="after 2s / raise y" target="_ZkFvgI-JEe6T3aFB4BWOHg"/>
</vertices>
</regions>
</sgraph:Statechart>
<notation:Diagram xmi:id="_ZkIy0I-JEe6T3aFB4BWOHg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_Zj_B0I-JEe6T3aFB4BWOHg" measurementUnit="Pixel">
<children xmi:id="_ZkIy0Y-JEe6T3aFB4BWOHg" type="Region" element="_ZkFIc4-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy0o-JEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy04-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy1I-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy1Y-JEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xmi:id="_ZkIy1o-JEe6T3aFB4BWOHg" type="Entry" element="_ZkFIdI-JEe6T3aFB4BWOHg">
<children xmi:id="_ZkIy14-JEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy2I-JEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy2Y-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy2o-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy24-JEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy3I-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy3Y-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_ZkIy3o-JEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy34-JEe6T3aFB4BWOHg" x="89" y="84" width="15" height="15"/>
</children>
<children xmi:id="_ZkIy4I-JEe6T3aFB4BWOHg" type="State" element="_ZkFvgI-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy4Y-JEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy4o-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy44-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_ZkIy5I-JEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_ZkIy5Y-JEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy5o-JEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_ZkIy54-JEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy6I-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_ZkIy6Y-JEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_ZkIy6o-JEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy64-JEe6T3aFB4BWOHg" x="84" y="146" width="99" height="53"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_-jdlUI-JEe6T3aFB4BWOHg" type="Note" fontName="Verdana" description="Explain: why is event 'y' never raised?" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
<children xsi:type="notation:BasicDecorationNode" xmi:id="_-jezcI-JEe6T3aFB4BWOHg" type="DiagramName">
<element xsi:nil="true"/>
</children>
<children xsi:type="notation:BasicDecorationNode" xmi:id="_-jezcY-JEe6T3aFB4BWOHg" type="Description">
<element xsi:nil="true"/>
</children>
<styles xsi:type="notation:TextStyle" xmi:id="_-jdlUY-JEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:LineTypeStyle" xmi:id="_-jdlUo-JEe6T3aFB4BWOHg"/>
<element xsi:nil="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_-jdlU4-JEe6T3aFB4BWOHg" x="55" y="323" width="285" height="56"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy-I-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy-Y-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy-o-JEe6T3aFB4BWOHg" x="25" y="15" width="400" height="446"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy-4-JEe6T3aFB4BWOHg" type="StatechartText" fontName="Verdana" lineColor="4210752">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy_I-JEe6T3aFB4BWOHg" type="StatechartName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy_Y-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy_o-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy_4-JEe6T3aFB4BWOHg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAI-JEe6T3aFB4BWOHg"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAY-JEe6T3aFB4BWOHg" x="10" y="10" width="200" height="400"/>
</children>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_ZkIzAo-JEe6T3aFB4BWOHg" name="inlineDefinitionSection"/>
<styles xsi:type="notation:DiagramStyle" xmi:id="_ZkIzA4-JEe6T3aFB4BWOHg"/>
<edges xmi:id="_ZkIzBI-JEe6T3aFB4BWOHg" type="Transition" element="_ZkFIdY-JEe6T3aFB4BWOHg" source="_ZkIy1o-JEe6T3aFB4BWOHg" target="_ZkIy4I-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIzBY-JEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIzBo-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIzB4-JEe6T3aFB4BWOHg" x="5" y="2"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_ZkIzCI-JEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_ZkIzCY-JEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_ZkIzCo-JEe6T3aFB4BWOHg" points="[-2, 6, -39, -75]$[-2, 55, -39, -26]"/>
</edges>
<edges xmi:id="_3l7ygI-JEe6T3aFB4BWOHg" type="Transition" element="_3l5WQI-JEe6T3aFB4BWOHg" source="_ZkIy4I-JEe6T3aFB4BWOHg" target="_ZkIy4I-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_3l7yhI-JEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_3l7yhY-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_3l7yho-JEe6T3aFB4BWOHg" x="-1" y="-16"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_3l7ygY-JEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_3l7yg4-JEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_3l7ygo-JEe6T3aFB4BWOHg" points="[4, -3, 5, -3]$[4, -3, 5, -3]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_3l9AoI-JEe6T3aFB4BWOHg" id="(0.9393939393939394,0.05660377358490566)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_3l9AoY-JEe6T3aFB4BWOHg" id="(0.9292929292929293,0.05660377358490566)"/>
</edges>
<edges xmi:id="_5op4MI-JEe6T3aFB4BWOHg" type="Transition" element="_5ooqEI-JEe6T3aFB4BWOHg" source="_ZkIy4I-JEe6T3aFB4BWOHg" target="_ZkIy4I-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_5oqfQY-JEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_5oqfQo-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_5oqfQ4-JEe6T3aFB4BWOHg" x="-3" y="17"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_5op4MY-JEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_5oqfQI-JEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_5op4Mo-JEe6T3aFB4BWOHg" points="[97, -34, 78, -33]$[159, -34, 140, -33]$[159, -109, 140, -108]$[73, -109, 54, -108]$[73, -47, 54, -46]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_5ortYI-JEe6T3aFB4BWOHg" id="(0.020202020202020204,0.8867924528301887)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_5ortYY-JEe6T3aFB4BWOHg" id="(0.21212121212121213,0.8679245283018868)"/>
</edges>
</notation:Diagram>
</xmi:XMI>

View file

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:sgraph="http://www.yakindu.org/sct/sgraph/2.0.0">
<sgraph:Statechart xmi:id="_Zj_B0I-JEe6T3aFB4BWOHg" specification="@EventDriven&#xA;@SuperSteps(no)&#xA;&#xA;interface:&#xA;&#x9;out event outer&#xA;&#x9;out event inner" name="B">
<regions xmi:id="_ZkFIc4-JEe6T3aFB4BWOHg" name="main region">
<vertices xsi:type="sgraph:State" xmi:id="_Hn1_0I-eEe6T3aFB4BWOHg" name="Outer" incomingTransitions="_LFvDAI-eEe6T3aFB4BWOHg _N5BC8I-eEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_N5BC8I-eEe6T3aFB4BWOHg" specification="after 3s / raise outer" target="_Hn1_0I-eEe6T3aFB4BWOHg"/>
<regions xmi:id="_JRh6cI-eEe6T3aFB4BWOHg" name="r1">
<vertices xsi:type="sgraph:State" xmi:id="_ZkFvgI-JEe6T3aFB4BWOHg" name="Inner" incomingTransitions="_ZkFIdY-JEe6T3aFB4BWOHg _3l5WQI-JEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_3l5WQI-JEe6T3aFB4BWOHg" specification="after 2s / raise inner" target="_ZkFvgI-JEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:Entry" xmi:id="_ZkFIdI-JEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_ZkFIdY-JEe6T3aFB4BWOHg" target="_ZkFvgI-JEe6T3aFB4BWOHg"/>
</vertices>
</regions>
</vertices>
<vertices xsi:type="sgraph:Entry" xmi:id="_KstfAI-eEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_LFvDAI-eEe6T3aFB4BWOHg" specification="" target="_Hn1_0I-eEe6T3aFB4BWOHg"/>
</vertices>
</regions>
</sgraph:Statechart>
<notation:Diagram xmi:id="_ZkIy0I-JEe6T3aFB4BWOHg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_Zj_B0I-JEe6T3aFB4BWOHg" measurementUnit="Pixel">
<children xmi:id="_ZkIy0Y-JEe6T3aFB4BWOHg" type="Region" element="_ZkFIc4-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy0o-JEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy04-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy1I-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy1Y-JEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xsi:type="notation:Shape" xmi:id="_-jdlUI-JEe6T3aFB4BWOHg" type="Note" fontName="Verdana" description="Explain: why does the output event trace look like this:&#xA; 2s: inner&#xA; 3s: outer&#xA; 5s: inner&#xA; 6s: outer&#xA; ...&#xA;&#xA;Specifically, why do both 'inner' and 'outer' occur at 3-second intervals?" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
<children xsi:type="notation:BasicDecorationNode" xmi:id="_-jezcI-JEe6T3aFB4BWOHg" type="DiagramName">
<element xsi:nil="true"/>
</children>
<children xsi:type="notation:BasicDecorationNode" xmi:id="_-jezcY-JEe6T3aFB4BWOHg" type="Description">
<element xsi:nil="true"/>
</children>
<styles xsi:type="notation:TextStyle" xmi:id="_-jdlUY-JEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:LineTypeStyle" xmi:id="_-jdlUo-JEe6T3aFB4BWOHg"/>
<element xsi:nil="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_-jdlU4-JEe6T3aFB4BWOHg" x="133" y="478" width="489" height="154"/>
</children>
<children xmi:id="_Hn31AI-eEe6T3aFB4BWOHg" type="State" element="_Hn1_0I-eEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_Hn31BI-eEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_Hn31BY-eEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_Hn4cEI-eEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_Hn4cEY-eEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_Hn4cEo-eEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_Hn4cE4-eEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_Hn4cFI-eEe6T3aFB4BWOHg" type="StateFigureCompartment">
<children xmi:id="_JRjIkI-eEe6T3aFB4BWOHg" type="Region" element="_JRh6cI-eEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_JRjIk4-eEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_JRjIlI-eEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_JRjIlY-eEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_JRjIlo-eEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xmi:id="_ZkIy4I-JEe6T3aFB4BWOHg" type="State" element="_ZkFvgI-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy4Y-JEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy4o-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy44-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_ZkIy5I-JEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_ZkIy5Y-JEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy5o-JEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_ZkIy54-JEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy6I-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_ZkIy6Y-JEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_ZkIy6o-JEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy64-JEe6T3aFB4BWOHg" x="45" y="61" width="99" height="53"/>
</children>
<children xmi:id="_ZkIy1o-JEe6T3aFB4BWOHg" type="Entry" element="_ZkFIdI-JEe6T3aFB4BWOHg">
<children xmi:id="_ZkIy14-JEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy2I-JEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy2Y-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy2o-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy24-JEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy3I-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy3Y-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_ZkIy3o-JEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy34-JEe6T3aFB4BWOHg" x="50" y="-1" width="15" height="15"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_JRjIl4-eEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_JRjIkY-eEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_JRjIko-eEe6T3aFB4BWOHg"/>
</children>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_Hn31AY-eEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_Hn31Ao-eEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_Hn4cFY-eEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_Hn31A4-eEe6T3aFB4BWOHg" x="74" y="28" width="373" height="327"/>
</children>
<children xmi:id="_KsuGEI-eEe6T3aFB4BWOHg" type="Entry" element="_KstfAI-eEe6T3aFB4BWOHg">
<children xmi:id="_KsuGFI-eEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_KsuGF4-eEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_KsuGGI-eEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_KsuGGY-eEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_KsuGFY-eEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_KsuGFo-eEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_KsuGEY-eEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_KsuGEo-eEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_KsuGE4-eEe6T3aFB4BWOHg" x="23" y="75"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy-I-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy-Y-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy-o-JEe6T3aFB4BWOHg" x="205" y="10" width="762" height="707"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy-4-JEe6T3aFB4BWOHg" type="StatechartText" fontName="Verdana" lineColor="4210752">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy_I-JEe6T3aFB4BWOHg" type="StatechartName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy_Y-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy_o-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy_4-JEe6T3aFB4BWOHg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAI-JEe6T3aFB4BWOHg"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAY-JEe6T3aFB4BWOHg" x="10" y="10" width="200" height="400"/>
</children>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_ZkIzAo-JEe6T3aFB4BWOHg" name="inlineDefinitionSection"/>
<styles xsi:type="notation:DiagramStyle" xmi:id="_ZkIzA4-JEe6T3aFB4BWOHg"/>
<edges xmi:id="_ZkIzBI-JEe6T3aFB4BWOHg" type="Transition" element="_ZkFIdY-JEe6T3aFB4BWOHg" source="_ZkIy1o-JEe6T3aFB4BWOHg" target="_ZkIy4I-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIzBY-JEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIzBo-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIzB4-JEe6T3aFB4BWOHg" x="5" y="2"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_ZkIzCI-JEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_ZkIzCY-JEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_ZkIzCo-JEe6T3aFB4BWOHg" points="[-2, 6, -39, -75]$[-2, 55, -39, -26]"/>
</edges>
<edges xmi:id="_3l7ygI-JEe6T3aFB4BWOHg" type="Transition" element="_3l5WQI-JEe6T3aFB4BWOHg" source="_ZkIy4I-JEe6T3aFB4BWOHg" target="_ZkIy4I-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_3l7yhI-JEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_3l7yhY-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_3l7yho-JEe6T3aFB4BWOHg" x="-1" y="-16"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_3l7ygY-JEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_3l7yg4-JEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_3l7ygo-JEe6T3aFB4BWOHg" points="[4, -3, 5, -3]$[4, -3, 5, -3]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_3l9AoI-JEe6T3aFB4BWOHg" id="(0.9393939393939394,0.05660377358490566)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_3l9AoY-JEe6T3aFB4BWOHg" id="(0.9292929292929293,0.05660377358490566)"/>
</edges>
<edges xmi:id="_LFwRII-eEe6T3aFB4BWOHg" type="Transition" element="_LFvDAI-eEe6T3aFB4BWOHg" source="_KsuGEI-eEe6T3aFB4BWOHg" target="_Hn31AI-eEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_LFwRJI-eEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_LFwRJY-eEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_LFwRJo-eEe6T3aFB4BWOHg" x="-4" y="10"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_LFwRIY-eEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_LFwRI4-eEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_LFwRIo-eEe6T3aFB4BWOHg" points="[4, -6, -56, 1]$[44, -6, -16, 1]"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_LFyGUI-eEe6T3aFB4BWOHg" id="(0.04507042253521127,0.14473684210526316)"/>
</edges>
<edges xmi:id="_N5BqAI-eEe6T3aFB4BWOHg" type="Transition" element="_N5BC8I-eEe6T3aFB4BWOHg" source="_Hn31AI-eEe6T3aFB4BWOHg" target="_Hn31AI-eEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N5BqBI-eEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N5BqBY-eEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N5BqBo-eEe6T3aFB4BWOHg" x="12" y="-19"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_N5BqAY-eEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N5BqA4-eEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_N5BqAo-eEe6T3aFB4BWOHg" points="[24, -20, 24, -20]$[24, -20, 24, -20]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N5C4II-eEe6T3aFB4BWOHg" id="(0.935656836461126,0.10091743119266056)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N5C4IY-eEe6T3aFB4BWOHg" id="(0.935656836461126,0.10091743119266056)"/>
</edges>
</notation:Diagram>
</xmi:XMI>

View file

@ -0,0 +1,173 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:sgraph="http://www.yakindu.org/sct/sgraph/2.0.0">
<sgraph:Statechart xmi:id="_Zj_B0I-JEe6T3aFB4BWOHg" specification="@EventDriven&#xA;@SuperSteps(no)&#xA;&#xA;interface:&#xA;&#x9;var x: integer = 0" name="C">
<regions xmi:id="_EAlFCI_LEe6T3aFB4BWOHg" name="main region">
<vertices xsi:type="sgraph:State" xmi:id="_EAlFCY_LEe6T3aFB4BWOHg" name="Temp" incomingTransitions="_EAlr1I_LEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_EAlFC4_LEe6T3aFB4BWOHg" specification="[x==0]" target="_EAlFGY_LEe6T3aFB4BWOHg"/>
<outgoingTransitions xmi:id="_EAlFEo_LEe6T3aFB4BWOHg" specification="[x==1]" target="_EAlFG4_LEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:State" xmi:id="_EAlFGY_LEe6T3aFB4BWOHg" name="Zero" incomingTransitions="_EAlFC4_LEe6T3aFB4BWOHg"/>
<vertices xsi:type="sgraph:State" xmi:id="_EAlFG4_LEe6T3aFB4BWOHg" name="One" incomingTransitions="_EAlFEo_LEe6T3aFB4BWOHg"/>
<vertices xsi:type="sgraph:Entry" xmi:id="_EAlr0I_LEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_EAlr0Y_LEe6T3aFB4BWOHg" specification="" target="_EAlr0o_LEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:State" xmi:id="_EAlr0o_LEe6T3aFB4BWOHg" name="Initial" incomingTransitions="_EAlr0Y_LEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_EAlr1I_LEe6T3aFB4BWOHg" specification="after 1s / x += 1" target="_EAlFCY_LEe6T3aFB4BWOHg"/>
</vertices>
</regions>
</sgraph:Statechart>
<notation:Diagram xmi:id="_ZkIy0I-JEe6T3aFB4BWOHg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_Zj_B0I-JEe6T3aFB4BWOHg" measurementUnit="Pixel">
<children xsi:type="notation:Shape" xmi:id="_ZkIy-4-JEe6T3aFB4BWOHg" type="StatechartText" fontName="Verdana" lineColor="4210752">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy_I-JEe6T3aFB4BWOHg" type="StatechartName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy_Y-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy_o-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy_4-JEe6T3aFB4BWOHg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAI-JEe6T3aFB4BWOHg"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAY-JEe6T3aFB4BWOHg" x="10" y="10" width="200" height="400"/>
</children>
<children xmi:id="_EAlEwI_LEe6T3aFB4BWOHg" type="Region" element="_EAlFCI_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlEwY_LEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlEwo_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlEw4_LEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_EAlExI_LEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xmi:id="_EAlExY_LEe6T3aFB4BWOHg" type="State" element="_EAlFCY_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlExo_LEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlEx4_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlEyI_LEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_EAlEyY_LEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_EAlEyo_LEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlEy4_LEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_EAlEzI_LEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlEzY_LEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_EAlEzo_LEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_EAlEz4_LEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE0I_LEe6T3aFB4BWOHg" x="275" y="86" width="68" height="53"/>
</children>
<children xmi:id="_EAlE0Y_LEe6T3aFB4BWOHg" type="State" element="_EAlFGY_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlE0o_LEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE04_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlE1I_LEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_EAlE1Y_LEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_EAlE1o_LEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE14_LEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_EAlE2I_LEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE2Y_LEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_EAlE2o_LEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_EAlE24_LEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE3I_LEe6T3aFB4BWOHg" x="491" y="47" width="40" height="53"/>
</children>
<children xmi:id="_EAlE3Y_LEe6T3aFB4BWOHg" type="State" element="_EAlFG4_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlE3o_LEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE34_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlE4I_LEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_EAlE4Y_LEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_EAlE4o_LEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE44_LEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_EAlE5I_LEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE5Y_LEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_EAlE5o_LEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_EAlE54_LEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE6I_LEe6T3aFB4BWOHg" x="496" y="159" width="40" height="53"/>
</children>
<children xmi:id="_EAlE6Y_LEe6T3aFB4BWOHg" type="Entry" element="_EAlr0I_LEe6T3aFB4BWOHg">
<children xmi:id="_EAlE6o_LEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlE64_LEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE7I_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlE7Y_LEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE7o_LEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE74_LEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE8I_LEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_EAlE8Y_LEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE8o_LEe6T3aFB4BWOHg" x="66" y="27" width="15" height="15"/>
</children>
<children xmi:id="_EAlE84_LEe6T3aFB4BWOHg" type="State" element="_EAlr0o_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlE9I_LEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE9Y_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlE9o_LEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_EAlE94_LEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_EAlE-I_LEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE-Y_LEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_EAlE-o_LEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlE-4_LEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_EAlE_I_LEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_EAlE_Y_LEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlE_o_LEe6T3aFB4BWOHg" x="61" y="79" width="50" height="53"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_EAlE_4_LEe6T3aFB4BWOHg" type="Note" fontName="Verdana" description="1) What behavior would you intuitively expect?&#xA;2) Run the simulation. What actually happens?&#xA;3) Replace the 'Temp' state by a 'Choice'-element (see Palette on the right). Does that fix it?" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
<children xsi:type="notation:BasicDecorationNode" xmi:id="_EAlFAI_LEe6T3aFB4BWOHg" type="DiagramName">
<element xsi:nil="true"/>
</children>
<children xsi:type="notation:BasicDecorationNode" xmi:id="_EAlFAY_LEe6T3aFB4BWOHg" type="Description">
<element xsi:nil="true"/>
</children>
<styles xsi:type="notation:TextStyle" xmi:id="_EAlFAo_LEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:LineTypeStyle" xmi:id="_EAlFA4_LEe6T3aFB4BWOHg"/>
<element xsi:nil="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlFBI_LEe6T3aFB4BWOHg" x="36" y="246" width="536" height="88"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlFBY_LEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlFBo_LEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_EAlFB4_LEe6T3aFB4BWOHg" x="150" y="57" width="626" height="390"/>
</children>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_ZkIzAo-JEe6T3aFB4BWOHg" name="inlineDefinitionSection"/>
<styles xsi:type="notation:DiagramStyle" xmi:id="_ZkIzA4-JEe6T3aFB4BWOHg"/>
<edges xmi:id="_EAlr3o_LEe6T3aFB4BWOHg" type="Transition" element="_EAlr0Y_LEe6T3aFB4BWOHg" source="_EAlE6Y_LEe6T3aFB4BWOHg" target="_EAlE84_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlr34_LEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlr4I_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlr4Y_LEe6T3aFB4BWOHg" x="6"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_EAlr4o_LEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_EAlr44_LEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_EAlr5I_LEe6T3aFB4BWOHg" points="[1, 6, -12, -65]$[1, 45, -12, -26]"/>
</edges>
<edges xmi:id="_EAlr5Y_LEe6T3aFB4BWOHg" type="Transition" element="_EAlFC4_LEe6T3aFB4BWOHg" source="_EAlExY_LEe6T3aFB4BWOHg" target="_EAlE0Y_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlr5o_LEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlr54_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlr6I_LEe6T3aFB4BWOHg" x="13" y="-35"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_EAlr6Y_LEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_EAlr6o_LEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_EAlr64_LEe6T3aFB4BWOHg" points="[5, -5, -164, 45]$[78, -5, -91, 45]$[78, -54, -91, -4]$[153, -54, -16, -4]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_EAlr7I_LEe6T3aFB4BWOHg" id="(0.94,0.39622641509433965)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_EAlr7Y_LEe6T3aFB4BWOHg" id="(0.4,0.18867924528301888)"/>
</edges>
<edges xmi:id="_EAlr7o_LEe6T3aFB4BWOHg" type="Transition" element="_EAlFEo_LEe6T3aFB4BWOHg" source="_EAlExY_LEe6T3aFB4BWOHg" target="_EAlE3Y_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlr74_LEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlr8I_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlr8Y_LEe6T3aFB4BWOHg" x="12" y="30"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_EAlr8o_LEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_EAlr84_LEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_EAlr9I_LEe6T3aFB4BWOHg" points="[10, -2, -173, -63]$[85, -2, -98, -63]$[85, 46, -98, -15]$[163, 46, -20, -15]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_EAlr9Y_LEe6T3aFB4BWOHg" id="(0.86,0.7169811320754716)"/>
</edges>
<edges xmi:id="_EAlr9o_LEe6T3aFB4BWOHg" type="Transition" element="_EAlr1I_LEe6T3aFB4BWOHg" source="_EAlE84_LEe6T3aFB4BWOHg" target="_EAlExY_LEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_EAlr94_LEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_EAlr-I_LEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_EAlr-Y_LEe6T3aFB4BWOHg" x="10" y="-17"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_EAlr-o_LEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_EAlr-4_LEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_EAlr_I_LEe6T3aFB4BWOHg" points="[4, -2, -198, -7]$[168, -2, -34, -7]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_EAlr_Y_LEe6T3aFB4BWOHg" id="(0.92,0.5283018867924528)"/>
</edges>
</notation:Diagram>
</xmi:XMI>

View file

@ -0,0 +1,316 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:sgraph="http://www.yakindu.org/sct/sgraph/2.0.0">
<sgraph:Statechart xmi:id="_Zj_B0I-JEe6T3aFB4BWOHg" specification="@EventDriven&#xA;@SuperSteps(no)&#xA;&#xA;interface:&#xA;&#x9;var x: integer = 0" name="D">
<regions xmi:id="_N9tACY_MEe6T3aFB4BWOHg" name="main region">
<vertices xsi:type="sgraph:State" xmi:id="_QsHt0I_MEe6T3aFB4BWOHg" name="Orthogonal" incomingTransitions="_k403sI_MEe6T3aFB4BWOHg">
<regions xmi:id="_QsIU4o_MEe6T3aFB4BWOHg" name="r1">
<vertices xsi:type="sgraph:State" xmi:id="_N9tACo_MEe6T3aFB4BWOHg" name="Temp" incomingTransitions="_N9tm54_MEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_N9tm0Y_MEe6T3aFB4BWOHg" specification="[x==0]" target="_N9tm34_MEe6T3aFB4BWOHg"/>
<outgoingTransitions xmi:id="_N9tm2I_MEe6T3aFB4BWOHg" specification="[x==1]" target="_N9tm4Y_MEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:Entry" xmi:id="_N9tm44_MEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_N9tm5I_MEe6T3aFB4BWOHg" specification="" target="_N9tm5Y_MEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:State" xmi:id="_N9tm4Y_MEe6T3aFB4BWOHg" name="One" incomingTransitions="_N9tm2I_MEe6T3aFB4BWOHg"/>
<vertices xsi:type="sgraph:State" xmi:id="_N9tm5Y_MEe6T3aFB4BWOHg" name="Initial" incomingTransitions="_N9tm5I_MEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_N9tm54_MEe6T3aFB4BWOHg" specification="after 1s / x += 1" target="_N9tACo_MEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:State" xmi:id="_N9tm34_MEe6T3aFB4BWOHg" name="Zero" incomingTransitions="_N9tm0Y_MEe6T3aFB4BWOHg"/>
</regions>
<regions xmi:id="_QsIU44_MEe6T3aFB4BWOHg" name="r2">
<vertices xsi:type="sgraph:State" xmi:id="_TQfIAI_MEe6T3aFB4BWOHg" name="S" incomingTransitions="_TwoAoI_MEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_U0c1II_MEe6T3aFB4BWOHg" specification="after 5s" target="_WFfmQI_MEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:Entry" xmi:id="_TdK5II_MEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_TwoAoI_MEe6T3aFB4BWOHg" specification="" target="_TQfIAI_MEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:State" xmi:id="_WFfmQI_MEe6T3aFB4BWOHg" name="T" incomingTransitions="_U0c1II_MEe6T3aFB4BWOHg"/>
</regions>
</vertices>
<vertices xsi:type="sgraph:Entry" xmi:id="_kkXqoI_MEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_k403sI_MEe6T3aFB4BWOHg" specification="" target="_QsHt0I_MEe6T3aFB4BWOHg"/>
</vertices>
</regions>
</sgraph:Statechart>
<notation:Diagram xmi:id="_ZkIy0I-JEe6T3aFB4BWOHg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_Zj_B0I-JEe6T3aFB4BWOHg" measurementUnit="Pixel">
<children xsi:type="notation:Shape" xmi:id="_ZkIy-4-JEe6T3aFB4BWOHg" type="StatechartText" fontName="Verdana" lineColor="4210752">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy_I-JEe6T3aFB4BWOHg" type="StatechartName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy_Y-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy_o-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy_4-JEe6T3aFB4BWOHg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAI-JEe6T3aFB4BWOHg"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAY-JEe6T3aFB4BWOHg" x="10" y="10" width="200" height="400"/>
</children>
<children xmi:id="_N9s_wY_MEe6T3aFB4BWOHg" type="Region" element="_N9tACY_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9s_wo_MEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_w4_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9s_xI_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_N9s_xY_MEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xsi:type="notation:Shape" xmi:id="_N9tAAI_MEe6T3aFB4BWOHg" type="Note" fontName="Verdana" description="1) Run the simulation. What happens at time == 5s ?&#xA;2) Explain." fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
<children xsi:type="notation:BasicDecorationNode" xmi:id="_N9tAAY_MEe6T3aFB4BWOHg" type="DiagramName">
<element xsi:nil="true"/>
</children>
<children xsi:type="notation:BasicDecorationNode" xmi:id="_N9tAAo_MEe6T3aFB4BWOHg" type="Description">
<element xsi:nil="true"/>
</children>
<styles xsi:type="notation:TextStyle" xmi:id="_N9tAA4_MEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:LineTypeStyle" xmi:id="_N9tABI_MEe6T3aFB4BWOHg"/>
<element xsi:nil="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9tABY_MEe6T3aFB4BWOHg" x="424" y="411" width="337" height="88"/>
</children>
<children xmi:id="_QsI78I_MEe6T3aFB4BWOHg" type="State" element="_QsHt0I_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_QsJjAI_MEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_QsJjAY_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_QsJjAo_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_QsJjA4_MEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_QsJjBI_MEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_QsJjBY_MEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_QsJjBo_MEe6T3aFB4BWOHg" type="StateFigureCompartment">
<children xmi:id="_QsKxII_MEe6T3aFB4BWOHg" type="Region" element="_QsIU4o_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_QsKxI4_MEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_QsLYMI_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_QsLYMY_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_QsLYMo_MEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xmi:id="_N9s_xo_MEe6T3aFB4BWOHg" type="State" element="_N9tACo_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9s_x4_MEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_yI_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9s_yY_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_N9s_yo_MEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_N9s_y4_MEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_zI_MEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_N9s_zY_MEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_zo_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N9s_z4_MEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_N9s_0I_MEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_0Y_MEe6T3aFB4BWOHg" x="236" y="88" width="68" height="53"/>
</children>
<children xmi:id="_N9s_6o_MEe6T3aFB4BWOHg" type="Entry" element="_N9tm44_MEe6T3aFB4BWOHg">
<children xmi:id="_N9s_64_MEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_N9s_7I_MEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_7Y_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9s_7o_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_74_MEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_8I_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_8Y_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_N9s_8o_MEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_84_MEe6T3aFB4BWOHg" x="27" y="29" width="15" height="15"/>
</children>
<children xmi:id="_N9s_3o_MEe6T3aFB4BWOHg" type="State" element="_N9tm4Y_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9s_34_MEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_4I_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9s_4Y_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_N9s_4o_MEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_N9s_44_MEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_5I_MEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_N9s_5Y_MEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_5o_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N9s_54_MEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_N9s_6I_MEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_6Y_MEe6T3aFB4BWOHg" x="457" y="161" width="40" height="53"/>
</children>
<children xmi:id="_N9s_9I_MEe6T3aFB4BWOHg" type="State" element="_N9tm5Y_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9s_9Y_MEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_9o_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9s_94_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_N9s_-I_MEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_N9s_-Y_MEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_-o_MEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_N9s_-4_MEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s__I_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N9s__Y_MEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_N9s__o_MEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s__4_MEe6T3aFB4BWOHg" x="22" y="81" width="50" height="53"/>
</children>
<children xmi:id="_N9s_0o_MEe6T3aFB4BWOHg" type="State" element="_N9tm34_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9s_04_MEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_1I_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9s_1Y_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_N9s_1o_MEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_N9s_14_MEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_2I_MEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_N9s_2Y_MEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9s_2o_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N9s_24_MEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_N9s_3I_MEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9s_3Y_MEe6T3aFB4BWOHg" x="452" y="49" width="40" height="53"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_QsLYM4_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_QsKxIY_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_QsKxIo_MEe6T3aFB4BWOHg"/>
</children>
<children xmi:id="_QsLYNI_MEe6T3aFB4BWOHg" type="Region" element="_QsIU44_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_QsLYN4_MEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_QsLYOI_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_QsLYOY_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_QsLYOo_MEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xmi:id="_TQfvEI_MEe6T3aFB4BWOHg" type="State" element="_TQfIAI_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_TQfvFI_MEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_TQfvFY_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_TQfvFo_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_TQfvF4_MEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_TQfvGI_MEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_TQfvGY_MEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_TQfvGo_MEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_TQfvEY_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_TQfvEo_MEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_TQfvG4_MEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_TQfvE4_MEe6T3aFB4BWOHg" x="110" y="84" width="40" height="53"/>
</children>
<children xmi:id="_TdMHQI_MEe6T3aFB4BWOHg" type="Entry" element="_TdK5II_MEe6T3aFB4BWOHg">
<children xmi:id="_TdMHRI_MEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_TdMHR4_MEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_TdMHSI_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_TdMHSY_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_TdMHRY_MEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_TdMHRo_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_TdMHQY_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_TdMHQo_MEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_TdMHQ4_MEe6T3aFB4BWOHg" x="122" y="48" width="15" height="15"/>
</children>
<children xmi:id="_WFgNUI_MEe6T3aFB4BWOHg" type="State" element="_WFfmQI_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_WFg0YI_MEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_WFg0YY_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_WFg0Yo_MEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_WFg0Y4_MEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_WFg0ZI_MEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_WFg0ZY_MEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_WFg0Zo_MEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_WFgNUY_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_WFgNUo_MEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_WFg0Z4_MEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_WFgNU4_MEe6T3aFB4BWOHg" x="110" y="196" width="40" height="53"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_QsLYO4_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_QsLYNY_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_QsLYNo_MEe6T3aFB4BWOHg"/>
</children>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_QsI78Y_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_QsI78o_MEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_QsJjB4_MEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_QsI784_MEe6T3aFB4BWOHg" x="80" y="9" width="1046" height="365"/>
</children>
<children xmi:id="_kkY4wI_MEe6T3aFB4BWOHg" type="Entry" element="_kkXqoI_MEe6T3aFB4BWOHg">
<children xmi:id="_kkY4xI_MEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_kkY4x4_MEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_kkY4yI_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_kkZf0I_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_kkY4xY_MEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_kkY4xo_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_kkY4wY_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_kkY4wo_MEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_kkY4w4_MEe6T3aFB4BWOHg" x="34" y="42"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9tABo_MEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9tAB4_MEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_N9tACI_MEe6T3aFB4BWOHg" x="66" y="24" width="1228" height="586"/>
</children>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_ZkIzAo-JEe6T3aFB4BWOHg" name="inlineDefinitionSection"/>
<styles xsi:type="notation:DiagramStyle" xmi:id="_ZkIzA4-JEe6T3aFB4BWOHg"/>
<edges xmi:id="_N9uN4I_MEe6T3aFB4BWOHg" type="Transition" element="_N9tm5I_MEe6T3aFB4BWOHg" source="_N9s_6o_MEe6T3aFB4BWOHg" target="_N9s_9I_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9uN4Y_MEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9uN4o_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9uN44_MEe6T3aFB4BWOHg" x="6"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_N9uN5I_MEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N9uN5Y_MEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_N9uN5o_MEe6T3aFB4BWOHg" points="[1, 6, -12, -65]$[1, 45, -12, -26]"/>
</edges>
<edges xmi:id="_N9uN54_MEe6T3aFB4BWOHg" type="Transition" element="_N9tm0Y_MEe6T3aFB4BWOHg" source="_N9s_xo_MEe6T3aFB4BWOHg" target="_N9s_0o_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9uN6I_MEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9uN6Y_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9uN6o_MEe6T3aFB4BWOHg" x="13" y="-35"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_N9uN64_MEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N9uN7I_MEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_N9uN7Y_MEe6T3aFB4BWOHg" points="[5, -5, -164, 45]$[78, -5, -91, 45]$[78, -54, -91, -4]$[153, -54, -16, -4]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N9uN7o_MEe6T3aFB4BWOHg" id="(0.94,0.39622641509433965)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N9uN74_MEe6T3aFB4BWOHg" id="(0.4,0.18867924528301888)"/>
</edges>
<edges xmi:id="_N9uN8I_MEe6T3aFB4BWOHg" type="Transition" element="_N9tm2I_MEe6T3aFB4BWOHg" source="_N9s_xo_MEe6T3aFB4BWOHg" target="_N9s_3o_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9uN8Y_MEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9uN8o_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9uN84_MEe6T3aFB4BWOHg" x="12" y="30"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_N9uN9I_MEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N9uN9Y_MEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_N9uN9o_MEe6T3aFB4BWOHg" points="[10, -2, -173, -63]$[85, -2, -98, -63]$[85, 46, -98, -15]$[163, 46, -20, -15]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N9uN94_MEe6T3aFB4BWOHg" id="(0.86,0.7169811320754716)"/>
</edges>
<edges xmi:id="_N9uN-I_MEe6T3aFB4BWOHg" type="Transition" element="_N9tm54_MEe6T3aFB4BWOHg" source="_N9s_9I_MEe6T3aFB4BWOHg" target="_N9s_xo_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_N9uN-Y_MEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_N9uN-o_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_N9uN-4_MEe6T3aFB4BWOHg" x="10" y="-17"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_N9uN_I_MEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_N9uN_Y_MEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_N9uN_o_MEe6T3aFB4BWOHg" points="[4, -2, -198, -7]$[168, -2, -34, -7]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N9uN_4_MEe6T3aFB4BWOHg" id="(0.92,0.5283018867924528)"/>
</edges>
<edges xmi:id="_TwpOwI_MEe6T3aFB4BWOHg" type="Transition" element="_TwoAoI_MEe6T3aFB4BWOHg" source="_TdMHQI_MEe6T3aFB4BWOHg" target="_TQfvEI_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_Twp10I_MEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_Twp10Y_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_Twp10o_MEe6T3aFB4BWOHg" x="-10" y="6"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_TwpOwY_MEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_TwpOw4_MEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_TwpOwo_MEe6T3aFB4BWOHg" points="[1, 6, -9, -33]$[1, 29, -9, -10]"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_TwrD8I_MEe6T3aFB4BWOHg" id="(0.7377049180327869,0.18867924528301888)"/>
</edges>
<edges xmi:id="_U0eDQI_MEe6T3aFB4BWOHg" type="Transition" element="_U0c1II_MEe6T3aFB4BWOHg" source="_TQfvEI_MEe6T3aFB4BWOHg" target="_WFgNUI_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_U0eDRI_MEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_U0eDRY_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_U0eDRo_MEe6T3aFB4BWOHg" x="-1" y="42"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_U0eDQY_MEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_U0eDQ4_MEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_U0eDQo_MEe6T3aFB4BWOHg" points="[-12, 9, -1, -85]$[-12, 68, -1, -26]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_U0fRYI_MEe6T3aFB4BWOHg" id="(0.775,0.8301886792452831)"/>
</edges>
<edges xmi:id="_k403sY_MEe6T3aFB4BWOHg" type="Transition" element="_k403sI_MEe6T3aFB4BWOHg" source="_kkY4wI_MEe6T3aFB4BWOHg" target="_QsI78I_MEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_k41ewI_MEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_k41ewY_MEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_k41ewo_MEe6T3aFB4BWOHg" y="10"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_k403so_MEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_k403tI_MEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_k403s4_MEe6T3aFB4BWOHg" points="[5, -5, -57, 0]$[39, -12, -23, -7]"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_k42F0I_MEe6T3aFB4BWOHg" id="(0.02198852772466539,0.0958904109589041)"/>
</edges>
</notation:Diagram>
</xmi:XMI>

View file

@ -0,0 +1,227 @@
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:sgraph="http://www.yakindu.org/sct/sgraph/2.0.0">
<sgraph:Statechart xmi:id="_Zj_B0I-JEe6T3aFB4BWOHg" specification="@EventDriven&#xA;@SuperSteps(no)&#xA;&#xA;interface:&#xA;&#x9;out event x&#xA;&#x9;out event y&#xA;&#x9;var v: integer = 0" name="E">
<regions xmi:id="_ZkFIc4-JEe6T3aFB4BWOHg" name="main region">
<vertices xsi:type="sgraph:State" xmi:id="__L4BcI-PEe6T3aFB4BWOHg" name="OrthogonalState" incomingTransitions="_ezrVoI-QEe6T3aFB4BWOHg">
<regions xmi:id="__L5Pko-PEe6T3aFB4BWOHg" name="r1">
<vertices xsi:type="sgraph:State" xmi:id="_ZkFvgI-JEe6T3aFB4BWOHg" name="StateA" incomingTransitions="_ZkFIdY-JEe6T3aFB4BWOHg _3l5WQI-JEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_3l5WQI-JEe6T3aFB4BWOHg" specification="[v==0] / raise x" target="_ZkFvgI-JEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:Entry" xmi:id="_ZkFIdI-JEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_ZkFIdY-JEe6T3aFB4BWOHg" target="_ZkFvgI-JEe6T3aFB4BWOHg"/>
</vertices>
</regions>
<regions xmi:id="__L5Pk4-PEe6T3aFB4BWOHg" name="r2">
<vertices xsi:type="sgraph:State" xmi:id="_JbfQEI-QEe6T3aFB4BWOHg" name="StateB" incomingTransitions="_KR1pQI-QEe6T3aFB4BWOHg _MhLOoI-QEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_MhLOoI-QEe6T3aFB4BWOHg" specification="after 1s / raise y" target="_JbfQEI-QEe6T3aFB4BWOHg"/>
</vertices>
<vertices xsi:type="sgraph:Entry" xmi:id="_Jzb2AI-QEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_KR1pQI-QEe6T3aFB4BWOHg" specification="" target="_JbfQEI-QEe6T3aFB4BWOHg"/>
</vertices>
</regions>
</vertices>
<vertices xsi:type="sgraph:Entry" xmi:id="_ePcnMI-QEe6T3aFB4BWOHg">
<outgoingTransitions xmi:id="_ezrVoI-QEe6T3aFB4BWOHg" specification="" target="__L4BcI-PEe6T3aFB4BWOHg"/>
</vertices>
</regions>
</sgraph:Statechart>
<notation:Diagram xmi:id="_ZkIy0I-JEe6T3aFB4BWOHg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_Zj_B0I-JEe6T3aFB4BWOHg" measurementUnit="Pixel">
<children xmi:id="_ZkIy0Y-JEe6T3aFB4BWOHg" type="Region" element="_ZkFIc4-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy0o-JEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy04-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy1I-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy1Y-JEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xsi:type="notation:Shape" xmi:id="_-jdlUI-JEe6T3aFB4BWOHg" type="Note" fontName="Verdana" description="When running this model, the output trace will be as follows:&#xA; 1s : x&#xA; 1s : y&#xA; 2s: x&#xA; 2s: y&#xA; ...&#xA;&#xA;1) Why does 'x' only fire when 'y' fires?&#xA;2) Why does 'x' always occur before 'y'?" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
<children xsi:type="notation:BasicDecorationNode" xmi:id="_-jezcI-JEe6T3aFB4BWOHg" type="DiagramName">
<element xsi:nil="true"/>
</children>
<children xsi:type="notation:BasicDecorationNode" xmi:id="_-jezcY-JEe6T3aFB4BWOHg" type="Description">
<element xsi:nil="true"/>
</children>
<styles xsi:type="notation:TextStyle" xmi:id="_-jdlUY-JEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:LineTypeStyle" xmi:id="_-jdlUo-JEe6T3aFB4BWOHg"/>
<element xsi:nil="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_-jdlU4-JEe6T3aFB4BWOHg" x="310" y="363" width="356" height="222"/>
</children>
<children xmi:id="__L52oI-PEe6T3aFB4BWOHg" type="State" element="__L4BcI-PEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="__L6dsI-PEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="__L6dsY-PEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="__L6dso-PEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="__L6ds4-PEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="__L6dtI-PEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="__L6dtY-PEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="__L6dto-PEe6T3aFB4BWOHg" type="StateFigureCompartment">
<children xmi:id="__L7r0I-PEe6T3aFB4BWOHg" type="Region" element="__L5Pko-PEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="__L7r04-PEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="__L7r1I-PEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="__L7r1Y-PEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="__L7r1o-PEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xmi:id="_ZkIy4I-JEe6T3aFB4BWOHg" type="State" element="_ZkFvgI-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy4Y-JEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy4o-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy44-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_ZkIy5I-JEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_ZkIy5Y-JEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy5o-JEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_ZkIy54-JEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy6I-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_ZkIy6Y-JEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_ZkIy6o-JEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy64-JEe6T3aFB4BWOHg" x="40" y="63" width="99" height="53"/>
</children>
<children xmi:id="_ZkIy1o-JEe6T3aFB4BWOHg" type="Entry" element="_ZkFIdI-JEe6T3aFB4BWOHg">
<children xmi:id="_ZkIy14-JEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy2I-JEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy2Y-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy2o-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy24-JEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy3I-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy3Y-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_ZkIy3o-JEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy34-JEe6T3aFB4BWOHg" x="45" y="1" width="15" height="15"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="__L7r14-PEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="__L7r0Y-PEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="__L7r0o-PEe6T3aFB4BWOHg"/>
</children>
<children xmi:id="__L7r2I-PEe6T3aFB4BWOHg" type="Region" element="__L5Pk4-PEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="__L7r24-PEe6T3aFB4BWOHg" type="RegionName">
<styles xsi:type="notation:ShapeStyle" xmi:id="__L7r3I-PEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="__L7r3Y-PEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="__L7r3o-PEe6T3aFB4BWOHg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
<children xmi:id="_Jbf3II-QEe6T3aFB4BWOHg" type="State" element="_JbfQEI-QEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_JbgeMI-QEe6T3aFB4BWOHg" type="StateName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_JbgeMY-QEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_JbgeMo-QEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Compartment" xmi:id="_JbgeM4-QEe6T3aFB4BWOHg" type="StateTextCompartment">
<children xsi:type="notation:Shape" xmi:id="_JbgeNI-QEe6T3aFB4BWOHg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_JbgeNY-QEe6T3aFB4BWOHg"/>
</children>
</children>
<children xsi:type="notation:Compartment" xmi:id="_JbgeNo-QEe6T3aFB4BWOHg" type="StateFigureCompartment"/>
<styles xsi:type="notation:ShapeStyle" xmi:id="_Jbf3IY-QEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="_Jbf3Io-QEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_JbgeN4-QEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_Jbf3I4-QEe6T3aFB4BWOHg" x="95" y="63" width="58" height="53"/>
</children>
<children xmi:id="_JzcdEI-QEe6T3aFB4BWOHg" type="Entry" element="_Jzb2AI-QEe6T3aFB4BWOHg">
<children xmi:id="_JzcdFI-QEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_JzdEII-QEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_JzdEIY-QEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_JzdEIo-QEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_JzcdFY-QEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_JzcdFo-QEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_JzcdEY-QEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_JzcdEo-QEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_JzcdE4-QEe6T3aFB4BWOHg" x="116" y="17"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="__L7r34-PEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="__L7r2Y-PEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="__L7r2o-PEe6T3aFB4BWOHg"/>
</children>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="__L52oY-PEe6T3aFB4BWOHg" fontName="Verdana" fillColor="15720400" lineColor="12632256"/>
<styles xsi:type="notation:FontStyle" xmi:id="__L52oo-PEe6T3aFB4BWOHg"/>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="__L6dt4-PEe6T3aFB4BWOHg" name="isHorizontal" booleanValue="true"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="__L52o4-PEe6T3aFB4BWOHg" x="55" y="26" width="828" height="289"/>
</children>
<children xmi:id="_ePd1UI-QEe6T3aFB4BWOHg" type="Entry" element="_ePcnMI-QEe6T3aFB4BWOHg">
<children xmi:id="_ePecYI-QEe6T3aFB4BWOHg" type="BorderItemLabelContainer">
<children xsi:type="notation:DecorationNode" xmi:id="_ePecY4-QEe6T3aFB4BWOHg" type="BorderItemLabel">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ePecZI-QEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ePecZY-QEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ePecYY-QEe6T3aFB4BWOHg" fontName="Verdana" lineColor="4210752"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ePecYo-QEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ePd1UY-QEe6T3aFB4BWOHg" fontName="Verdana" fillColor="0" lineColor="16777215"/>
<styles xsi:type="notation:NamedStyle" xmi:id="_ePd1Uo-QEe6T3aFB4BWOHg" name="allowColors"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ePd1U4-QEe6T3aFB4BWOHg" x="22" y="116"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy-I-JEe6T3aFB4BWOHg"/>
</children>
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy-Y-JEe6T3aFB4BWOHg" fontName="Verdana" fillColor="16448250" lineColor="12632256"/>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIy-o-JEe6T3aFB4BWOHg" x="205" y="10" width="1040" height="667"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy-4-JEe6T3aFB4BWOHg" type="StatechartText" fontName="Verdana" lineColor="4210752">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIy_I-JEe6T3aFB4BWOHg" type="StatechartName">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIy_Y-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIy_o-JEe6T3aFB4BWOHg"/>
</children>
<children xsi:type="notation:Shape" xmi:id="_ZkIy_4-JEe6T3aFB4BWOHg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAI-JEe6T3aFB4BWOHg"/>
</children>
<layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZkIzAY-JEe6T3aFB4BWOHg" x="10" y="10" width="200" height="400"/>
</children>
<styles xsi:type="notation:BooleanValueStyle" xmi:id="_ZkIzAo-JEe6T3aFB4BWOHg" name="inlineDefinitionSection"/>
<styles xsi:type="notation:DiagramStyle" xmi:id="_ZkIzA4-JEe6T3aFB4BWOHg"/>
<edges xmi:id="_ZkIzBI-JEe6T3aFB4BWOHg" type="Transition" element="_ZkFIdY-JEe6T3aFB4BWOHg" source="_ZkIy1o-JEe6T3aFB4BWOHg" target="_ZkIy4I-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ZkIzBY-JEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ZkIzBo-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ZkIzB4-JEe6T3aFB4BWOHg" x="5" y="2"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_ZkIzCI-JEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_ZkIzCY-JEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_ZkIzCo-JEe6T3aFB4BWOHg" points="[-2, 6, -39, -75]$[-2, 55, -39, -26]"/>
</edges>
<edges xmi:id="_3l7ygI-JEe6T3aFB4BWOHg" type="Transition" element="_3l5WQI-JEe6T3aFB4BWOHg" source="_ZkIy4I-JEe6T3aFB4BWOHg" target="_ZkIy4I-JEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_3l7yhI-JEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_3l7yhY-JEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_3l7yho-JEe6T3aFB4BWOHg" x="16" y="-16"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_3l7ygY-JEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_3l7yg4-JEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_3l7ygo-JEe6T3aFB4BWOHg" points="[4, -3, 5, -3]$[4, -3, 5, -3]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_3l9AoI-JEe6T3aFB4BWOHg" id="(0.9393939393939394,0.05660377358490566)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_3l9AoY-JEe6T3aFB4BWOHg" id="(0.9292929292929293,0.05660377358490566)"/>
</edges>
<edges xmi:id="_KR2QUI-QEe6T3aFB4BWOHg" type="Transition" element="_KR1pQI-QEe6T3aFB4BWOHg" source="_JzcdEI-QEe6T3aFB4BWOHg" target="_Jbf3II-QEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_KR2QVI-QEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_KR2QVY-QEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_KR23YI-QEe6T3aFB4BWOHg" x="-14" y="10"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_KR2QUY-QEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_KR2QU4-QEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_KR2QUo-QEe6T3aFB4BWOHg" points="[3, 6, 16, -50]$[3, 39, 16, -17]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_KR4FgI-QEe6T3aFB4BWOHg" id="(0.13333333333333333,0.4666666666666667)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_KR4skI-QEe6T3aFB4BWOHg" id="(0.18032786885245902,0.32075471698113206)"/>
</edges>
<edges xmi:id="_MhLOoY-QEe6T3aFB4BWOHg" type="Transition" element="_MhLOoI-QEe6T3aFB4BWOHg" source="_Jbf3II-QEe6T3aFB4BWOHg" target="_Jbf3II-QEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_MhLOpY-QEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_MhLOpo-QEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_MhLOp4-QEe6T3aFB4BWOHg" x="12" y="11"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_MhLOoo-QEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_MhLOpI-QEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_MhLOo4-QEe6T3aFB4BWOHg" points="[4, 2, 4, 2]$[4, 2, 4, 2]"/>
<sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_MhL1sI-QEe6T3aFB4BWOHg" id="(0.9310344827586207,0.7924528301886793)"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_MhL1sY-QEe6T3aFB4BWOHg" id="(0.9310344827586207,0.7924528301886793)"/>
</edges>
<edges xmi:id="_ezrVoY-QEe6T3aFB4BWOHg" type="Transition" element="_ezrVoI-QEe6T3aFB4BWOHg" source="_ePd1UI-QEe6T3aFB4BWOHg" target="__L52oI-PEe6T3aFB4BWOHg">
<children xsi:type="notation:DecorationNode" xmi:id="_ezr8sI-QEe6T3aFB4BWOHg" type="TransitionExpression">
<styles xsi:type="notation:ShapeStyle" xmi:id="_ezr8sY-QEe6T3aFB4BWOHg"/>
<layoutConstraint xsi:type="notation:Location" xmi:id="_ezr8so-QEe6T3aFB4BWOHg" y="10"/>
</children>
<styles xsi:type="notation:ConnectorStyle" xmi:id="_ezrVoo-QEe6T3aFB4BWOHg" routing="Rectilinear" lineColor="4210752"/>
<styles xsi:type="notation:FontStyle" xmi:id="_ezrVpI-QEe6T3aFB4BWOHg" fontName="Verdana"/>
<bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_ezrVo4-QEe6T3aFB4BWOHg" points="[6, 2, -20, 0]$[26, 2, 0, 0]"/>
<targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_ezsjwI-QEe6T3aFB4BWOHg" id="(0.0,0.34256055363321797)"/>
</edges>
</notation:Diagram>
</xmi:XMI>

241
StartingPoint/srcgen/a.py Normal file
View file

@ -0,0 +1,241 @@
"""Implementation of statechart a.
Generated by itemis CREATE code generator.
"""
import queue
import sys, os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../lib')))
from yakindu.rx import Observable
class A:
"""Implementation of the state machine A.
"""
class State:
""" State Enum
"""
(
main_region_state_a,
null_state
) = range(2)
def __init__(self):
""" Declares all necessary variables including list of states, histories etc.
"""
self.x = None
self.x_observable = Observable()
self.y = None
self.y_observable = Observable()
self.in_event_queue = queue.Queue()
# enumeration of all states:
self.__State = A.State
self.__state_conf_vector_changed = None
self.__state_vector = [None] * 1
for __state_index in range(1):
self.__state_vector[__state_index] = self.State.null_state
# for timed statechart:
self.timer_service = None
self.__time_events = [None] * 2
# initializations:
self.__is_executing = False
def is_active(self):
"""Checks if the state machine is active.
"""
return self.__state_vector[0] is not self.__State.null_state
def is_final(self):
"""Checks if the statemachine is final.
Always returns 'false' since this state machine can never become final.
"""
return False
def is_state_active(self, state):
"""Checks if the state is currently active.
"""
s = state
if s == self.__State.main_region_state_a:
return self.__state_vector[0] == self.__State.main_region_state_a
return False
def time_elapsed(self, event_id):
"""Add time events to in event queue
"""
if event_id in range(2):
self.in_event_queue.put(lambda: self.raise_time_event(event_id))
self.run_cycle()
def raise_time_event(self, event_id):
"""Raise timed events using the event_id.
"""
self.__time_events[event_id] = True
def __execute_queued_event(self, func):
func()
def __get_next_event(self):
if not self.in_event_queue.empty():
return self.in_event_queue.get()
return None
def __entry_action_main_region_state_a(self):
"""Entry action for state 'StateA'..
"""
#Entry action for state 'StateA'.
self.timer_service.set_timer(self, 0, (1 * 1000), False)
self.timer_service.set_timer(self, 1, (2 * 1000), False)
def __exit_action_main_region_state_a(self):
"""Exit action for state 'StateA'..
"""
#Exit action for state 'StateA'.
self.timer_service.unset_timer(self, 0)
self.timer_service.unset_timer(self, 1)
def __enter_sequence_main_region_state_a_default(self):
"""'default' enter sequence for state StateA.
"""
#'default' enter sequence for state StateA
self.__entry_action_main_region_state_a()
self.__state_vector[0] = self.State.main_region_state_a
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_default(self):
"""'default' enter sequence for region main region.
"""
#'default' enter sequence for region main region
self.__react_main_region__entry_default()
def __exit_sequence_main_region_state_a(self):
"""Default exit sequence for state StateA.
"""
#Default exit sequence for state StateA
self.__state_vector[0] = self.State.null_state
self.__exit_action_main_region_state_a()
def __exit_sequence_main_region(self):
"""Default exit sequence for region main region.
"""
#Default exit sequence for region main region
state = self.__state_vector[0]
if state == self.State.main_region_state_a:
self.__exit_sequence_main_region_state_a()
def __react_main_region__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_state_a_default()
def __react(self, transitioned_before):
"""Implementation of __react function.
"""
#State machine reactions.
return transitioned_before
def __main_region_state_a_react(self, transitioned_before):
"""Implementation of __main_region_state_a_react function.
"""
#The reactions of state StateA.
transitioned_after = transitioned_before
if transitioned_after < 0:
if self.__time_events[0]:
self.__exit_sequence_main_region_state_a()
self.x_observable.next()
self.__time_events[0] = False
self.__enter_sequence_main_region_state_a_default()
self.__react(0)
transitioned_after = 0
elif self.__time_events[1]:
self.__exit_sequence_main_region_state_a()
self.y_observable.next()
self.__time_events[1] = False
self.__enter_sequence_main_region_state_a_default()
self.__react(0)
transitioned_after = 0
#If no transition was taken
if transitioned_after == transitioned_before:
#then execute local reactions.
transitioned_after = self.__react(transitioned_before)
return transitioned_after
def __clear_in_events(self):
"""Implementation of __clear_in_events function.
"""
self.__time_events[0] = False
self.__time_events[1] = False
def __micro_step(self):
"""Implementation of __micro_step function.
"""
state = self.__state_vector[0]
if state == self.State.main_region_state_a:
self.__main_region_state_a_react(-1)
def run_cycle(self):
"""Implementation of run_cycle function.
"""
#Performs a 'run to completion' step.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
while condition_0:
self.__micro_step()
self.__clear_in_events()
condition_0 = False
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
self.__is_executing = False
def enter(self):
"""Implementation of enter function.
"""
#Activates the state machine.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
#Default enter sequence for statechart A
self.__enter_sequence_main_region_default()
self.__is_executing = False
def exit(self):
"""Implementation of exit function.
"""
#Deactivates the state machine.
if self.__is_executing:
return
self.__is_executing = True
#Default exit sequence for statechart A
self.__exit_sequence_main_region()
self.__state_vector[0] = self.State.null_state
self.__is_executing = False
def trigger_without_event(self):
"""Implementation of triggerWithoutEvent function.
"""
self.run_cycle()

306
StartingPoint/srcgen/b.py Normal file
View file

@ -0,0 +1,306 @@
"""Implementation of statechart b.
Generated by itemis CREATE code generator.
"""
import queue
import sys, os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../lib')))
from yakindu.rx import Observable
class B:
"""Implementation of the state machine B.
"""
class State:
""" State Enum
"""
(
main_region_outer,
main_region_outer_r1inner,
null_state
) = range(3)
def __init__(self):
""" Declares all necessary variables including list of states, histories etc.
"""
self.outer = None
self.outer_observable = Observable()
self.inner = None
self.inner_observable = Observable()
self.in_event_queue = queue.Queue()
# enumeration of all states:
self.__State = B.State
self.__state_conf_vector_changed = None
self.__state_vector = [None] * 1
for __state_index in range(1):
self.__state_vector[__state_index] = self.State.null_state
# for timed statechart:
self.timer_service = None
self.__time_events = [None] * 2
# initializations:
self.__is_executing = False
def is_active(self):
"""Checks if the state machine is active.
"""
return self.__state_vector[0] is not self.__State.null_state
def is_final(self):
"""Checks if the statemachine is final.
Always returns 'false' since this state machine can never become final.
"""
return False
def is_state_active(self, state):
"""Checks if the state is currently active.
"""
s = state
if s == self.__State.main_region_outer:
return (self.__state_vector[0] >= self.__State.main_region_outer)\
and (self.__state_vector[0] <= self.__State.main_region_outer_r1inner)
if s == self.__State.main_region_outer_r1inner:
return self.__state_vector[0] == self.__State.main_region_outer_r1inner
return False
def time_elapsed(self, event_id):
"""Add time events to in event queue
"""
if event_id in range(2):
self.in_event_queue.put(lambda: self.raise_time_event(event_id))
self.run_cycle()
def raise_time_event(self, event_id):
"""Raise timed events using the event_id.
"""
self.__time_events[event_id] = True
def __execute_queued_event(self, func):
func()
def __get_next_event(self):
if not self.in_event_queue.empty():
return self.in_event_queue.get()
return None
def __entry_action_main_region_outer(self):
"""Entry action for state 'Outer'..
"""
#Entry action for state 'Outer'.
self.timer_service.set_timer(self, 0, (3 * 1000), False)
def __entry_action_main_region_outer_r1_inner(self):
"""Entry action for state 'Inner'..
"""
#Entry action for state 'Inner'.
self.timer_service.set_timer(self, 1, (2 * 1000), False)
def __exit_action_main_region_outer(self):
"""Exit action for state 'Outer'..
"""
#Exit action for state 'Outer'.
self.timer_service.unset_timer(self, 0)
def __exit_action_main_region_outer_r1_inner(self):
"""Exit action for state 'Inner'..
"""
#Exit action for state 'Inner'.
self.timer_service.unset_timer(self, 1)
def __enter_sequence_main_region_outer_default(self):
"""'default' enter sequence for state Outer.
"""
#'default' enter sequence for state Outer
self.__entry_action_main_region_outer()
self.__enter_sequence_main_region_outer_r1_default()
def __enter_sequence_main_region_outer_r1_inner_default(self):
"""'default' enter sequence for state Inner.
"""
#'default' enter sequence for state Inner
self.__entry_action_main_region_outer_r1_inner()
self.__state_vector[0] = self.State.main_region_outer_r1inner
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_default(self):
"""'default' enter sequence for region main region.
"""
#'default' enter sequence for region main region
self.__react_main_region__entry_default()
def __enter_sequence_main_region_outer_r1_default(self):
"""'default' enter sequence for region r1.
"""
#'default' enter sequence for region r1
self.__react_main_region_outer_r1__entry_default()
def __exit_sequence_main_region_outer(self):
"""Default exit sequence for state Outer.
"""
#Default exit sequence for state Outer
self.__exit_sequence_main_region_outer_r1()
self.__state_vector[0] = self.State.null_state
self.__exit_action_main_region_outer()
def __exit_sequence_main_region_outer_r1_inner(self):
"""Default exit sequence for state Inner.
"""
#Default exit sequence for state Inner
self.__state_vector[0] = self.State.main_region_outer
self.__exit_action_main_region_outer_r1_inner()
def __exit_sequence_main_region(self):
"""Default exit sequence for region main region.
"""
#Default exit sequence for region main region
state = self.__state_vector[0]
if state == self.State.main_region_outer:
self.__exit_sequence_main_region_outer()
elif state == self.State.main_region_outer_r1inner:
self.__exit_sequence_main_region_outer_r1_inner()
self.__exit_action_main_region_outer()
def __exit_sequence_main_region_outer_r1(self):
"""Default exit sequence for region r1.
"""
#Default exit sequence for region r1
state = self.__state_vector[0]
if state == self.State.main_region_outer_r1inner:
self.__exit_sequence_main_region_outer_r1_inner()
def __react_main_region_outer_r1__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_outer_r1_inner_default()
def __react_main_region__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_outer_default()
def __react(self, transitioned_before):
"""Implementation of __react function.
"""
#State machine reactions.
return transitioned_before
def __main_region_outer_react(self, transitioned_before):
"""Implementation of __main_region_outer_react function.
"""
#The reactions of state Outer.
transitioned_after = transitioned_before
if transitioned_after < 0:
if self.__time_events[0]:
self.__exit_sequence_main_region_outer()
self.outer_observable.next()
self.__time_events[0] = False
self.__enter_sequence_main_region_outer_default()
self.__react(0)
transitioned_after = 0
#If no transition was taken
if transitioned_after == transitioned_before:
#then execute local reactions.
transitioned_after = self.__react(transitioned_before)
return transitioned_after
def __main_region_outer_r1_inner_react(self, transitioned_before):
"""Implementation of __main_region_outer_r1_inner_react function.
"""
#The reactions of state Inner.
transitioned_after = transitioned_before
if transitioned_after < 0:
if self.__time_events[1]:
self.__exit_sequence_main_region_outer_r1_inner()
self.inner_observable.next()
self.__time_events[1] = False
self.__enter_sequence_main_region_outer_r1_inner_default()
self.__main_region_outer_react(0)
transitioned_after = 0
#If no transition was taken
if transitioned_after == transitioned_before:
#then execute local reactions.
transitioned_after = self.__main_region_outer_react(transitioned_before)
return transitioned_after
def __clear_in_events(self):
"""Implementation of __clear_in_events function.
"""
self.__time_events[0] = False
self.__time_events[1] = False
def __micro_step(self):
"""Implementation of __micro_step function.
"""
state = self.__state_vector[0]
if state == self.State.main_region_outer_r1inner:
self.__main_region_outer_r1_inner_react(-1)
def run_cycle(self):
"""Implementation of run_cycle function.
"""
#Performs a 'run to completion' step.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
while condition_0:
self.__micro_step()
self.__clear_in_events()
condition_0 = False
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
self.__is_executing = False
def enter(self):
"""Implementation of enter function.
"""
#Activates the state machine.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
#Default enter sequence for statechart B
self.__enter_sequence_main_region_default()
self.__is_executing = False
def exit(self):
"""Implementation of exit function.
"""
#Deactivates the state machine.
if self.__is_executing:
return
self.__is_executing = True
#Default exit sequence for statechart B
self.__exit_sequence_main_region()
self.__state_vector[0] = self.State.null_state
self.__is_executing = False
def trigger_without_event(self):
"""Implementation of triggerWithoutEvent function.
"""
self.run_cycle()

332
StartingPoint/srcgen/c.py Normal file
View file

@ -0,0 +1,332 @@
"""Implementation of statechart c.
Generated by itemis CREATE code generator.
"""
import queue
import sys, os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../lib')))
class C:
"""Implementation of the state machine C.
"""
class State:
""" State Enum
"""
(
main_region_temp,
main_region_zero,
main_region_one,
main_region_initial,
null_state
) = range(5)
def __init__(self):
""" Declares all necessary variables including list of states, histories etc.
"""
self.x = None
self.in_event_queue = queue.Queue()
# enumeration of all states:
self.__State = C.State
self.__state_conf_vector_changed = None
self.__state_vector = [None] * 1
for __state_index in range(1):
self.__state_vector[__state_index] = self.State.null_state
# for timed statechart:
self.timer_service = None
self.__time_events = [None] * 1
# initializations:
#Default init sequence for statechart C
self.x = 0
self.__is_executing = False
def is_active(self):
"""Checks if the state machine is active.
"""
return self.__state_vector[0] is not self.__State.null_state
def is_final(self):
"""Checks if the statemachine is final.
Always returns 'false' since this state machine can never become final.
"""
return False
def is_state_active(self, state):
"""Checks if the state is currently active.
"""
s = state
if s == self.__State.main_region_temp:
return self.__state_vector[0] == self.__State.main_region_temp
if s == self.__State.main_region_zero:
return self.__state_vector[0] == self.__State.main_region_zero
if s == self.__State.main_region_one:
return self.__state_vector[0] == self.__State.main_region_one
if s == self.__State.main_region_initial:
return self.__state_vector[0] == self.__State.main_region_initial
return False
def time_elapsed(self, event_id):
"""Add time events to in event queue
"""
if event_id in range(1):
self.in_event_queue.put(lambda: self.raise_time_event(event_id))
self.run_cycle()
def raise_time_event(self, event_id):
"""Raise timed events using the event_id.
"""
self.__time_events[event_id] = True
def __execute_queued_event(self, func):
func()
def __get_next_event(self):
if not self.in_event_queue.empty():
return self.in_event_queue.get()
return None
def __entry_action_main_region_initial(self):
"""Entry action for state 'Initial'..
"""
#Entry action for state 'Initial'.
self.timer_service.set_timer(self, 0, (1 * 1000), False)
def __exit_action_main_region_initial(self):
"""Exit action for state 'Initial'..
"""
#Exit action for state 'Initial'.
self.timer_service.unset_timer(self, 0)
def __enter_sequence_main_region_temp_default(self):
"""'default' enter sequence for state Temp.
"""
#'default' enter sequence for state Temp
self.__state_vector[0] = self.State.main_region_temp
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_zero_default(self):
"""'default' enter sequence for state Zero.
"""
#'default' enter sequence for state Zero
self.__state_vector[0] = self.State.main_region_zero
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_one_default(self):
"""'default' enter sequence for state One.
"""
#'default' enter sequence for state One
self.__state_vector[0] = self.State.main_region_one
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_initial_default(self):
"""'default' enter sequence for state Initial.
"""
#'default' enter sequence for state Initial
self.__entry_action_main_region_initial()
self.__state_vector[0] = self.State.main_region_initial
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_default(self):
"""'default' enter sequence for region main region.
"""
#'default' enter sequence for region main region
self.__react_main_region__entry_default()
def __exit_sequence_main_region_temp(self):
"""Default exit sequence for state Temp.
"""
#Default exit sequence for state Temp
self.__state_vector[0] = self.State.null_state
def __exit_sequence_main_region_zero(self):
"""Default exit sequence for state Zero.
"""
#Default exit sequence for state Zero
self.__state_vector[0] = self.State.null_state
def __exit_sequence_main_region_one(self):
"""Default exit sequence for state One.
"""
#Default exit sequence for state One
self.__state_vector[0] = self.State.null_state
def __exit_sequence_main_region_initial(self):
"""Default exit sequence for state Initial.
"""
#Default exit sequence for state Initial
self.__state_vector[0] = self.State.null_state
self.__exit_action_main_region_initial()
def __exit_sequence_main_region(self):
"""Default exit sequence for region main region.
"""
#Default exit sequence for region main region
state = self.__state_vector[0]
if state == self.State.main_region_temp:
self.__exit_sequence_main_region_temp()
elif state == self.State.main_region_zero:
self.__exit_sequence_main_region_zero()
elif state == self.State.main_region_one:
self.__exit_sequence_main_region_one()
elif state == self.State.main_region_initial:
self.__exit_sequence_main_region_initial()
def __react_main_region__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_initial_default()
def __react(self, transitioned_before):
"""Implementation of __react function.
"""
#State machine reactions.
return transitioned_before
def __main_region_temp_react(self, transitioned_before):
"""Implementation of __main_region_temp_react function.
"""
#The reactions of state Temp.
transitioned_after = transitioned_before
if transitioned_after < 0:
if self.x == 0:
self.__exit_sequence_main_region_temp()
self.__enter_sequence_main_region_zero_default()
self.__react(0)
transitioned_after = 0
elif self.x == 1:
self.__exit_sequence_main_region_temp()
self.__enter_sequence_main_region_one_default()
self.__react(0)
transitioned_after = 0
#If no transition was taken
if transitioned_after == transitioned_before:
#then execute local reactions.
transitioned_after = self.__react(transitioned_before)
return transitioned_after
def __main_region_zero_react(self, transitioned_before):
"""Implementation of __main_region_zero_react function.
"""
#The reactions of state Zero.
transitioned_after = transitioned_before
#Always execute local reactions.
transitioned_after = self.__react(transitioned_before)
return transitioned_after
def __main_region_one_react(self, transitioned_before):
"""Implementation of __main_region_one_react function.
"""
#The reactions of state One.
transitioned_after = transitioned_before
#Always execute local reactions.
transitioned_after = self.__react(transitioned_before)
return transitioned_after
def __main_region_initial_react(self, transitioned_before):
"""Implementation of __main_region_initial_react function.
"""
#The reactions of state Initial.
transitioned_after = transitioned_before
if transitioned_after < 0:
if self.__time_events[0]:
self.__exit_sequence_main_region_initial()
self.x = self.x + 1
self.__time_events[0] = False
self.__enter_sequence_main_region_temp_default()
self.__react(0)
transitioned_after = 0
#If no transition was taken
if transitioned_after == transitioned_before:
#then execute local reactions.
transitioned_after = self.__react(transitioned_before)
return transitioned_after
def __clear_in_events(self):
"""Implementation of __clear_in_events function.
"""
self.__time_events[0] = False
def __micro_step(self):
"""Implementation of __micro_step function.
"""
state = self.__state_vector[0]
if state == self.State.main_region_temp:
self.__main_region_temp_react(-1)
elif state == self.State.main_region_zero:
self.__main_region_zero_react(-1)
elif state == self.State.main_region_one:
self.__main_region_one_react(-1)
elif state == self.State.main_region_initial:
self.__main_region_initial_react(-1)
def run_cycle(self):
"""Implementation of run_cycle function.
"""
#Performs a 'run to completion' step.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
while condition_0:
self.__micro_step()
self.__clear_in_events()
condition_0 = False
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
self.__is_executing = False
def enter(self):
"""Implementation of enter function.
"""
#Activates the state machine.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
#Default enter sequence for statechart C
self.__enter_sequence_main_region_default()
self.__is_executing = False
def exit(self):
"""Implementation of exit function.
"""
#Deactivates the state machine.
if self.__is_executing:
return
self.__is_executing = True
#Default exit sequence for statechart C
self.__exit_sequence_main_region()
self.__state_vector[0] = self.State.null_state
self.__is_executing = False
def trigger_without_event(self):
"""Implementation of triggerWithoutEvent function.
"""
self.run_cycle()

464
StartingPoint/srcgen/d.py Normal file
View file

@ -0,0 +1,464 @@
"""Implementation of statechart d.
Generated by itemis CREATE code generator.
"""
import queue
import sys, os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../lib')))
class D:
"""Implementation of the state machine D.
"""
class State:
""" State Enum
"""
(
main_region_orthogonal,
main_region_orthogonal_r1temp,
main_region_orthogonal_r1one,
main_region_orthogonal_r1initial,
main_region_orthogonal_r1zero,
main_region_orthogonal_r2s,
main_region_orthogonal_r2t,
null_state
) = range(8)
def __init__(self):
""" Declares all necessary variables including list of states, histories etc.
"""
self.x = None
self.in_event_queue = queue.Queue()
# enumeration of all states:
self.__State = D.State
self.__state_conf_vector_changed = None
self.__state_vector = [None] * 2
for __state_index in range(2):
self.__state_vector[__state_index] = self.State.null_state
# for timed statechart:
self.timer_service = None
self.__time_events = [None] * 2
# initializations:
#Default init sequence for statechart D
self.x = 0
self.__is_executing = False
self.__state_conf_vector_position = None
def is_active(self):
"""Checks if the state machine is active.
"""
return self.__state_vector[0] is not self.__State.null_state or self.__state_vector[1] is not self.__State.null_state
def is_final(self):
"""Checks if the statemachine is final.
Always returns 'false' since this state machine can never become final.
"""
return False
def is_state_active(self, state):
"""Checks if the state is currently active.
"""
s = state
if s == self.__State.main_region_orthogonal:
return (self.__state_vector[0] >= self.__State.main_region_orthogonal)\
and (self.__state_vector[0] <= self.__State.main_region_orthogonal_r2t)
if s == self.__State.main_region_orthogonal_r1temp:
return self.__state_vector[0] == self.__State.main_region_orthogonal_r1temp
if s == self.__State.main_region_orthogonal_r1one:
return self.__state_vector[0] == self.__State.main_region_orthogonal_r1one
if s == self.__State.main_region_orthogonal_r1initial:
return self.__state_vector[0] == self.__State.main_region_orthogonal_r1initial
if s == self.__State.main_region_orthogonal_r1zero:
return self.__state_vector[0] == self.__State.main_region_orthogonal_r1zero
if s == self.__State.main_region_orthogonal_r2s:
return self.__state_vector[1] == self.__State.main_region_orthogonal_r2s
if s == self.__State.main_region_orthogonal_r2t:
return self.__state_vector[1] == self.__State.main_region_orthogonal_r2t
return False
def time_elapsed(self, event_id):
"""Add time events to in event queue
"""
if event_id in range(2):
self.in_event_queue.put(lambda: self.raise_time_event(event_id))
self.run_cycle()
def raise_time_event(self, event_id):
"""Raise timed events using the event_id.
"""
self.__time_events[event_id] = True
def __execute_queued_event(self, func):
func()
def __get_next_event(self):
if not self.in_event_queue.empty():
return self.in_event_queue.get()
return None
def __entry_action_main_region_orthogonal_r1_initial(self):
"""Entry action for state 'Initial'..
"""
#Entry action for state 'Initial'.
self.timer_service.set_timer(self, 0, (1 * 1000), False)
def __entry_action_main_region_orthogonal_r2_s(self):
"""Entry action for state 'S'..
"""
#Entry action for state 'S'.
self.timer_service.set_timer(self, 1, (5 * 1000), False)
def __exit_action_main_region_orthogonal_r1_initial(self):
"""Exit action for state 'Initial'..
"""
#Exit action for state 'Initial'.
self.timer_service.unset_timer(self, 0)
def __exit_action_main_region_orthogonal_r2_s(self):
"""Exit action for state 'S'..
"""
#Exit action for state 'S'.
self.timer_service.unset_timer(self, 1)
def __enter_sequence_main_region_orthogonal_default(self):
"""'default' enter sequence for state Orthogonal.
"""
#'default' enter sequence for state Orthogonal
self.__enter_sequence_main_region_orthogonal_r1_default()
self.__enter_sequence_main_region_orthogonal_r2_default()
def __enter_sequence_main_region_orthogonal_r1_temp_default(self):
"""'default' enter sequence for state Temp.
"""
#'default' enter sequence for state Temp
self.__state_vector[0] = self.State.main_region_orthogonal_r1temp
self.__state_conf_vector_position = 0
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_orthogonal_r1_one_default(self):
"""'default' enter sequence for state One.
"""
#'default' enter sequence for state One
self.__state_vector[0] = self.State.main_region_orthogonal_r1one
self.__state_conf_vector_position = 0
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_orthogonal_r1_initial_default(self):
"""'default' enter sequence for state Initial.
"""
#'default' enter sequence for state Initial
self.__entry_action_main_region_orthogonal_r1_initial()
self.__state_vector[0] = self.State.main_region_orthogonal_r1initial
self.__state_conf_vector_position = 0
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_orthogonal_r1_zero_default(self):
"""'default' enter sequence for state Zero.
"""
#'default' enter sequence for state Zero
self.__state_vector[0] = self.State.main_region_orthogonal_r1zero
self.__state_conf_vector_position = 0
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_orthogonal_r2_s_default(self):
"""'default' enter sequence for state S.
"""
#'default' enter sequence for state S
self.__entry_action_main_region_orthogonal_r2_s()
self.__state_vector[1] = self.State.main_region_orthogonal_r2s
self.__state_conf_vector_position = 1
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_orthogonal_r2_t_default(self):
"""'default' enter sequence for state T.
"""
#'default' enter sequence for state T
self.__state_vector[1] = self.State.main_region_orthogonal_r2t
self.__state_conf_vector_position = 1
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_default(self):
"""'default' enter sequence for region main region.
"""
#'default' enter sequence for region main region
self.__react_main_region__entry_default()
def __enter_sequence_main_region_orthogonal_r1_default(self):
"""'default' enter sequence for region r1.
"""
#'default' enter sequence for region r1
self.__react_main_region_orthogonal_r1__entry_default()
def __enter_sequence_main_region_orthogonal_r2_default(self):
"""'default' enter sequence for region r2.
"""
#'default' enter sequence for region r2
self.__react_main_region_orthogonal_r2__entry_default()
def __exit_sequence_main_region_orthogonal_r1_temp(self):
"""Default exit sequence for state Temp.
"""
#Default exit sequence for state Temp
self.__state_vector[0] = self.State.main_region_orthogonal
self.__state_conf_vector_position = 0
def __exit_sequence_main_region_orthogonal_r1_one(self):
"""Default exit sequence for state One.
"""
#Default exit sequence for state One
self.__state_vector[0] = self.State.main_region_orthogonal
self.__state_conf_vector_position = 0
def __exit_sequence_main_region_orthogonal_r1_initial(self):
"""Default exit sequence for state Initial.
"""
#Default exit sequence for state Initial
self.__state_vector[0] = self.State.main_region_orthogonal
self.__state_conf_vector_position = 0
self.__exit_action_main_region_orthogonal_r1_initial()
def __exit_sequence_main_region_orthogonal_r1_zero(self):
"""Default exit sequence for state Zero.
"""
#Default exit sequence for state Zero
self.__state_vector[0] = self.State.main_region_orthogonal
self.__state_conf_vector_position = 0
def __exit_sequence_main_region_orthogonal_r2_s(self):
"""Default exit sequence for state S.
"""
#Default exit sequence for state S
self.__state_vector[1] = self.State.main_region_orthogonal
self.__state_conf_vector_position = 1
self.__exit_action_main_region_orthogonal_r2_s()
def __exit_sequence_main_region_orthogonal_r2_t(self):
"""Default exit sequence for state T.
"""
#Default exit sequence for state T
self.__state_vector[1] = self.State.main_region_orthogonal
self.__state_conf_vector_position = 1
def __exit_sequence_main_region(self):
"""Default exit sequence for region main region.
"""
#Default exit sequence for region main region
state = self.__state_vector[0]
if state == self.State.main_region_orthogonal_r1temp:
self.__exit_sequence_main_region_orthogonal_r1_temp()
elif state == self.State.main_region_orthogonal_r1one:
self.__exit_sequence_main_region_orthogonal_r1_one()
elif state == self.State.main_region_orthogonal_r1initial:
self.__exit_sequence_main_region_orthogonal_r1_initial()
elif state == self.State.main_region_orthogonal_r1zero:
self.__exit_sequence_main_region_orthogonal_r1_zero()
state = self.__state_vector[1]
if state == self.State.main_region_orthogonal_r2s:
self.__exit_sequence_main_region_orthogonal_r2_s()
elif state == self.State.main_region_orthogonal_r2t:
self.__exit_sequence_main_region_orthogonal_r2_t()
def __react_main_region_orthogonal_r1__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_orthogonal_r1_initial_default()
def __react_main_region_orthogonal_r2__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_orthogonal_r2_s_default()
def __react_main_region__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_orthogonal_default()
def __react(self, transitioned_before):
"""Implementation of __react function.
"""
#State machine reactions.
return transitioned_before
def __main_region_orthogonal_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_react function.
"""
#The reactions of state Orthogonal.
transitioned_after = transitioned_before
#Always execute local reactions.
transitioned_after = self.__react(transitioned_before)
return transitioned_after
def __main_region_orthogonal_r1_temp_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_r1_temp_react function.
"""
#The reactions of state Temp.
transitioned_after = transitioned_before
if transitioned_after < 0:
if self.x == 0:
self.__exit_sequence_main_region_orthogonal_r1_temp()
self.__enter_sequence_main_region_orthogonal_r1_zero_default()
transitioned_after = 0
elif self.x == 1:
self.__exit_sequence_main_region_orthogonal_r1_temp()
self.__enter_sequence_main_region_orthogonal_r1_one_default()
transitioned_after = 0
return transitioned_after
def __main_region_orthogonal_r1_one_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_r1_one_react function.
"""
#The reactions of state One.
return transitioned_before
def __main_region_orthogonal_r1_initial_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_r1_initial_react function.
"""
#The reactions of state Initial.
transitioned_after = transitioned_before
if transitioned_after < 0:
if self.__time_events[0]:
self.__exit_sequence_main_region_orthogonal_r1_initial()
self.x = self.x + 1
self.__time_events[0] = False
self.__enter_sequence_main_region_orthogonal_r1_temp_default()
transitioned_after = 0
return transitioned_after
def __main_region_orthogonal_r1_zero_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_r1_zero_react function.
"""
#The reactions of state Zero.
return transitioned_before
def __main_region_orthogonal_r2_s_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_r2_s_react function.
"""
#The reactions of state S.
transitioned_after = transitioned_before
if transitioned_after < 1:
if self.__time_events[1]:
self.__exit_sequence_main_region_orthogonal_r2_s()
self.__time_events[1] = False
self.__enter_sequence_main_region_orthogonal_r2_t_default()
self.__main_region_orthogonal_react(0)
transitioned_after = 1
#If no transition was taken
if transitioned_after == transitioned_before:
#then execute local reactions.
transitioned_after = self.__main_region_orthogonal_react(transitioned_before)
return transitioned_after
def __main_region_orthogonal_r2_t_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_r2_t_react function.
"""
#The reactions of state T.
transitioned_after = transitioned_before
#Always execute local reactions.
transitioned_after = self.__main_region_orthogonal_react(transitioned_before)
return transitioned_after
def __clear_in_events(self):
"""Implementation of __clear_in_events function.
"""
self.__time_events[0] = False
self.__time_events[1] = False
def __micro_step(self):
"""Implementation of __micro_step function.
"""
transitioned = -1
self.__state_conf_vector_position = 0
state = self.__state_vector[0]
if state == self.State.main_region_orthogonal_r1temp:
transitioned = self.__main_region_orthogonal_r1_temp_react(transitioned)
elif state == self.State.main_region_orthogonal_r1one:
transitioned = self.__main_region_orthogonal_r1_one_react(transitioned)
elif state == self.State.main_region_orthogonal_r1initial:
transitioned = self.__main_region_orthogonal_r1_initial_react(transitioned)
elif state == self.State.main_region_orthogonal_r1zero:
transitioned = self.__main_region_orthogonal_r1_zero_react(transitioned)
if self.__state_conf_vector_position < 1:
state = self.__state_vector[1]
if state == self.State.main_region_orthogonal_r2s:
self.__main_region_orthogonal_r2_s_react(transitioned)
elif state == self.State.main_region_orthogonal_r2t:
self.__main_region_orthogonal_r2_t_react(transitioned)
def run_cycle(self):
"""Implementation of run_cycle function.
"""
#Performs a 'run to completion' step.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
while condition_0:
self.__micro_step()
self.__clear_in_events()
condition_0 = False
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
self.__is_executing = False
def enter(self):
"""Implementation of enter function.
"""
#Activates the state machine.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
#Default enter sequence for statechart D
self.__enter_sequence_main_region_default()
self.__is_executing = False
def exit(self):
"""Implementation of exit function.
"""
#Deactivates the state machine.
if self.__is_executing:
return
self.__is_executing = True
#Default exit sequence for statechart D
self.__exit_sequence_main_region()
self.__state_vector[0] = self.State.null_state
self.__state_vector[1] = self.State.null_state
self.__state_conf_vector_position = 1
self.__is_executing = False
def trigger_without_event(self):
"""Implementation of triggerWithoutEvent function.
"""
self.run_cycle()

325
StartingPoint/srcgen/e.py Normal file
View file

@ -0,0 +1,325 @@
"""Implementation of statechart e.
Generated by itemis CREATE code generator.
"""
import queue
import sys, os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '../lib')))
from yakindu.rx import Observable
class E:
"""Implementation of the state machine E.
"""
class State:
""" State Enum
"""
(
main_region_orthogonal_state,
main_region_orthogonal_state_r1state_a,
main_region_orthogonal_state_r2state_b,
null_state
) = range(4)
def __init__(self):
""" Declares all necessary variables including list of states, histories etc.
"""
self.v = None
self.x = None
self.x_observable = Observable()
self.y = None
self.y_observable = Observable()
self.in_event_queue = queue.Queue()
# enumeration of all states:
self.__State = E.State
self.__state_conf_vector_changed = None
self.__state_vector = [None] * 2
for __state_index in range(2):
self.__state_vector[__state_index] = self.State.null_state
# for timed statechart:
self.timer_service = None
self.__time_events = [None] * 1
# initializations:
#Default init sequence for statechart E
self.v = 0
self.__is_executing = False
self.__state_conf_vector_position = None
def is_active(self):
"""Checks if the state machine is active.
"""
return self.__state_vector[0] is not self.__State.null_state or self.__state_vector[1] is not self.__State.null_state
def is_final(self):
"""Checks if the statemachine is final.
Always returns 'false' since this state machine can never become final.
"""
return False
def is_state_active(self, state):
"""Checks if the state is currently active.
"""
s = state
if s == self.__State.main_region_orthogonal_state:
return (self.__state_vector[0] >= self.__State.main_region_orthogonal_state)\
and (self.__state_vector[0] <= self.__State.main_region_orthogonal_state_r2state_b)
if s == self.__State.main_region_orthogonal_state_r1state_a:
return self.__state_vector[0] == self.__State.main_region_orthogonal_state_r1state_a
if s == self.__State.main_region_orthogonal_state_r2state_b:
return self.__state_vector[1] == self.__State.main_region_orthogonal_state_r2state_b
return False
def time_elapsed(self, event_id):
"""Add time events to in event queue
"""
if event_id in range(1):
self.in_event_queue.put(lambda: self.raise_time_event(event_id))
self.run_cycle()
def raise_time_event(self, event_id):
"""Raise timed events using the event_id.
"""
self.__time_events[event_id] = True
def __execute_queued_event(self, func):
func()
def __get_next_event(self):
if not self.in_event_queue.empty():
return self.in_event_queue.get()
return None
def __entry_action_main_region_orthogonal_state_r2_state_b(self):
"""Entry action for state 'StateB'..
"""
#Entry action for state 'StateB'.
self.timer_service.set_timer(self, 0, (1 * 1000), False)
def __exit_action_main_region_orthogonal_state_r2_state_b(self):
"""Exit action for state 'StateB'..
"""
#Exit action for state 'StateB'.
self.timer_service.unset_timer(self, 0)
def __enter_sequence_main_region_orthogonal_state_default(self):
"""'default' enter sequence for state OrthogonalState.
"""
#'default' enter sequence for state OrthogonalState
self.__enter_sequence_main_region_orthogonal_state_r1_default()
self.__enter_sequence_main_region_orthogonal_state_r2_default()
def __enter_sequence_main_region_orthogonal_state_r1_state_a_default(self):
"""'default' enter sequence for state StateA.
"""
#'default' enter sequence for state StateA
self.__state_vector[0] = self.State.main_region_orthogonal_state_r1state_a
self.__state_conf_vector_position = 0
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_orthogonal_state_r2_state_b_default(self):
"""'default' enter sequence for state StateB.
"""
#'default' enter sequence for state StateB
self.__entry_action_main_region_orthogonal_state_r2_state_b()
self.__state_vector[1] = self.State.main_region_orthogonal_state_r2state_b
self.__state_conf_vector_position = 1
self.__state_conf_vector_changed = True
def __enter_sequence_main_region_default(self):
"""'default' enter sequence for region main region.
"""
#'default' enter sequence for region main region
self.__react_main_region__entry_default()
def __enter_sequence_main_region_orthogonal_state_r1_default(self):
"""'default' enter sequence for region r1.
"""
#'default' enter sequence for region r1
self.__react_main_region_orthogonal_state_r1__entry_default()
def __enter_sequence_main_region_orthogonal_state_r2_default(self):
"""'default' enter sequence for region r2.
"""
#'default' enter sequence for region r2
self.__react_main_region_orthogonal_state_r2__entry_default()
def __exit_sequence_main_region_orthogonal_state_r1_state_a(self):
"""Default exit sequence for state StateA.
"""
#Default exit sequence for state StateA
self.__state_vector[0] = self.State.main_region_orthogonal_state
self.__state_conf_vector_position = 0
def __exit_sequence_main_region_orthogonal_state_r2_state_b(self):
"""Default exit sequence for state StateB.
"""
#Default exit sequence for state StateB
self.__state_vector[1] = self.State.main_region_orthogonal_state
self.__state_conf_vector_position = 1
self.__exit_action_main_region_orthogonal_state_r2_state_b()
def __exit_sequence_main_region(self):
"""Default exit sequence for region main region.
"""
#Default exit sequence for region main region
state = self.__state_vector[0]
if state == self.State.main_region_orthogonal_state_r1state_a:
self.__exit_sequence_main_region_orthogonal_state_r1_state_a()
state = self.__state_vector[1]
if state == self.State.main_region_orthogonal_state_r2state_b:
self.__exit_sequence_main_region_orthogonal_state_r2_state_b()
def __react_main_region_orthogonal_state_r1__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_orthogonal_state_r1_state_a_default()
def __react_main_region_orthogonal_state_r2__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_orthogonal_state_r2_state_b_default()
def __react_main_region__entry_default(self):
"""Default react sequence for initial entry .
"""
#Default react sequence for initial entry
self.__enter_sequence_main_region_orthogonal_state_default()
def __react(self, transitioned_before):
"""Implementation of __react function.
"""
#State machine reactions.
return transitioned_before
def __main_region_orthogonal_state_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_state_react function.
"""
#The reactions of state OrthogonalState.
transitioned_after = transitioned_before
#Always execute local reactions.
transitioned_after = self.__react(transitioned_before)
return transitioned_after
def __main_region_orthogonal_state_r1_state_a_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_state_r1_state_a_react function.
"""
#The reactions of state StateA.
transitioned_after = transitioned_before
if transitioned_after < 0:
if self.v == 0:
self.__exit_sequence_main_region_orthogonal_state_r1_state_a()
self.x_observable.next()
self.__enter_sequence_main_region_orthogonal_state_r1_state_a_default()
transitioned_after = 0
return transitioned_after
def __main_region_orthogonal_state_r2_state_b_react(self, transitioned_before):
"""Implementation of __main_region_orthogonal_state_r2_state_b_react function.
"""
#The reactions of state StateB.
transitioned_after = transitioned_before
if transitioned_after < 1:
if self.__time_events[0]:
self.__exit_sequence_main_region_orthogonal_state_r2_state_b()
self.y_observable.next()
self.__time_events[0] = False
self.__enter_sequence_main_region_orthogonal_state_r2_state_b_default()
self.__main_region_orthogonal_state_react(0)
transitioned_after = 1
#If no transition was taken
if transitioned_after == transitioned_before:
#then execute local reactions.
transitioned_after = self.__main_region_orthogonal_state_react(transitioned_before)
return transitioned_after
def __clear_in_events(self):
"""Implementation of __clear_in_events function.
"""
self.__time_events[0] = False
def __micro_step(self):
"""Implementation of __micro_step function.
"""
transitioned = -1
self.__state_conf_vector_position = 0
state = self.__state_vector[0]
if state == self.State.main_region_orthogonal_state_r1state_a:
transitioned = self.__main_region_orthogonal_state_r1_state_a_react(transitioned)
if self.__state_conf_vector_position < 1:
state = self.__state_vector[1]
if state == self.State.main_region_orthogonal_state_r2state_b:
self.__main_region_orthogonal_state_r2_state_b_react(transitioned)
def run_cycle(self):
"""Implementation of run_cycle function.
"""
#Performs a 'run to completion' step.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
while condition_0:
self.__micro_step()
self.__clear_in_events()
condition_0 = False
next_event = self.__get_next_event()
if next_event is not None:
self.__execute_queued_event(next_event)
condition_0 = True
self.__is_executing = False
def enter(self):
"""Implementation of enter function.
"""
#Activates the state machine.
if self.timer_service is None:
raise ValueError('Timer service must be set.')
if self.__is_executing:
return
self.__is_executing = True
#Default enter sequence for statechart E
self.__enter_sequence_main_region_default()
self.__is_executing = False
def exit(self):
"""Implementation of exit function.
"""
#Deactivates the state machine.
if self.__is_executing:
return
self.__is_executing = True
#Default exit sequence for statechart E
self.__exit_sequence_main_region()
self.__state_vector[0] = self.State.null_state
self.__state_vector[1] = self.State.null_state
self.__state_conf_vector_position = 1
self.__is_executing = False
def trigger_without_event(self):
"""Implementation of triggerWithoutEvent function.
"""
self.run_cycle()