Просмотр исходного кода

Add Test_Hierarchy and added some transition actions to Test_Expression statechart

jos.itemis@gmail.com 14 лет назад
Родитель
Сommit
a67633847e

+ 2 - 0
TestScenarios/CMakeLists.txt

@@ -6,6 +6,8 @@ add_definitions( -Wall -O0 -g)
 
 add_subdirectory(src-gen-c/InterfaceTest)
 add_subdirectory(src-gen-c/Test_Expression)
+add_subdirectory(src-gen-c/Test_Hierarchy)
 add_subdirectory(test-c/InterfaceTest)
 add_subdirectory(test-c/Test_Expression)
+add_subdirectory(test-c/Test_Hierarchy)
 

+ 227 - 131
TestScenarios/TestModels/Test_Expression.sct

@@ -1,131 +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/2.0.0" xmlns:stext="http://www.yakindu.org/sct/statechart/SText">
-  <sgraph:Statechart xmi:id="_wXk3MAuIEeGVgpgRVT1uXw" name="Test_Expression" expression="interface:&#xA;in event event1 : integer&#xA;out event event2 : real&#xA;var var1 : integer = 6&#xA;var var2 : integer = -123&#xA;var var3 : real = 19.4&#xA;var var4 : real = - 43.3&#xA;">
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_RIMCMAu4EeGmY4-cgZfupg">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_RIMCMQu4EeGmY4-cgZfupg" name="event1" direction="in" type="integer"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_RIMCMgu4EeGmY4-cgZfupg" name="event2" direction="out" type="real"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_RIMCMwu4EeGmY4-cgZfupg" name="var1" type="integer" initialValue="6"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_RIMCNAu4EeGmY4-cgZfupg" name="var2" type="integer"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_RIMCNQu4EeGmY4-cgZfupg" name="var3" type="real" initialValue="19.4"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_RIMCNgu4EeGmY4-cgZfupg" name="var4" type="real"/>
-    </scopes>
-    <regions xmi:id="_wXmFUguIEeGVgpgRVT1uXw" name="main region">
-      <vertices xsi:type="sgraph:Entry" xmi:id="_wXpIoQuIEeGVgpgRVT1uXw">
-        <outgoingTransitions xmi:id="_wXrk4wuIEeGVgpgRVT1uXw" target="_wXqWwAuIEeGVgpgRVT1uXw"/>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_wXqWwAuIEeGVgpgRVT1uXw" name="state1" incomingTransitions="_wXrk4wuIEeGVgpgRVT1uXw _foN2kAuLEeGVgpgRVT1uXw">
-        <outgoingTransitions xmi:id="_ep-FoAuLEeGVgpgRVT1uXw" expression="event1" target="_dUv_IAuLEeGVgpgRVT1uXw">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_RIVMIAu4EeGmY4-cgZfupg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_RIVMIQu4EeGmY4-cgZfupg" event="_RIMCMQu4EeGmY4-cgZfupg"/>
-          </trigger>
-        </outgoingTransitions>
-        <scopes xmi:id="_RIMCNwu4EeGmY4-cgZfupg"/>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_dUv_IAuLEeGVgpgRVT1uXw" name="state2" incomingTransitions="_ep-FoAuLEeGVgpgRVT1uXw">
-        <outgoingTransitions xmi:id="_foN2kAuLEeGVgpgRVT1uXw" expression="event1" target="_wXqWwAuIEeGVgpgRVT1uXw">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_RIVMIwu4EeGmY4-cgZfupg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_RIVMJAu4EeGmY4-cgZfupg" event="_RIMCMQu4EeGmY4-cgZfupg"/>
-          </trigger>
-        </outgoingTransitions>
-        <scopes xmi:id="_RIVMIgu4EeGmY4-cgZfupg"/>
-      </vertices>
-    </regions>
-  </sgraph:Statechart>
-  <notation:Diagram xmi:id="_wXmFUAuIEeGVgpgRVT1uXw" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_wXk3MAuIEeGVgpgRVT1uXw" measurementUnit="Pixel">
-    <children xmi:id="_wXnTcAuIEeGVgpgRVT1uXw" type="Region" element="_wXmFUguIEeGVgpgRVT1uXw">
-      <children xsi:type="notation:DecorationNode" xmi:id="_wXohkAuIEeGVgpgRVT1uXw" type="RegionName">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_wXohkQuIEeGVgpgRVT1uXw"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_wXohkguIEeGVgpgRVT1uXw"/>
-      </children>
-      <children xsi:type="notation:Shape" xmi:id="_wXohkwuIEeGVgpgRVT1uXw" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
-        <children xmi:id="_wXpIoguIEeGVgpgRVT1uXw" type="Entry" element="_wXpIoQuIEeGVgpgRVT1uXw">
-          <children xmi:id="_wXpvsAuIEeGVgpgRVT1uXw" type="BorderItemLabelContainer">
-            <children xsi:type="notation:DecorationNode" xmi:id="_wXpvswuIEeGVgpgRVT1uXw" type="BorderItemLabel">
-              <styles xsi:type="notation:ShapeStyle" xmi:id="_wXpvtAuIEeGVgpgRVT1uXw"/>
-              <layoutConstraint xsi:type="notation:Location" xmi:id="_wXpvtQuIEeGVgpgRVT1uXw"/>
-            </children>
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_wXpvsQuIEeGVgpgRVT1uXw" fontName="Verdana" lineColor="4210752"/>
-            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXpvsguIEeGVgpgRVT1uXw"/>
-          </children>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_wXpIowuIEeGVgpgRVT1uXw" fontName="Verdana" lineColor="4210752"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXpvtguIEeGVgpgRVT1uXw" x="70" y="20"/>
-        </children>
-        <children xmi:id="_wXqWwguIEeGVgpgRVT1uXw" type="State" element="_wXqWwAuIEeGVgpgRVT1uXw">
-          <children xsi:type="notation:DecorationNode" xmi:id="_wXq90AuIEeGVgpgRVT1uXw" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_wXq90QuIEeGVgpgRVT1uXw"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_wXq90guIEeGVgpgRVT1uXw"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_wXq90wuIEeGVgpgRVT1uXw" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_wXq91AuIEeGVgpgRVT1uXw" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXq91QuIEeGVgpgRVT1uXw"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_wXrk4AuIEeGVgpgRVT1uXw" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_wXqWwwuIEeGVgpgRVT1uXw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_wXqWxAuIEeGVgpgRVT1uXw"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_wXrk4QuIEeGVgpgRVT1uXw"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXrk4guIEeGVgpgRVT1uXw" x="40" y="80"/>
-        </children>
-        <children xmi:id="_dU-ooAuLEeGVgpgRVT1uXw" type="State" element="_dUv_IAuLEeGVgpgRVT1uXw">
-          <children xsi:type="notation:DecorationNode" xmi:id="_dU_PsAuLEeGVgpgRVT1uXw" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_dU_PsQuLEeGVgpgRVT1uXw"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_dU_PsguLEeGVgpgRVT1uXw"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_dU_PswuLEeGVgpgRVT1uXw" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_dU_PtAuLEeGVgpgRVT1uXw" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_dU_PtQuLEeGVgpgRVT1uXw"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_dU_PtguLEeGVgpgRVT1uXw" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_dU-ooQuLEeGVgpgRVT1uXw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_dU-ooguLEeGVgpgRVT1uXw"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_dU_2wAuLEeGVgpgRVT1uXw"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_dU-oowuLEeGVgpgRVT1uXw" x="69" y="228"/>
-        </children>
-        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXohlAuIEeGVgpgRVT1uXw"/>
-      </children>
-      <styles xsi:type="notation:ShapeStyle" xmi:id="_wXnTcQuIEeGVgpgRVT1uXw" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXpIoAuIEeGVgpgRVT1uXw" x="220" y="10" width="400" height="400"/>
-    </children>
-    <children xsi:type="notation:Shape" xmi:id="_wXtaEwuIEeGVgpgRVT1uXw" type="StatechartText" fontName="Verdana" lineColor="4210752">
-      <children xsi:type="notation:DecorationNode" xmi:id="_wXuBIAuIEeGVgpgRVT1uXw" type="StatechartName">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_wXuBIQuIEeGVgpgRVT1uXw"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_wXuBIguIEeGVgpgRVT1uXw"/>
-      </children>
-      <children xsi:type="notation:Shape" xmi:id="_wXuBIwuIEeGVgpgRVT1uXw" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
-        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXuBJAuIEeGVgpgRVT1uXw"/>
-      </children>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXuBJQuIEeGVgpgRVT1uXw" x="10" y="10" width="200" height="400"/>
-    </children>
-    <styles xsi:type="notation:DiagramStyle" xmi:id="_wXmFUQuIEeGVgpgRVT1uXw"/>
-    <edges xmi:id="_wXszAAuIEeGVgpgRVT1uXw" type="Transition" element="_wXrk4wuIEeGVgpgRVT1uXw" source="_wXpIoguIEeGVgpgRVT1uXw" target="_wXqWwguIEeGVgpgRVT1uXw">
-      <children xsi:type="notation:DecorationNode" xmi:id="_wXtaEAuIEeGVgpgRVT1uXw" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_wXtaEQuIEeGVgpgRVT1uXw"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_wXtaEguIEeGVgpgRVT1uXw" y="40"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_wXszAQuIEeGVgpgRVT1uXw" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_wXszAwuIEeGVgpgRVT1uXw" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_wXszAguIEeGVgpgRVT1uXw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:id="_eqGogAuLEeGVgpgRVT1uXw" type="Transition" element="_ep-FoAuLEeGVgpgRVT1uXw" source="_wXqWwguIEeGVgpgRVT1uXw" target="_dU-ooAuLEeGVgpgRVT1uXw">
-      <children xsi:type="notation:DecorationNode" xmi:id="_eqHPkAuLEeGVgpgRVT1uXw" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_eqHPkQuLEeGVgpgRVT1uXw"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_eqHPkguLEeGVgpgRVT1uXw" y="40"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_eqGogQuLEeGVgpgRVT1uXw" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_eqGogwuLEeGVgpgRVT1uXw" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_eqGogguLEeGVgpgRVT1uXw" points="[3, 32, -13, -123]$[5, 160, -11, 5]"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_erE44AuLEeGVgpgRVT1uXw" id="(0.22448979591836735,0.6031746031746031)"/>
-    </edges>
-    <edges xmi:id="_foWZcAuLEeGVgpgRVT1uXw" type="Transition" element="_foN2kAuLEeGVgpgRVT1uXw" source="_dU-ooAuLEeGVgpgRVT1uXw" target="_wXqWwguIEeGVgpgRVT1uXw">
-      <children xsi:type="notation:DecorationNode" xmi:id="_foXAgAuLEeGVgpgRVT1uXw" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_foXAgQuLEeGVgpgRVT1uXw"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_foXAgguLEeGVgpgRVT1uXw" y="40"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_foWZcQuLEeGVgpgRVT1uXw" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_foWZcwuLEeGVgpgRVT1uXw" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_foWZcguLEeGVgpgRVT1uXw" points="[-3, -31, 15, 143]$[-17, -179, 1, -5]"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_fpTbsAuLEeGVgpgRVT1uXw" id="(0.7142857142857143,0.07936507936507936)"/>
-    </edges>
-  </notation:Diagram>
-</xmi:XMI>
+<?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/2.0.0" xmlns:stext="http://www.yakindu.org/sct/statechart/SText">
+  <sgraph:Statechart xmi:id="_wXk3MAuIEeGVgpgRVT1uXw" name="Test_Expression" expression="interface:&#xA;in event event1 : integer&#xA;out event event2 : real&#xA;var var1 : integer = 6&#xA;var var2 : integer = 123&#xA;var var3 : real = 19.4&#xA;var var4 : real = 43.3&#xA;var var5 : boolean = false&#xA;&#xA;interface other:&#xA;var var1 : boolean&#xA;var var2 : real&#xA;var var3 : integer&#xA;&#xA;&#xA;">
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_JFX0ARAmEeGNu4Yy9BB34w">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_JFX0AhAmEeGNu4Yy9BB34w" name="event1" direction="in" type="integer"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_JFX0AxAmEeGNu4Yy9BB34w" name="event2" direction="out" type="real"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_JFX0BBAmEeGNu4Yy9BB34w" name="var1" type="integer" initialValue="6"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_JFX0BRAmEeGNu4Yy9BB34w" name="var2" type="integer" initialValue="123"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_JFX0BhAmEeGNu4Yy9BB34w" name="var3" type="real" initialValue="19.4"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_JFX0BxAmEeGNu4Yy9BB34w" name="var4" type="real" initialValue="43.3"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_JFX0CBAmEeGNu4Yy9BB34w" name="var5" type="boolean" initialValue="false"/>
+    </scopes>
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_JFX0CRAmEeGNu4Yy9BB34w" name="other">
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_JFX0ChAmEeGNu4Yy9BB34w" name="var1" type="boolean"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_JFX0CxAmEeGNu4Yy9BB34w" name="var2" type="real"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_JFX0DBAmEeGNu4Yy9BB34w" name="var3" type="integer"/>
+    </scopes>
+    <regions xmi:id="_wXmFUguIEeGVgpgRVT1uXw" name="main region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_wXpIoQuIEeGVgpgRVT1uXw">
+        <outgoingTransitions xmi:id="_wXrk4wuIEeGVgpgRVT1uXw" target="_wXqWwAuIEeGVgpgRVT1uXw"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_wXqWwAuIEeGVgpgRVT1uXw" name="state1" incomingTransitions="_wXrk4wuIEeGVgpgRVT1uXw _foN2kAuLEeGVgpgRVT1uXw" expression="entry / var3 += var2 * var3;&#xA;exit / var2 = 1;&#xA;exit / var4 = 22.3;">
+        <outgoingTransitions xmi:id="_ep-FoAuLEeGVgpgRVT1uXw" expression="event1[ (other.var1 == true ) || (var5 == false) ] / other.var1 = false;" target="_dUv_IAuLEeGVgpgRVT1uXw">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_JQcbkBAmEeGNu4Yy9BB34w">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_JQcbkRAmEeGNu4Yy9BB34w" event="_JFX0AhAmEeGNu4Yy9BB34w"/>
+            <guardExpression xsi:type="stext:LogicalOrExpression" xmi:id="_JQcbkhAmEeGNu4Yy9BB34w">
+              <leftOperand xsi:type="stext:LogicalRelationExpression" xmi:id="_JQcbkxAmEeGNu4Yy9BB34w" operator="==">
+                <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_JQcblBAmEeGNu4Yy9BB34w" value="_JFX0ChAmEeGNu4Yy9BB34w"/>
+                <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_JQcblRAmEeGNu4Yy9BB34w" value="true"/>
+              </leftOperand>
+              <rightOperand xsi:type="stext:LogicalRelationExpression" xmi:id="_JQcblhAmEeGNu4Yy9BB34w" operator="==">
+                <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_JQcblxAmEeGNu4Yy9BB34w" value="_JFX0CBAmEeGNu4Yy9BB34w"/>
+                <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_JQcbmBAmEeGNu4Yy9BB34w" value="false"/>
+              </rightOperand>
+            </guardExpression>
+          </trigger>
+          <effect xsi:type="stext:ReactionEffect" xmi:id="_JQcbmRAmEeGNu4Yy9BB34w">
+            <actions xsi:type="stext:Assignment" xmi:id="_JQcbmhAmEeGNu4Yy9BB34w" varRef="_JFX0ChAmEeGNu4Yy9BB34w">
+              <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_JQcbmxAmEeGNu4Yy9BB34w" value="false"/>
+            </actions>
+          </effect>
+        </outgoingTransitions>
+        <scopes xmi:id="_JFkBQBAmEeGNu4Yy9BB34w">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_JFkBQRAmEeGNu4Yy9BB34w">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_JFkBQhAmEeGNu4Yy9BB34w">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_JFkBQxAmEeGNu4Yy9BB34w"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_JFkBRBAmEeGNu4Yy9BB34w">
+              <actions xsi:type="stext:Assignment" xmi:id="_JFkBRRAmEeGNu4Yy9BB34w" varRef="_JFX0BhAmEeGNu4Yy9BB34w" operator="+=">
+                <expression xsi:type="stext:NumericalMultiplyDivideExpression" xmi:id="_JFkBRhAmEeGNu4Yy9BB34w">
+                  <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_JFkBRxAmEeGNu4Yy9BB34w" value="_JFX0BRAmEeGNu4Yy9BB34w"/>
+                  <rightOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_JFkoUBAmEeGNu4Yy9BB34w" value="_JFX0BhAmEeGNu4Yy9BB34w"/>
+                </expression>
+              </actions>
+            </effect>
+          </declarations>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_JFkoURAmEeGNu4Yy9BB34w">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_JFkoUhAmEeGNu4Yy9BB34w">
+              <triggers xsi:type="stext:ExitEvent" xmi:id="_JFkoUxAmEeGNu4Yy9BB34w"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_JFkoVBAmEeGNu4Yy9BB34w">
+              <actions xsi:type="stext:Assignment" xmi:id="_JFkoVRAmEeGNu4Yy9BB34w" varRef="_JFX0BRAmEeGNu4Yy9BB34w">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_JFkoVhAmEeGNu4Yy9BB34w" value="1"/>
+              </actions>
+            </effect>
+          </declarations>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_JFkoVxAmEeGNu4Yy9BB34w">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_JFkoWBAmEeGNu4Yy9BB34w">
+              <triggers xsi:type="stext:ExitEvent" xmi:id="_JFkoWRAmEeGNu4Yy9BB34w"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_JFkoWhAmEeGNu4Yy9BB34w">
+              <actions xsi:type="stext:Assignment" xmi:id="_JFkoWxAmEeGNu4Yy9BB34w" varRef="_JFX0BxAmEeGNu4Yy9BB34w">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_JFkoXBAmEeGNu4Yy9BB34w" value="22.3"/>
+              </actions>
+            </effect>
+          </declarations>
+        </scopes>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_dUv_IAuLEeGVgpgRVT1uXw" name="state2" incomingTransitions="_ep-FoAuLEeGVgpgRVT1uXw" expression="entry / var3 /= 5;&#xA;entry / var1 += 1;&#xA;oncycle / var1 += 1;">
+        <outgoingTransitions xmi:id="_foN2kAuLEeGVgpgRVT1uXw" expression="event1[var3 > 0] / var3 = true;" target="_wXqWwAuIEeGVgpgRVT1uXw">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_JRMCcBAmEeGNu4Yy9BB34w">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_JRMCcRAmEeGNu4Yy9BB34w" event="_JFX0AhAmEeGNu4Yy9BB34w"/>
+            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_JRMCchAmEeGNu4Yy9BB34w" operator=">">
+              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_JRMCcxAmEeGNu4Yy9BB34w" value="_JFX0BhAmEeGNu4Yy9BB34w"/>
+              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_JRMCdBAmEeGNu4Yy9BB34w" value="0"/>
+            </guardExpression>
+          </trigger>
+          <effect xsi:type="stext:ReactionEffect" xmi:id="_JRMCdRAmEeGNu4Yy9BB34w">
+            <actions xsi:type="stext:Assignment" xmi:id="_JRMCdhAmEeGNu4Yy9BB34w" varRef="_JFX0BhAmEeGNu4Yy9BB34w">
+              <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_JRMCdxAmEeGNu4Yy9BB34w" value="true"/>
+            </actions>
+          </effect>
+        </outgoingTransitions>
+        <scopes xmi:id="_JQ35YBAmEeGNu4Yy9BB34w">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_JQ35YRAmEeGNu4Yy9BB34w">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_JQ35YhAmEeGNu4Yy9BB34w">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_JQ35YxAmEeGNu4Yy9BB34w"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_JQ35ZBAmEeGNu4Yy9BB34w">
+              <actions xsi:type="stext:Assignment" xmi:id="_JQ35ZRAmEeGNu4Yy9BB34w" varRef="_JFX0BhAmEeGNu4Yy9BB34w" operator="/=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_JQ4gcBAmEeGNu4Yy9BB34w" value="5"/>
+              </actions>
+            </effect>
+          </declarations>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_JQ4gcRAmEeGNu4Yy9BB34w">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_JQ4gchAmEeGNu4Yy9BB34w">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_JQ4gcxAmEeGNu4Yy9BB34w"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_JQ4gdBAmEeGNu4Yy9BB34w">
+              <actions xsi:type="stext:Assignment" xmi:id="_JQ4gdRAmEeGNu4Yy9BB34w" varRef="_JFX0BBAmEeGNu4Yy9BB34w" operator="+=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_JQ4gdhAmEeGNu4Yy9BB34w" value="1"/>
+              </actions>
+            </effect>
+          </declarations>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_JQ4gdxAmEeGNu4Yy9BB34w">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_JQ4geBAmEeGNu4Yy9BB34w">
+              <triggers xsi:type="stext:OnCycleEvent" xmi:id="_JQ4geRAmEeGNu4Yy9BB34w"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_JQ4gehAmEeGNu4Yy9BB34w">
+              <actions xsi:type="stext:Assignment" xmi:id="_JQ4gexAmEeGNu4Yy9BB34w" varRef="_JFX0BBAmEeGNu4Yy9BB34w" operator="+=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_JQ4gfBAmEeGNu4Yy9BB34w" value="1"/>
+              </actions>
+            </effect>
+          </declarations>
+        </scopes>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_wXmFUAuIEeGVgpgRVT1uXw" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_wXk3MAuIEeGVgpgRVT1uXw" measurementUnit="Pixel">
+    <children xmi:id="_wXnTcAuIEeGVgpgRVT1uXw" type="Region" element="_wXmFUguIEeGVgpgRVT1uXw">
+      <children xsi:type="notation:DecorationNode" xmi:id="_wXohkAuIEeGVgpgRVT1uXw" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_wXohkQuIEeGVgpgRVT1uXw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_wXohkguIEeGVgpgRVT1uXw"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_wXohkwuIEeGVgpgRVT1uXw" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_wXpIoguIEeGVgpgRVT1uXw" type="Entry" element="_wXpIoQuIEeGVgpgRVT1uXw">
+          <children xmi:id="_wXpvsAuIEeGVgpgRVT1uXw" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_wXpvswuIEeGVgpgRVT1uXw" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_wXpvtAuIEeGVgpgRVT1uXw"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_wXpvtQuIEeGVgpgRVT1uXw"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_wXpvsQuIEeGVgpgRVT1uXw" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXpvsguIEeGVgpgRVT1uXw"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_wXpIowuIEeGVgpgRVT1uXw" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXpvtguIEeGVgpgRVT1uXw" x="70" y="20"/>
+        </children>
+        <children xmi:id="_wXqWwguIEeGVgpgRVT1uXw" type="State" element="_wXqWwAuIEeGVgpgRVT1uXw">
+          <children xsi:type="notation:DecorationNode" xmi:id="_wXq90AuIEeGVgpgRVT1uXw" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_wXq90QuIEeGVgpgRVT1uXw"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_wXq90guIEeGVgpgRVT1uXw"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_wXq90wuIEeGVgpgRVT1uXw" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_wXq91AuIEeGVgpgRVT1uXw" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXq91QuIEeGVgpgRVT1uXw"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_wXrk4AuIEeGVgpgRVT1uXw" type="StateFigureCompartment" collapsed="true"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_wXqWwwuIEeGVgpgRVT1uXw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_wXqWxAuIEeGVgpgRVT1uXw"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_wXrk4QuIEeGVgpgRVT1uXw"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXrk4guIEeGVgpgRVT1uXw" x="70" y="43"/>
+        </children>
+        <children xmi:id="_dU-ooAuLEeGVgpgRVT1uXw" type="State" element="_dUv_IAuLEeGVgpgRVT1uXw">
+          <children xsi:type="notation:DecorationNode" xmi:id="_dU_PsAuLEeGVgpgRVT1uXw" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_dU_PsQuLEeGVgpgRVT1uXw"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_dU_PsguLEeGVgpgRVT1uXw"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_dU_PswuLEeGVgpgRVT1uXw" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_dU_PtAuLEeGVgpgRVT1uXw" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_dU_PtQuLEeGVgpgRVT1uXw"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_dU_PtguLEeGVgpgRVT1uXw" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_dU-ooQuLEeGVgpgRVT1uXw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_dU-ooguLEeGVgpgRVT1uXw"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_dU_2wAuLEeGVgpgRVT1uXw"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_dU-oowuLEeGVgpgRVT1uXw" x="93" y="308"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXohlAuIEeGVgpgRVT1uXw"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_wXnTcQuIEeGVgpgRVT1uXw" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXpIoAuIEeGVgpgRVT1uXw" x="220" y="10" width="616" height="476"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_wXtaEwuIEeGVgpgRVT1uXw" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_wXuBIAuIEeGVgpgRVT1uXw" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_wXuBIQuIEeGVgpgRVT1uXw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_wXuBIguIEeGVgpgRVT1uXw"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_wXuBIwuIEeGVgpgRVT1uXw" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXuBJAuIEeGVgpgRVT1uXw"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_wXuBJQuIEeGVgpgRVT1uXw" x="10" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_wXmFUQuIEeGVgpgRVT1uXw"/>
+    <edges xmi:id="_wXszAAuIEeGVgpgRVT1uXw" type="Transition" element="_wXrk4wuIEeGVgpgRVT1uXw" source="_wXpIoguIEeGVgpgRVT1uXw" target="_wXqWwguIEeGVgpgRVT1uXw">
+      <children xsi:type="notation:DecorationNode" xmi:id="_wXtaEAuIEeGVgpgRVT1uXw" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_wXtaEQuIEeGVgpgRVT1uXw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_wXtaEguIEeGVgpgRVT1uXw" y="40"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_wXszAQuIEeGVgpgRVT1uXw" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_wXszAwuIEeGVgpgRVT1uXw" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_wXszAguIEeGVgpgRVT1uXw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+    <edges xmi:id="_eqGogAuLEeGVgpgRVT1uXw" type="Transition" element="_ep-FoAuLEeGVgpgRVT1uXw" source="_wXqWwguIEeGVgpgRVT1uXw" target="_dU-ooAuLEeGVgpgRVT1uXw">
+      <children xsi:type="notation:DecorationNode" xmi:id="_eqHPkAuLEeGVgpgRVT1uXw" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_eqHPkQuLEeGVgpgRVT1uXw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_eqHPkguLEeGVgpgRVT1uXw" x="10" y="-194"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_eqGogQuLEeGVgpgRVT1uXw" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_eqGogwuLEeGVgpgRVT1uXw" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_eqGogguLEeGVgpgRVT1uXw" points="[3, 32, -13, -123]$[5, 160, -11, 5]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_erE44AuLEeGVgpgRVT1uXw" id="(0.8015873015873016,0.15384615384615385)"/>
+    </edges>
+    <edges xmi:id="_foWZcAuLEeGVgpgRVT1uXw" type="Transition" element="_foN2kAuLEeGVgpgRVT1uXw" source="_dU-ooAuLEeGVgpgRVT1uXw" target="_wXqWwguIEeGVgpgRVT1uXw">
+      <children xsi:type="notation:DecorationNode" xmi:id="_foXAgAuLEeGVgpgRVT1uXw" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_foXAgQuLEeGVgpgRVT1uXw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_foXAgguLEeGVgpgRVT1uXw" x="-2" y="-85"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_foWZcQuLEeGVgpgRVT1uXw" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_foWZcwuLEeGVgpgRVT1uXw" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_foWZcguLEeGVgpgRVT1uXw" points="[-20, -39, 53, 108]$[-72, -144, 1, 3]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="__1U0QAusEeGwaYhzcwLTXw" id="(0.6111111111111112,0.1282051282051282)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_fpTbsAuLEeGVgpgRVT1uXw" id="(0.5104166666666666,0.946236559139785)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 1 - 1
TestScenarios/test-c/Test_Hierarchy/CMakeLists.txt

@@ -1,4 +1,4 @@
-include_directories(../../src-gen-c/Test_Expression)
+include_directories(../../src-gen-c/Test_Hierarchy)
 
 add_executable(TestHierarchyMain main.c)
 target_link_libraries(TestHierarchyMain Test_HierarchyStatemachine)