瀏覽代碼

YAKHMI-1024, STatechart and Test for static/dynamic Choice Test

malknet42 11 年之前
父節點
當前提交
8abfeb81f7

+ 2 - 0
test-plugins/org.yakindu.sct.test.models/.settings/org.eclipse.core.resources.prefs

@@ -3,6 +3,7 @@ encoding//testmodels/SCTUnit/AlwaysOncycle.sct=UTF-8
 encoding//testmodels/SCTUnit/AssignmentAsExpression.sct=UTF-8
 encoding//testmodels/SCTUnit/Declarations.sct=UTF-8
 encoding//testmodels/SCTUnit/DeepEntry.sct=UTF-8
+encoding//testmodels/SCTUnit/DynamicChoice.sct=UTF-8
 encoding//testmodels/SCTUnit/EnterState.sct=UTF-8
 encoding//testmodels/SCTUnit/ExitOnSelfTransition.sct=UTF-8
 encoding//testmodels/SCTUnit/ExitState.sct=UTF-8
@@ -16,6 +17,7 @@ encoding//testmodels/SCTUnit/LogicalAnd.sct=UTF-8
 encoding//testmodels/SCTUnit/OutEventLifeCycle.sct=UTF-8
 encoding//testmodels/SCTUnit/PerformanceTest.sct=UTF-8
 encoding//testmodels/SCTUnit/STextKeywordsInStatesAndRegions.sct=UTF-8
+encoding//testmodels/SCTUnit/StaticChoice.sct=UTF-8
 encoding//testmodels/SCTUnit/SyncJoin.sct=UTF-8
 encoding//testmodels/SCTUnit/TimedTransitions.sct=UTF-8
 encoding//testmodels/SCTUnit/TransitionWithoutCondition.sct=UTF-8

+ 155 - 0
test-plugins/org.yakindu.sct.test.models/testmodels/SCTUnit/DynamicChoice.sct

@@ -0,0 +1,155 @@
+<?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="_XGQLcHd7EeOs5MmX1Up0pg" specification="interface:&#xD;&#xA;var number : integer&#xD;&#xA;in event reset" name="DynamicChoice">
+    <regions xmi:id="_XGRZknd7EeOs5MmX1Up0pg" name="main region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_XGVrAXd7EeOs5MmX1Up0pg">
+        <outgoingTransitions xmi:id="_XGXgMHd7EeOs5MmX1Up0pg" target="_XGWSFHd7EeOs5MmX1Up0pg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_XGWSFHd7EeOs5MmX1Up0pg" specification="entry / number = 1" name="Start" incomingTransitions="_XGXgMHd7EeOs5MmX1Up0pg">
+        <outgoingTransitions xmi:id="_tK_1AHd7EeOs5MmX1Up0pg" specification=" always /number +=1" target="_rWSWIHd7EeOs5MmX1Up0pg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:Choice" xmi:id="_rWSWIHd7EeOs5MmX1Up0pg" incomingTransitions="_tK_1AHd7EeOs5MmX1Up0pg">
+        <outgoingTransitions xmi:id="_ti9CAHd7EeOs5MmX1Up0pg" specification="[number == 2]" target="_rl-X8Hd7EeOs5MmX1Up0pg"/>
+        <outgoingTransitions xmi:id="_t7cagHd7EeOs5MmX1Up0pg" specification="" target="_r2m08Hd7EeOs5MmX1Up0pg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_rl-X8Hd7EeOs5MmX1Up0pg" name="A" incomingTransitions="_ti9CAHd7EeOs5MmX1Up0pg"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_r2m08Hd7EeOs5MmX1Up0pg" name="B" incomingTransitions="_t7cagHd7EeOs5MmX1Up0pg"/>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_XGRZkHd7EeOs5MmX1Up0pg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_XGQLcHd7EeOs5MmX1Up0pg" measurementUnit="Pixel">
+    <children xmi:id="_XGTOwHd7EeOs5MmX1Up0pg" type="Region" element="_XGRZknd7EeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_XGVD8Hd7EeOs5MmX1Up0pg" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_XGVD8Xd7EeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_XGVD8nd7EeOs5MmX1Up0pg"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_XGVD83d7EeOs5MmX1Up0pg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_XGVrAnd7EeOs5MmX1Up0pg" type="Entry" element="_XGVrAXd7EeOs5MmX1Up0pg">
+          <children xmi:id="_XGVrBXd7EeOs5MmX1Up0pg" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_XGWSEHd7EeOs5MmX1Up0pg" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_XGWSEXd7EeOs5MmX1Up0pg"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_XGWSEnd7EeOs5MmX1Up0pg"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_XGVrBnd7EeOs5MmX1Up0pg" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_XGVrB3d7EeOs5MmX1Up0pg"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_XGVrA3d7EeOs5MmX1Up0pg" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_XGWSE3d7EeOs5MmX1Up0pg" x="143" y="-3"/>
+        </children>
+        <children xmi:id="_XGWSFnd7EeOs5MmX1Up0pg" type="State" element="_XGWSFHd7EeOs5MmX1Up0pg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_XGW5IHd7EeOs5MmX1Up0pg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_XGW5IXd7EeOs5MmX1Up0pg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_XGW5Ind7EeOs5MmX1Up0pg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_XGW5I3d7EeOs5MmX1Up0pg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_XGW5JHd7EeOs5MmX1Up0pg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_XGW5JXd7EeOs5MmX1Up0pg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_XGW5Jnd7EeOs5MmX1Up0pg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_XGWSF3d7EeOs5MmX1Up0pg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_XGWSGHd7EeOs5MmX1Up0pg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_XGW5J3d7EeOs5MmX1Up0pg" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_XGW5KHd7EeOs5MmX1Up0pg" x="79" y="64"/>
+        </children>
+        <children xsi:type="notation:Shape" xmi:id="_rWUyYHd7EeOs5MmX1Up0pg" type="Choice" element="_rWSWIHd7EeOs5MmX1Up0pg" fontName="Verdana" lineColor="4210752">
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_rWUyYXd7EeOs5MmX1Up0pg" x="143" y="199"/>
+        </children>
+        <children xmi:id="_rmBbQHd7EeOs5MmX1Up0pg" type="State" element="_rl-X8Hd7EeOs5MmX1Up0pg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_rmCCUHd7EeOs5MmX1Up0pg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_rmCpYHd7EeOs5MmX1Up0pg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_rmCpYXd7EeOs5MmX1Up0pg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_rmCpYnd7EeOs5MmX1Up0pg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_rmD3gHd7EeOs5MmX1Up0pg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_rmD3gXd7EeOs5MmX1Up0pg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_rmEekHd7EeOs5MmX1Up0pg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_rmBbQXd7EeOs5MmX1Up0pg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_rmBbQnd7EeOs5MmX1Up0pg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_rmFFoHd7EeOs5MmX1Up0pg" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_rmBbQ3d7EeOs5MmX1Up0pg" x="264" y="285"/>
+        </children>
+        <children xmi:id="_r2pRMHd7EeOs5MmX1Up0pg" type="State" element="_r2m08Hd7EeOs5MmX1Up0pg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_r2qfUHd7EeOs5MmX1Up0pg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_r2qfUXd7EeOs5MmX1Up0pg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_r2qfUnd7EeOs5MmX1Up0pg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_r2qfU3d7EeOs5MmX1Up0pg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_r2rGYHd7EeOs5MmX1Up0pg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_r2rGYXd7EeOs5MmX1Up0pg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_r2rtcHd7EeOs5MmX1Up0pg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_r2pRMXd7EeOs5MmX1Up0pg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_r2pRMnd7EeOs5MmX1Up0pg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_r2rtcXd7EeOs5MmX1Up0pg" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_r2pRM3d7EeOs5MmX1Up0pg" x="43" y="285"/>
+        </children>
+        <children xsi:type="notation:Shape" xmi:id="_ZQNhkHd7EeOs5MmX1Up0pg" type="Note" fontName="Verdana" description="dynamic=  State A, static = State B" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+          <children xsi:type="notation:BasicDecorationNode" xmi:id="_ZQPWwHd7EeOs5MmX1Up0pg" type="DiagramName">
+            <element xsi:nil="true"/>
+          </children>
+          <children xsi:type="notation:BasicDecorationNode" xmi:id="_ZQPWwXd7EeOs5MmX1Up0pg" type="Description">
+            <element xsi:nil="true"/>
+          </children>
+          <styles xsi:type="notation:TextStyle" xmi:id="_ZQNhkXd7EeOs5MmX1Up0pg"/>
+          <styles xsi:type="notation:LineTypeStyle" xmi:id="_ZQNhknd7EeOs5MmX1Up0pg"/>
+          <element xsi:nil="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZQNhk3d7EeOs5MmX1Up0pg" x="229" y="-3" width="144" height="45"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_XGVD9Hd7EeOs5MmX1Up0pg"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_XGTOwXd7EeOs5MmX1Up0pg" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_XGVrAHd7EeOs5MmX1Up0pg" x="220" y="10" width="400" height="400"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_XGYHRHd7EeOs5MmX1Up0pg" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_XGYuUHd7EeOs5MmX1Up0pg" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_XGYuUXd7EeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_XGYuUnd7EeOs5MmX1Up0pg"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_XGYuU3d7EeOs5MmX1Up0pg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_XGYuVHd7EeOs5MmX1Up0pg"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_XGYuVXd7EeOs5MmX1Up0pg" x="10" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_XGRZkXd7EeOs5MmX1Up0pg"/>
+    <edges xmi:id="_XGXgMXd7EeOs5MmX1Up0pg" type="Transition" element="_XGXgMHd7EeOs5MmX1Up0pg" source="_XGVrAnd7EeOs5MmX1Up0pg" target="_XGWSFnd7EeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_XGYHQXd7EeOs5MmX1Up0pg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_XGYHQnd7EeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_XGYHQ3d7EeOs5MmX1Up0pg" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_XGXgMnd7EeOs5MmX1Up0pg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_XGYHQHd7EeOs5MmX1Up0pg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_XGXgM3d7EeOs5MmX1Up0pg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+    <edges xmi:id="_tLC4UHd7EeOs5MmX1Up0pg" type="Transition" element="_tK_1AHd7EeOs5MmX1Up0pg" source="_XGWSFnd7EeOs5MmX1Up0pg" target="_rWUyYHd7EeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_tLDfYXd7EeOs5MmX1Up0pg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_tLDfYnd7EeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_tLEGcHd7EeOs5MmX1Up0pg" x="-9" y="75"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_tLC4UXd7EeOs5MmX1Up0pg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_tLDfYHd7EeOs5MmX1Up0pg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_tLC4Und7EeOs5MmX1Up0pg" points="[5, 24, -20, -99]$[24, 116, -1, -7]"/>
+    </edges>
+    <edges xmi:id="_tjAFUHd7EeOs5MmX1Up0pg" type="Transition" element="_ti9CAHd7EeOs5MmX1Up0pg" source="_rWUyYHd7EeOs5MmX1Up0pg" target="_rmBbQHd7EeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_tjAsYXd7EeOs5MmX1Up0pg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_tjAsYnd7EeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_tjBTcHd7EeOs5MmX1Up0pg" x="23" y="-30"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_tjAFUXd7EeOs5MmX1Up0pg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_tjAsYHd7EeOs5MmX1Up0pg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_tjAFUnd7EeOs5MmX1Up0pg" points="[8, 6, -92, -84]$[118, 90, 18, 0]"/>
+    </edges>
+    <edges xmi:id="_t7fd0Hd7EeOs5MmX1Up0pg" type="Transition" element="_t7cagHd7EeOs5MmX1Up0pg" source="_rWUyYHd7EeOs5MmX1Up0pg" target="_r2pRMHd7EeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_t7gr8Hd7EeOs5MmX1Up0pg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_t7gr8Xd7EeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_t7gr8nd7EeOs5MmX1Up0pg" x="5" y="15"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_t7fd0Xd7EeOs5MmX1Up0pg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_t7gE4Hd7EeOs5MmX1Up0pg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_t7fd0nd7EeOs5MmX1Up0pg" points="[-7, 6, 103, -78]$[-106, 74, 4, -10]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_t7mykHd7EeOs5MmX1Up0pg" id="(0.65,0.22641509433962265)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 158 - 0
test-plugins/org.yakindu.sct.test.models/testmodels/SCTUnit/StaticChoice.sct

@@ -0,0 +1,158 @@
+<?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="_iXFpsHd_EeOs5MmX1Up0pg" specification="interface:&#xD;&#xA;var number : integer&#xD;&#xA;in event reset" name="StaticChoice">
+    <regions xmi:id="_iXGQwnd_EeOs5MmX1Up0pg" name="main region">
+      <vertices xsi:type="sgraph:State" xmi:id="_G_VY8HeAEeOs5MmX1Up0pg" specification="entry / number = 1" name="Start" incomingTransitions="_IpaVIHeAEeOs5MmX1Up0pg">
+        <outgoingTransitions xmi:id="_I_nOoHeAEeOs5MmX1Up0pg" specification="always / number +=1" target="_H_E-sHeAEeOs5MmX1Up0pg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_HPUVsHeAEeOs5MmX1Up0pg" name="B" incomingTransitions="_JWp1oHeAEeOs5MmX1Up0pg"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_Hr8AQHeAEeOs5MmX1Up0pg" name="A" incomingTransitions="_Jo8fgHeAEeOs5MmX1Up0pg"/>
+      <vertices xsi:type="sgraph:Choice" xmi:id="_H_E-sHeAEeOs5MmX1Up0pg" incomingTransitions="_I_nOoHeAEeOs5MmX1Up0pg" kind="static">
+        <outgoingTransitions xmi:id="_JWp1oHeAEeOs5MmX1Up0pg" specification="" target="_HPUVsHeAEeOs5MmX1Up0pg"/>
+        <outgoingTransitions xmi:id="_Jo8fgHeAEeOs5MmX1Up0pg" specification="[number == 2]" target="_Hr8AQHeAEeOs5MmX1Up0pg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:Entry" xmi:id="_IUMTEHeAEeOs5MmX1Up0pg">
+        <outgoingTransitions xmi:id="_IpaVIHeAEeOs5MmX1Up0pg" specification="" target="_G_VY8HeAEeOs5MmX1Up0pg"/>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_iXGQwHd_EeOs5MmX1Up0pg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_iXFpsHd_EeOs5MmX1Up0pg" measurementUnit="Pixel">
+    <children xmi:id="_iXGQw3d_EeOs5MmX1Up0pg" type="Region" element="_iXGQwnd_EeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_iXHe4Hd_EeOs5MmX1Up0pg" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_iXHe4Xd_EeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_iXHe4nd_EeOs5MmX1Up0pg"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_iXHe43d_EeOs5MmX1Up0pg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_G_XOIHeAEeOs5MmX1Up0pg" type="State" element="_G_VY8HeAEeOs5MmX1Up0pg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_G_YcQHeAEeOs5MmX1Up0pg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_G_YcQXeAEeOs5MmX1Up0pg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_G_YcQneAEeOs5MmX1Up0pg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_G_YcQ3eAEeOs5MmX1Up0pg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_G_ZDUHeAEeOs5MmX1Up0pg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_G_ZDUXeAEeOs5MmX1Up0pg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_G_ZqYHeAEeOs5MmX1Up0pg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_G_XOIXeAEeOs5MmX1Up0pg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_G_XOIneAEeOs5MmX1Up0pg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_G_ZqYXeAEeOs5MmX1Up0pg" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_G_XOI3eAEeOs5MmX1Up0pg" x="74" y="77" width="172"/>
+        </children>
+        <children xmi:id="_HPWK4HeAEeOs5MmX1Up0pg" type="State" element="_HPUVsHeAEeOs5MmX1Up0pg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_HPXZAHeAEeOs5MmX1Up0pg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_HPXZAXeAEeOs5MmX1Up0pg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_HPXZAneAEeOs5MmX1Up0pg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_HPXZA3eAEeOs5MmX1Up0pg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_HPYAEHeAEeOs5MmX1Up0pg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_HPYAEXeAEeOs5MmX1Up0pg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_HPYnIHeAEeOs5MmX1Up0pg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_HPWK4XeAEeOs5MmX1Up0pg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_HPWK4neAEeOs5MmX1Up0pg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_HPYnIXeAEeOs5MmX1Up0pg" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_HPWK43eAEeOs5MmX1Up0pg" x="40" y="282"/>
+        </children>
+        <children xmi:id="_Hr91cHeAEeOs5MmX1Up0pg" type="State" element="_Hr8AQHeAEeOs5MmX1Up0pg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_Hr_DkHeAEeOs5MmX1Up0pg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_Hr_DkXeAEeOs5MmX1Up0pg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_Hr_DkneAEeOs5MmX1Up0pg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_Hr_Dk3eAEeOs5MmX1Up0pg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_Hr_qoHeAEeOs5MmX1Up0pg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Hr_qoXeAEeOs5MmX1Up0pg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_HsARsHeAEeOs5MmX1Up0pg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_Hr91cXeAEeOs5MmX1Up0pg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_Hr91cneAEeOs5MmX1Up0pg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_HsARsXeAEeOs5MmX1Up0pg" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Hr91c3eAEeOs5MmX1Up0pg" x="250" y="282"/>
+        </children>
+        <children xsi:type="notation:Shape" xmi:id="_H_Gz4HeAEeOs5MmX1Up0pg" type="Choice" element="_H_E-sHeAEeOs5MmX1Up0pg" fontName="Verdana" lineColor="4210752">
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_H_Gz4XeAEeOs5MmX1Up0pg" x="135" y="212"/>
+        </children>
+        <children xmi:id="_IUOvUHeAEeOs5MmX1Up0pg" type="Entry" element="_IUMTEHeAEeOs5MmX1Up0pg">
+          <children xmi:id="_IUPWYHeAEeOs5MmX1Up0pg" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_IUP9cHeAEeOs5MmX1Up0pg" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_IUQkgHeAEeOs5MmX1Up0pg"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_IUQkgXeAEeOs5MmX1Up0pg"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_IUPWYXeAEeOs5MmX1Up0pg" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_IUPWYneAEeOs5MmX1Up0pg"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_IUOvUXeAEeOs5MmX1Up0pg" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_IUOvUneAEeOs5MmX1Up0pg" x="121" y="7"/>
+        </children>
+        <children xsi:type="notation:Shape" xmi:id="_eTJdsXeAEeOs5MmX1Up0pg" type="Note" fontName="Verdana" description="dynamic=  State A, static = State B" fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+          <children xsi:type="notation:BasicDecorationNode" xmi:id="_eTKEwHeAEeOs5MmX1Up0pg" type="DiagramName">
+            <element xsi:nil="true"/>
+          </children>
+          <children xsi:type="notation:BasicDecorationNode" xmi:id="_eTKEwXeAEeOs5MmX1Up0pg" type="Description">
+            <element xsi:nil="true"/>
+          </children>
+          <styles xsi:type="notation:TextStyle" xmi:id="_eTKEwneAEeOs5MmX1Up0pg"/>
+          <styles xsi:type="notation:LineTypeStyle" xmi:id="_eTKEw3eAEeOs5MmX1Up0pg"/>
+          <element xsi:nil="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_eTKExHeAEeOs5MmX1Up0pg" x="265" y="12" width="144" height="45"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_iXHe5Hd_EeOs5MmX1Up0pg"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_iXGQxHd_EeOs5MmX1Up0pg" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_iXIF8Hd_EeOs5MmX1Up0pg" x="220" y="10" width="445" height="400"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_iXLJR3d_EeOs5MmX1Up0pg" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_iXLwUHd_EeOs5MmX1Up0pg" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_iXLwUXd_EeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_iXLwUnd_EeOs5MmX1Up0pg"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_iXLwU3d_EeOs5MmX1Up0pg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_iXLwVHd_EeOs5MmX1Up0pg"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_iXLwVXd_EeOs5MmX1Up0pg" x="10" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_iXGQwXd_EeOs5MmX1Up0pg"/>
+    <edges xmi:id="_IpcxYHeAEeOs5MmX1Up0pg" type="Transition" element="_IpaVIHeAEeOs5MmX1Up0pg" source="_IUOvUHeAEeOs5MmX1Up0pg" target="_G_XOIHeAEeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_IpdYcHeAEeOs5MmX1Up0pg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_IpdYcXeAEeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_IpdYcneAEeOs5MmX1Up0pg" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_IpcxYXeAEeOs5MmX1Up0pg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_IpcxY3eAEeOs5MmX1Up0pg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_IpcxYneAEeOs5MmX1Up0pg" points="[7, 2, -136, -46]$[145, 39, 2, -9]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_IpiQ8HeAEeOs5MmX1Up0pg" id="(0.32,0.18867924528301888)"/>
+    </edges>
+    <edges xmi:id="_I_pq4HeAEeOs5MmX1Up0pg" type="Transition" element="_I_nOoHeAEeOs5MmX1Up0pg" source="_G_XOIHeAEeOs5MmX1Up0pg" target="_H_Gz4HeAEeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_I_qR8XeAEeOs5MmX1Up0pg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_I_qR8neAEeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_I_qR83eAEeOs5MmX1Up0pg" x="-9" y="79"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_I_pq4XeAEeOs5MmX1Up0pg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_I_qR8HeAEeOs5MmX1Up0pg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_I_pq4neAEeOs5MmX1Up0pg" points="[0, 2, 14, -95]$[-13, 89, 1, -8]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_I_vKcHeAEeOs5MmX1Up0pg" id="(0.45930232558139533,0.9622641509433962)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_I_vxgHeAEeOs5MmX1Up0pg" id="(0.4,0.2)"/>
+    </edges>
+    <edges xmi:id="_JWsR4HeAEeOs5MmX1Up0pg" type="Transition" element="_JWp1oHeAEeOs5MmX1Up0pg" source="_H_Gz4HeAEeOs5MmX1Up0pg" target="_HPWK4HeAEeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_JWtgAHeAEeOs5MmX1Up0pg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_JWtgAXeAEeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_JWtgAneAEeOs5MmX1Up0pg" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_JWsR4XeAEeOs5MmX1Up0pg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_JWs48HeAEeOs5MmX1Up0pg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_JWsR4neAEeOs5MmX1Up0pg" points="[-3, 3, 94, -111]$[-94, 90, 3, -24]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_JWxxcHeAEeOs5MmX1Up0pg" id="(0.2,0.4666666666666667)"/>
+    </edges>
+    <edges xmi:id="_Jo9toHeAEeOs5MmX1Up0pg" type="Transition" element="_Jo8fgHeAEeOs5MmX1Up0pg" source="_H_Gz4HeAEeOs5MmX1Up0pg" target="_Hr91cHeAEeOs5MmX1Up0pg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_Jo-UsHeAEeOs5MmX1Up0pg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_Jo-UsXeAEeOs5MmX1Up0pg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_Jo-UsneAEeOs5MmX1Up0pg" x="26" y="-35"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_Jo9toXeAEeOs5MmX1Up0pg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_Jo9to3eAEeOs5MmX1Up0pg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_Jo9toneAEeOs5MmX1Up0pg" points="[8, 8, -100, -102]$[113, 134, 5, 24]"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 3 - 1
test-plugins/org.yakindu.sct.test.models/tests/AllTests.sctunit

@@ -8,11 +8,12 @@ testsuite AllTests {
 	Declarations, 
 	DeepEntry,
 	DeepHistory,
+	DynamicChoice,
 	EnterState,
 	EntryChoice, 
 	ExitOnSelfTransition, 
 	ExitState,
-//	FeatureCalls,
+	FeatureCalls,
 	Guard, 
 	GuardedEntry, 
 	GuardedExit, 
@@ -34,6 +35,7 @@ testsuite AllTests {
 	StatechartLocalReactions,
 	SimpleHierachy , 
 	StateIsActive , 
+	StaticChoice,
 	STextKeywordsInStatesAndRegions, 
 	StringExpressions, 
 	SyncFork,

+ 11 - 0
test-plugins/org.yakindu.sct.test.models/tests/DynamicChoice.sctunit

@@ -0,0 +1,11 @@
+
+testgroup DynamicChoice for statechart DynamicChoice{
+	
+	test DynamicChoiceTest { 
+		enter		
+		assert active(DynamicChoice.main_region.Start)
+		cycle
+		assert active(DynamicChoice.main_region.A)	 
+	} 
+}
+	

+ 11 - 0
test-plugins/org.yakindu.sct.test.models/tests/StaticChoice.sctunit

@@ -0,0 +1,11 @@
+
+testgroup StaticChoice for statechart StaticChoice{
+	
+	test StaticChoiceTest { 
+		enter
+		assert active(StaticChoice.main_region.Start)
+		cycle
+		//assert active(StaticChoice.main_region.B) // doesn't work atm		 
+	} 
+}
+