Browse Source

Added a number of new tests

jos.itemis@gmail.com 13 years ago
parent
commit
b38f250593

+ 4 - 4
TestScenarios/CMakeLists.txt

@@ -8,16 +8,16 @@ add_subdirectory(src-gen-c/InterfaceTest)
 add_subdirectory(src-gen-c/Test_Expression)
 add_subdirectory(src-gen-c/Test_Hierarchy)
 add_subdirectory(src-gen-c/Test_ParallelRegions)
-#add_subdirectory(src-gen-c/Test_Transition)
+add_subdirectory(src-gen-c/Test_Transition)
 add_subdirectory(src-gen-c/Test_ShallowHistory)
-#add_subdirectory(src-gen-c/Test_LocalActions)
+add_subdirectory(src-gen-c/Test_LocalActions)
 
 
 add_subdirectory(test-c/InterfaceTest)
 add_subdirectory(test-c/Test_Expression)
 add_subdirectory(test-c/Test_Hierarchy)
 add_subdirectory(test-c/Test_ParallelRegions)
-#add_subdirectory(test-c/Test_Transition)
+add_subdirectory(test-c/Test_Transition)
 add_subdirectory(test-c/Test_ShallowHistory)
-#add_subdirectory(test-c/Test_LocalActions)
+add_subdirectory(test-c/Test_LocalActions)
 

+ 3 - 0
TestScenarios/GenModelC.sgen

@@ -24,6 +24,9 @@ GeneratorModel for yakindu::c {
 		}
 	}
 	statechart Test_LocalActions {
+		feature Debug {
+			dumpSexec = true
+		}
 		feature Outlet {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-c/Test_LocalActions"

+ 8 - 8
TestScenarios/GenModelCpp.sgen

@@ -1,48 +1,48 @@
 GeneratorModel for yakindu::cpp {
 	statechart InterfaceTest {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-cpp/InterfaceTest"
 		}
 	}
 	statechart Test_DeepHistory {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-cpp/Test_DeepHistory"
 		}
 	}
 	statechart Test_Expression {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-cpp/Test_Expression"
 		}
 	}
 	statechart Test_Hierarchy {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-cpp/Test_Hierarchy"
 		}
 	}
 	statechart Test_LocalActions {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-cpp/Test_LocalActions"
 		}
 	}
 	statechart Test_ParallelRegions {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-cpp/Test_ParallelRegions"
 		}
 	}
 	statechart Test_ShallowHistory {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-cpp/Test_ShallowHistory"
 		}
 	}
 	statechart Test_Transition {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "TestScenarios"
 			targetFolder = "src-gen-cpp/Test_Transition"
 		}

+ 8 - 106
TestScenarios/GenModelJava.sgen

@@ -1,148 +1,50 @@
 GeneratorModel for yakindu::java {
 	statechart InterfaceTest {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "org.yakindu.sct.generator.java.runtime.test"
 			targetFolder = "src-gen"
 		}
-		
-		feature licenseHeader {
-			licenseText = "/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */"
-		}
 	}
 	statechart Test_DeepHistory {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "org.yakindu.sct.generator.java.runtime.test"
 			targetFolder = "src-gen"
 		}
-		feature licenseHeader {
-			licenseText = "/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */"
-		}
 	}
 	statechart Test_Expression {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "org.yakindu.sct.generator.java.runtime.test"
 			targetFolder = "src-gen"
 		}
-		feature licenseHeader {
-			licenseText = "/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */"
-		}
 	}
 	statechart Test_Hierarchy {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "org.yakindu.sct.generator.java.runtime.test"
 			targetFolder = "src-gen"
 		}
-		feature licenseHeader {
-			licenseText = "/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */"
-		}
 	}
 	statechart Test_LocalActions {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "org.yakindu.sct.generator.java.runtime.test"
 			targetFolder = "src-gen"
 		}
-		
-		feature licenseHeader {
-			licenseText = "/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */"
-		}
 	}
 	statechart Test_ParallelRegions {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "org.yakindu.sct.generator.java.runtime.test"
 			targetFolder = "src-gen"
 		}
-		feature licenseHeader {
-			licenseText = "/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */"
-		}
 	}
 	statechart Test_ShallowHistory {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "org.yakindu.sct.generator.java.runtime.test"
 			targetFolder = "src-gen"
 		}
-		feature licenseHeader {
-			licenseText = "/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */"
-		}
 	}
 	statechart Test_Transition {
-		feature Outlet {
+		feature OutletFeature {
 			targetProject = "org.yakindu.sct.generator.java.runtime.test"
 			targetFolder = "src-gen"
 		}
-		feature licenseHeader {
-			licenseText = "/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */"
-		}
 	}
 }

+ 283 - 305
TestScenarios/TestModels/InterfaceTest.sct

@@ -1,305 +1,283 @@
-<?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="_p-KfMAn1EeGuZq6TN7cDtg" name="InterfaceTest" expression="interface:&#xA;&#xA;in event event1&#xA;out event event2 : integer&#xA;&#xA;var var1 : boolean&#xA;var var2 : real = 2.3&#xA;var var3 : integer = 1&#xA;&#xA;interface other:&#xA;&#xA;in event event3&#xA;out event event4&#xA;&#xA;var v1 : integer = 5&#xA;&#xA;interface third:&#xA;&#xA;in event event5&#xA;out event event6 : boolean&#xA;&#xA;var v1 : real&#xA;&#xA;">
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_DGARIBpvEeG6Le2dptsaWw">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_DGARIRpvEeG6Le2dptsaWw" name="event1" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_DGARIhpvEeG6Le2dptsaWw" name="event2" direction="out" type="integer"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_DGARIxpvEeG6Le2dptsaWw" name="var1" type="boolean"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_DGARJBpvEeG6Le2dptsaWw" name="var2" type="real">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_DGARJRpvEeG6Le2dptsaWw">
-          <value xsi:type="stext:RealLiteral" xmi:id="_DGARJhpvEeG6Le2dptsaWw" value="2.3"/>
-        </initialValue>
-      </declarations>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_DGARJxpvEeG6Le2dptsaWw" name="var3" type="integer">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_DGARKBpvEeG6Le2dptsaWw">
-          <value xsi:type="stext:IntLiteral" xmi:id="_DGARKRpvEeG6Le2dptsaWw" value="1"/>
-        </initialValue>
-      </declarations>
-    </scopes>
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_DGARKhpvEeG6Le2dptsaWw" name="other">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_DGARKxpvEeG6Le2dptsaWw" name="event3" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_DGARLBpvEeG6Le2dptsaWw" name="event4" direction="out"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_DGARLRpvEeG6Le2dptsaWw" name="v1" type="integer">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_DGARLhpvEeG6Le2dptsaWw">
-          <value xsi:type="stext:IntLiteral" xmi:id="_DGARLxpvEeG6Le2dptsaWw" value="5"/>
-        </initialValue>
-      </declarations>
-    </scopes>
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_DGARMBpvEeG6Le2dptsaWw" name="third">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_DGARMRpvEeG6Le2dptsaWw" name="event5" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_DGARMhpvEeG6Le2dptsaWw" name="event6" direction="out" type="boolean"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_DGARMxpvEeG6Le2dptsaWw" name="v1" type="real"/>
-    </scopes>
-    <regions xmi:id="_p-LtUgn1EeGuZq6TN7cDtg" name="main region">
-      <vertices xsi:type="sgraph:Entry" xmi:id="_p-RM4Qn1EeGuZq6TN7cDtg">
-        <outgoingTransitions xmi:id="_p-TpIwn1EeGuZq6TN7cDtg" expression="" target="_p-Rz9wn1EeGuZq6TN7cDtg"/>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_p-Rz9wn1EeGuZq6TN7cDtg" expression="" name="state1" incomingTransitions="_p-TpIwn1EeGuZq6TN7cDtg _IduY8An2EeGuZq6TN7cDtg _aUmT4An2EeGuZq6TN7cDtg _ezdE0An2EeGuZq6TN7cDtg">
-        <scopes xmi:id="_DGARNBpvEeG6Le2dptsaWw"/>
-        <outgoingTransitions xmi:id="_Fp0t8An2EeGuZq6TN7cDtg" expression="event1[var2 > 0]" target="_DQwk0An2EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGA4MBpvEeG6Le2dptsaWw">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_DGA4MRpvEeG6Le2dptsaWw" event="_DGARIRpvEeG6Le2dptsaWw"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_DGA4MhpvEeG6Le2dptsaWw" operator=">">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_DGA4MxpvEeG6Le2dptsaWw" value="_DGARJBpvEeG6Le2dptsaWw"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_DGA4NBpvEeG6Le2dptsaWw">
-                <value xsi:type="stext:IntLiteral" xmi:id="_DGA4NRpvEeG6Le2dptsaWw"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_Wx7eYAn2EeGuZq6TN7cDtg" expression="other.event3[var3 == 1]" target="_N8IiYAn2EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGEikBpvEeG6Le2dptsaWw">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_DGEikRpvEeG6Le2dptsaWw" event="_DGARKxpvEeG6Le2dptsaWw"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_DGEikhpvEeG6Le2dptsaWw" operator="==">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_DGEikxpvEeG6Le2dptsaWw" value="_DGARJxpvEeG6Le2dptsaWw"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_DGEilBpvEeG6Le2dptsaWw">
-                <value xsi:type="stext:IntLiteral" xmi:id="_DGEilRpvEeG6Le2dptsaWw" value="1"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_dQp1UAn2EeGuZq6TN7cDtg" expression="third.event5[var1 == true]" target="_b6-b0An2EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGI0ABpvEeG6Le2dptsaWw">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_DGI0ARpvEeG6Le2dptsaWw" event="_DGARMRpvEeG6Le2dptsaWw"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_DGI0AhpvEeG6Le2dptsaWw" operator="==">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_DGI0AxpvEeG6Le2dptsaWw" value="_DGARIxpvEeG6Le2dptsaWw"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_DGI0BBpvEeG6Le2dptsaWw">
-                <value xsi:type="stext:BoolLiteral" xmi:id="_DGI0BRpvEeG6Le2dptsaWw" value="true"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_DQwk0An2EeGuZq6TN7cDtg" expression="entry / raise event2 : 22;" name="state2" incomingTransitions="_Fp0t8An2EeGuZq6TN7cDtg">
-        <scopes xmi:id="_DGMeYBpvEeG6Le2dptsaWw">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_DGMeYRpvEeG6Le2dptsaWw">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGMeYhpvEeG6Le2dptsaWw">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_DGMeYxpvEeG6Le2dptsaWw"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_DGMeZBpvEeG6Le2dptsaWw">
-              <actions xsi:type="stext:EventRaising" xmi:id="_DGMeZRpvEeG6Le2dptsaWw" event="_DGARIhpvEeG6Le2dptsaWw">
-                <value xsi:type="stext:PrimitiveValueExpression" xmi:id="_DGMeZhpvEeG6Le2dptsaWw">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_DGMeZxpvEeG6Le2dptsaWw" value="22"/>
-                </value>
-              </actions>
-            </effect>
-          </declarations>
-        </scopes>
-        <outgoingTransitions xmi:id="_IduY8An2EeGuZq6TN7cDtg" expression="event1" target="_p-Rz9wn1EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGQIwBpvEeG6Le2dptsaWw">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_DGQIwRpvEeG6Le2dptsaWw" event="_DGARIRpvEeG6Le2dptsaWw"/>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_N8IiYAn2EeGuZq6TN7cDtg" expression="entry / raise other.event4;" name="state3" incomingTransitions="_Wx7eYAn2EeGuZq6TN7cDtg">
-        <scopes xmi:id="_DGSlABpvEeG6Le2dptsaWw">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_DGSlARpvEeG6Le2dptsaWw">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGSlAhpvEeG6Le2dptsaWw">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_DGSlAxpvEeG6Le2dptsaWw"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_DGSlBBpvEeG6Le2dptsaWw">
-              <actions xsi:type="stext:EventRaising" xmi:id="_DGSlBRpvEeG6Le2dptsaWw" event="_DGARLBpvEeG6Le2dptsaWw"/>
-            </effect>
-          </declarations>
-        </scopes>
-        <outgoingTransitions xmi:id="_aUmT4An2EeGuZq6TN7cDtg" expression="other.event3" target="_p-Rz9wn1EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGUaMBpvEeG6Le2dptsaWw">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_DGUaMRpvEeG6Le2dptsaWw" event="_DGARKxpvEeG6Le2dptsaWw"/>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_b6-b0An2EeGuZq6TN7cDtg" expression="entry / raise third.event6 : true;" name="state4" incomingTransitions="_dQp1UAn2EeGuZq6TN7cDtg">
-        <scopes xmi:id="_DGW2cBpvEeG6Le2dptsaWw">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_DGW2cRpvEeG6Le2dptsaWw">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGW2chpvEeG6Le2dptsaWw">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_DGW2cxpvEeG6Le2dptsaWw"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_DGW2dBpvEeG6Le2dptsaWw">
-              <actions xsi:type="stext:EventRaising" xmi:id="_DGW2dRpvEeG6Le2dptsaWw" event="_DGARMhpvEeG6Le2dptsaWw">
-                <value xsi:type="stext:PrimitiveValueExpression" xmi:id="_DGW2dhpvEeG6Le2dptsaWw">
-                  <value xsi:type="stext:BoolLiteral" xmi:id="_DGW2dxpvEeG6Le2dptsaWw" value="true"/>
-                </value>
-              </actions>
-            </effect>
-          </declarations>
-        </scopes>
-        <outgoingTransitions xmi:id="_ezdE0An2EeGuZq6TN7cDtg" expression="third.event5" target="_p-Rz9wn1EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_DGYroBpvEeG6Le2dptsaWw">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_DGYroRpvEeG6Le2dptsaWw" event="_DGARMRpvEeG6Le2dptsaWw"/>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-    </regions>
-  </sgraph:Statechart>
-  <notation:Diagram xmi:id="_p-LtUAn1EeGuZq6TN7cDtg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_p-KfMAn1EeGuZq6TN7cDtg" measurementUnit="Pixel">
-    <children xmi:id="_p-OJkAn1EeGuZq6TN7cDtg" type="Region" element="_p-LtUgn1EeGuZq6TN7cDtg">
-      <children xsi:type="notation:DecorationNode" xmi:id="_p-P-wAn1EeGuZq6TN7cDtg" type="RegionName">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_p-P-wQn1EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_p-P-wgn1EeGuZq6TN7cDtg"/>
-      </children>
-      <children xsi:type="notation:Shape" xmi:id="_p-Ql0An1EeGuZq6TN7cDtg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
-        <children xmi:id="_p-RM4gn1EeGuZq6TN7cDtg" type="Entry" element="_p-RM4Qn1EeGuZq6TN7cDtg">
-          <children xmi:id="_p-Rz8An1EeGuZq6TN7cDtg" type="BorderItemLabelContainer">
-            <children xsi:type="notation:DecorationNode" xmi:id="_p-Rz8wn1EeGuZq6TN7cDtg" type="BorderItemLabel">
-              <styles xsi:type="notation:ShapeStyle" xmi:id="_p-Rz9An1EeGuZq6TN7cDtg"/>
-              <layoutConstraint xsi:type="notation:Location" xmi:id="_p-Rz9Qn1EeGuZq6TN7cDtg"/>
-            </children>
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_p-Rz8Qn1EeGuZq6TN7cDtg" fontName="Verdana" lineColor="4210752"/>
-            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-Rz8gn1EeGuZq6TN7cDtg"/>
-          </children>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_p-RM4wn1EeGuZq6TN7cDtg" fontName="Verdana" lineColor="4210752"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-Rz9gn1EeGuZq6TN7cDtg" x="70" y="20"/>
-        </children>
-        <children xmi:id="_p-SbAQn1EeGuZq6TN7cDtg" type="State" element="_p-Rz9wn1EeGuZq6TN7cDtg">
-          <children xsi:type="notation:DecorationNode" xmi:id="_p-TCEAn1EeGuZq6TN7cDtg" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_p-TCEQn1EeGuZq6TN7cDtg"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_p-TCEgn1EeGuZq6TN7cDtg"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_p-TCEwn1EeGuZq6TN7cDtg" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_p-TCFAn1EeGuZq6TN7cDtg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-TCFQn1EeGuZq6TN7cDtg"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_p-TpIAn1EeGuZq6TN7cDtg" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_p-SbAgn1EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_p-SbAwn1EeGuZq6TN7cDtg"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_p-TpIQn1EeGuZq6TN7cDtg"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-TpIgn1EeGuZq6TN7cDtg" x="116" y="63"/>
-        </children>
-        <children xmi:id="_DQ-AMAn2EeGuZq6TN7cDtg" type="State" element="_DQwk0An2EeGuZq6TN7cDtg">
-          <children xsi:type="notation:DecorationNode" xmi:id="_DQ-nQAn2EeGuZq6TN7cDtg" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_DQ-nQQn2EeGuZq6TN7cDtg"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_DQ-nQgn2EeGuZq6TN7cDtg"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_DQ-nQwn2EeGuZq6TN7cDtg" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_DQ-nRAn2EeGuZq6TN7cDtg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_DQ-nRQn2EeGuZq6TN7cDtg"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_DQ_OUAn2EeGuZq6TN7cDtg" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_DQ-AMQn2EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_DQ-AMgn2EeGuZq6TN7cDtg"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_DQ_OUQn2EeGuZq6TN7cDtg"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_DQ-AMwn2EeGuZq6TN7cDtg" x="329" y="34" width="192"/>
-        </children>
-        <children xmi:id="_N8RsUAn2EeGuZq6TN7cDtg" type="State" element="_N8IiYAn2EeGuZq6TN7cDtg">
-          <children xsi:type="notation:DecorationNode" xmi:id="_N8STYAn2EeGuZq6TN7cDtg" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_N8STYQn2EeGuZq6TN7cDtg"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_N8STYgn2EeGuZq6TN7cDtg"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_N8S6cAn2EeGuZq6TN7cDtg" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_N8S6cQn2EeGuZq6TN7cDtg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_N8S6cgn2EeGuZq6TN7cDtg"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_N8S6cwn2EeGuZq6TN7cDtg" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_N8RsUQn2EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_N8RsUgn2EeGuZq6TN7cDtg"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_N8ThgAn2EeGuZq6TN7cDtg"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_N8RsUwn2EeGuZq6TN7cDtg" x="343" y="152"/>
-        </children>
-        <children xmi:id="_b7G-sAn2EeGuZq6TN7cDtg" type="State" element="_b6-b0An2EeGuZq6TN7cDtg">
-          <children xsi:type="notation:DecorationNode" xmi:id="_b7HlwAn2EeGuZq6TN7cDtg" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_b7HlwQn2EeGuZq6TN7cDtg"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_b7Hlwgn2EeGuZq6TN7cDtg"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_b7Hlwwn2EeGuZq6TN7cDtg" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_b7HlxAn2EeGuZq6TN7cDtg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_b7HlxQn2EeGuZq6TN7cDtg"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_b7Hlxgn2EeGuZq6TN7cDtg" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_b7G-sQn2EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_b7G-sgn2EeGuZq6TN7cDtg"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_b7IM0An2EeGuZq6TN7cDtg"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_b7G-swn2EeGuZq6TN7cDtg" x="34" y="268"/>
-        </children>
-        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-Ql0Qn1EeGuZq6TN7cDtg"/>
-      </children>
-      <styles xsi:type="notation:ShapeStyle" xmi:id="_p-OJkQn1EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-RM4An1EeGuZq6TN7cDtg" x="220" y="10" width="651" height="400"/>
-    </children>
-    <children xsi:type="notation:Shape" xmi:id="_p-VeUwn1EeGuZq6TN7cDtg" type="StatechartText" fontName="Verdana" lineColor="4210752">
-      <children xsi:type="notation:DecorationNode" xmi:id="_p-WFYAn1EeGuZq6TN7cDtg" type="StatechartName">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_p-WFYQn1EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_p-WFYgn1EeGuZq6TN7cDtg"/>
-      </children>
-      <children xsi:type="notation:Shape" xmi:id="_p-WFYwn1EeGuZq6TN7cDtg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
-        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-WFZAn1EeGuZq6TN7cDtg"/>
-      </children>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-WscAn1EeGuZq6TN7cDtg" x="5" y="10" width="200" height="400"/>
-    </children>
-    <styles xsi:type="notation:DiagramStyle" xmi:id="_p-LtUQn1EeGuZq6TN7cDtg"/>
-    <edges xmi:id="_p-U3QAn1EeGuZq6TN7cDtg" type="Transition" element="_p-TpIwn1EeGuZq6TN7cDtg" source="_p-RM4gn1EeGuZq6TN7cDtg" target="_p-SbAQn1EeGuZq6TN7cDtg">
-      <children xsi:type="notation:DecorationNode" xmi:id="_p-VeUAn1EeGuZq6TN7cDtg" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_p-VeUQn1EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_p-VeUgn1EeGuZq6TN7cDtg" y="40"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_p-U3QQn1EeGuZq6TN7cDtg" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_p-U3Qwn1EeGuZq6TN7cDtg" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_p-U3Qgn1EeGuZq6TN7cDtg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:id="_Fp3KMAn2EeGuZq6TN7cDtg" type="Transition" element="_Fp0t8An2EeGuZq6TN7cDtg" source="_p-SbAQn1EeGuZq6TN7cDtg" target="_DQ-AMAn2EeGuZq6TN7cDtg">
-      <children xsi:type="notation:DecorationNode" xmi:id="_Fp3xQQn2EeGuZq6TN7cDtg" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_Fp3xQgn2EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_Fp3xQwn2EeGuZq6TN7cDtg" x="-2" y="-15"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_Fp3KMQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_Fp3xQAn2EeGuZq6TN7cDtg" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_Fp3KMgn2EeGuZq6TN7cDtg" points="[25, -6, -175, -6]$[202, -31, 2, -31]"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_KAl9MArjEeGz3Ki5JUYy2w" id="(0.03125,0.42857142857142855)"/>
-    </edges>
-    <edges xmi:id="_IdwOIAn2EeGuZq6TN7cDtg" type="Transition" element="_IduY8An2EeGuZq6TN7cDtg" source="_DQ-AMAn2EeGuZq6TN7cDtg" target="_p-SbAQn1EeGuZq6TN7cDtg">
-      <children xsi:type="notation:DecorationNode" xmi:id="_Idw1MQn2EeGuZq6TN7cDtg" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_Idw1Mgn2EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_Idw1Mwn2EeGuZq6TN7cDtg" x="3" y="-9"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_IdwOIQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_Idw1MAn2EeGuZq6TN7cDtg" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_IdwOIgn2EeGuZq6TN7cDtg" points="[-24, 2, 155, -13]$[-175, 14, 4, -1]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_L_i54An2EeGuZq6TN7cDtg" id="(0.02040816326530612,0.7619047619047619)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_LZZf4An2EeGuZq6TN7cDtg" id="(0.9183673469387755,0.7301587301587301)"/>
-    </edges>
-    <edges xmi:id="_Wx-hsAn2EeGuZq6TN7cDtg" type="Transition" element="_Wx7eYAn2EeGuZq6TN7cDtg" source="_p-SbAQn1EeGuZq6TN7cDtg" target="_N8RsUAn2EeGuZq6TN7cDtg">
-      <children xsi:type="notation:DecorationNode" xmi:id="_Wx_IwAn2EeGuZq6TN7cDtg" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_Wx_IwQn2EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_Wx_Iwgn2EeGuZq6TN7cDtg" x="73" y="-34"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_Wx-hsQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_Wx-hswn2EeGuZq6TN7cDtg" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_Wx-hsgn2EeGuZq6TN7cDtg" points="[25, 15, -173, -105]$[176, 110, -22, -10]"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_Wy7j8An2EeGuZq6TN7cDtg" id="(0.15384615384615385,0.1746031746031746)"/>
-    </edges>
-    <edges xmi:id="_aUowIAn2EeGuZq6TN7cDtg" type="Transition" element="_aUmT4An2EeGuZq6TN7cDtg" source="_N8RsUAn2EeGuZq6TN7cDtg" target="_p-SbAQn1EeGuZq6TN7cDtg">
-      <children xsi:type="notation:DecorationNode" xmi:id="_aUowJAn2EeGuZq6TN7cDtg" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_aUowJQn2EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_aUpXMAn2EeGuZq6TN7cDtg" x="4" y="-16"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_aUowIQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_aUowIwn2EeGuZq6TN7cDtg" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_aUowIgn2EeGuZq6TN7cDtg" points="[-9, -6, 180, 106]$[-194, -97, -5, 15]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aVlLUAn2EeGuZq6TN7cDtg" id="(0.06293706293706294,0.31746031746031744)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aVlLUQn2EeGuZq6TN7cDtg" id="(0.40816326530612246,0.7619047619047619)"/>
-    </edges>
-    <edges xmi:id="_dQs4oAn2EeGuZq6TN7cDtg" type="Transition" element="_dQp1UAn2EeGuZq6TN7cDtg" source="_p-SbAQn1EeGuZq6TN7cDtg" target="_b7G-sAn2EeGuZq6TN7cDtg">
-      <children xsi:type="notation:DecorationNode" xmi:id="_dQtfsQn2EeGuZq6TN7cDtg" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_dQtfsgn2EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_dQtfswn2EeGuZq6TN7cDtg" x="76" y="-83"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_dQs4oQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_dQtfsAn2EeGuZq6TN7cDtg" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_dQs4ogn2EeGuZq6TN7cDtg" points="[4, 32, -15, -195]$[28, 196, 9, -31]"/>
-    </edges>
-    <edges xmi:id="_ezgIIAn2EeGuZq6TN7cDtg" type="Transition" element="_ezdE0An2EeGuZq6TN7cDtg" source="_b7G-sAn2EeGuZq6TN7cDtg" target="_p-SbAQn1EeGuZq6TN7cDtg">
-      <children xsi:type="notation:DecorationNode" xmi:id="_ezgIJAn2EeGuZq6TN7cDtg" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_ezgIJQn2EeGuZq6TN7cDtg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_ezgIJgn2EeGuZq6TN7cDtg" x="1" y="-24"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_ezgIIQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_ezgIIwn2EeGuZq6TN7cDtg" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_ezgIIgn2EeGuZq6TN7cDtg" points="[-3, -23, 18, 198]$[-27, -222, -6, -1]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_e0iC4An2EeGuZq6TN7cDtg" id="(0.16326530612244897,0.36507936507936506)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_e0iC4Qn2EeGuZq6TN7cDtg" id="(0.12244897959183673,0.4603174603174603)"/>
-    </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="_p-KfMAn1EeGuZq6TN7cDtg" name="InterfaceTest" expression="interface:&#xA;&#xA;in event event1&#xA;out event event2 : integer&#xA;&#xA;var var1 : boolean&#xA;var var2 : real = 2.3&#xA;var var3 : integer = 1&#xA;&#xA;interface other:&#xA;&#xA;in event event3&#xA;out event event4&#xA;&#xA;var v1 : integer = 5&#xA;&#xA;interface third:&#xA;&#xA;in event event5&#xA;out event event6 : boolean&#xA;&#xA;var v1 : real&#xA;">
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_mqE3UAutEeGQwLj0UL2wOQ">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_mqE3UQutEeGQwLj0UL2wOQ" name="event1" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_mqE3UgutEeGQwLj0UL2wOQ" name="event2" direction="out" type="integer"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_mqE3UwutEeGQwLj0UL2wOQ" name="var1" type="boolean"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_mqE3VAutEeGQwLj0UL2wOQ" name="var2" type="real" initialValue="2.3"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_mqE3VQutEeGQwLj0UL2wOQ" name="var3" type="integer" initialValue="1"/>
+    </scopes>
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_mqE3VgutEeGQwLj0UL2wOQ" name="other">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_mqE3VwutEeGQwLj0UL2wOQ" name="event3" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_mqE3WAutEeGQwLj0UL2wOQ" name="event4" direction="out"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_mqE3WQutEeGQwLj0UL2wOQ" name="v1" type="integer" initialValue="5"/>
+    </scopes>
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_mqE3WgutEeGQwLj0UL2wOQ" name="third">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_mqE3WwutEeGQwLj0UL2wOQ" name="event5" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_mqE3XAutEeGQwLj0UL2wOQ" name="event6" direction="out" type="boolean"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_mqE3XQutEeGQwLj0UL2wOQ" name="v1" type="real"/>
+    </scopes>
+    <regions xmi:id="_p-LtUgn1EeGuZq6TN7cDtg" name="main region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_p-RM4Qn1EeGuZq6TN7cDtg">
+        <outgoingTransitions xmi:id="_p-TpIwn1EeGuZq6TN7cDtg" expression="" target="_p-Rz9wn1EeGuZq6TN7cDtg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_p-Rz9wn1EeGuZq6TN7cDtg" name="state1" incomingTransitions="_p-TpIwn1EeGuZq6TN7cDtg _IduY8An2EeGuZq6TN7cDtg _aUmT4An2EeGuZq6TN7cDtg _ezdE0An2EeGuZq6TN7cDtg" expression="">
+        <outgoingTransitions xmi:id="_Fp0t8An2EeGuZq6TN7cDtg" expression="event1[var2 > 0]" target="_DQwk0An2EeGuZq6TN7cDtg">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqOoUAutEeGQwLj0UL2wOQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_mqOoUQutEeGQwLj0UL2wOQ" event="_mqE3UQutEeGQwLj0UL2wOQ"/>
+            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_mqOoUgutEeGQwLj0UL2wOQ" operator=">">
+              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_mqOoUwutEeGQwLj0UL2wOQ" value="_mqE3VAutEeGQwLj0UL2wOQ"/>
+              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_mqOoVAutEeGQwLj0UL2wOQ" value="0"/>
+            </guardExpression>
+          </trigger>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_Wx7eYAn2EeGuZq6TN7cDtg" expression="other.event3[var3 == 1]" target="_N8IiYAn2EeGuZq6TN7cDtg">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqOoVQutEeGQwLj0UL2wOQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_mqOoVgutEeGQwLj0UL2wOQ" event="_mqE3VwutEeGQwLj0UL2wOQ"/>
+            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_mqOoVwutEeGQwLj0UL2wOQ" operator="==">
+              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_mqOoWAutEeGQwLj0UL2wOQ" value="_mqE3VQutEeGQwLj0UL2wOQ"/>
+              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_mqOoWQutEeGQwLj0UL2wOQ" value="1"/>
+            </guardExpression>
+          </trigger>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_dQp1UAn2EeGuZq6TN7cDtg" expression="third.event5[var1 == true]" target="_b6-b0An2EeGuZq6TN7cDtg">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqYZUAutEeGQwLj0UL2wOQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_mqYZUQutEeGQwLj0UL2wOQ" event="_mqE3WwutEeGQwLj0UL2wOQ"/>
+            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_mqYZUgutEeGQwLj0UL2wOQ" operator="==">
+              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_mqYZUwutEeGQwLj0UL2wOQ" value="_mqE3UwutEeGQwLj0UL2wOQ"/>
+              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_mqYZVAutEeGQwLj0UL2wOQ" value="true"/>
+            </guardExpression>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_mqE3XgutEeGQwLj0UL2wOQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_DQwk0An2EeGuZq6TN7cDtg" name="state2" incomingTransitions="_Fp0t8An2EeGuZq6TN7cDtg" expression="entry / raise event2 : 22;">
+        <outgoingTransitions xmi:id="_IduY8An2EeGuZq6TN7cDtg" expression="event1" target="_p-Rz9wn1EeGuZq6TN7cDtg">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqYZXAutEeGQwLj0UL2wOQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_mqYZXQutEeGQwLj0UL2wOQ" event="_mqE3UQutEeGQwLj0UL2wOQ"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_mqYZVQutEeGQwLj0UL2wOQ">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_mqYZVgutEeGQwLj0UL2wOQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqYZVwutEeGQwLj0UL2wOQ">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_mqYZWAutEeGQwLj0UL2wOQ"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_mqYZWQutEeGQwLj0UL2wOQ">
+              <actions xsi:type="stext:EventRaising" xmi:id="_mqYZWgutEeGQwLj0UL2wOQ" event="_mqE3UgutEeGQwLj0UL2wOQ">
+                <value xsi:type="stext:PrimitiveValueExpression" xmi:id="_mqYZWwutEeGQwLj0UL2wOQ" value="22"/>
+              </actions>
+            </effect>
+          </declarations>
+        </scopes>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_N8IiYAn2EeGuZq6TN7cDtg" name="state3" incomingTransitions="_Wx7eYAn2EeGuZq6TN7cDtg" expression="entry / raise other.event4;">
+        <outgoingTransitions xmi:id="_aUmT4An2EeGuZq6TN7cDtg" expression="other.event3" target="_p-Rz9wn1EeGuZq6TN7cDtg">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqYZZAutEeGQwLj0UL2wOQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_mqYZZQutEeGQwLj0UL2wOQ" event="_mqE3VwutEeGQwLj0UL2wOQ"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_mqYZXgutEeGQwLj0UL2wOQ">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_mqYZXwutEeGQwLj0UL2wOQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqYZYAutEeGQwLj0UL2wOQ">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_mqYZYQutEeGQwLj0UL2wOQ"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_mqYZYgutEeGQwLj0UL2wOQ">
+              <actions xsi:type="stext:EventRaising" xmi:id="_mqYZYwutEeGQwLj0UL2wOQ" event="_mqE3WAutEeGQwLj0UL2wOQ"/>
+            </effect>
+          </declarations>
+        </scopes>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_b6-b0An2EeGuZq6TN7cDtg" name="state4" incomingTransitions="_dQp1UAn2EeGuZq6TN7cDtg" expression="entry / raise third.event6 : true;">
+        <outgoingTransitions xmi:id="_ezdE0An2EeGuZq6TN7cDtg" expression="third.event5" target="_p-Rz9wn1EeGuZq6TN7cDtg">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqhjQAutEeGQwLj0UL2wOQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_mqhjQQutEeGQwLj0UL2wOQ" event="_mqE3WwutEeGQwLj0UL2wOQ"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_mqYZZgutEeGQwLj0UL2wOQ">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_mqYZZwutEeGQwLj0UL2wOQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_mqYZaAutEeGQwLj0UL2wOQ">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_mqYZaQutEeGQwLj0UL2wOQ"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_mqYZagutEeGQwLj0UL2wOQ">
+              <actions xsi:type="stext:EventRaising" xmi:id="_mqYZawutEeGQwLj0UL2wOQ" event="_mqE3XAutEeGQwLj0UL2wOQ">
+                <value xsi:type="stext:PrimitiveValueExpression" xmi:id="_mqYZbAutEeGQwLj0UL2wOQ" value="true"/>
+              </actions>
+            </effect>
+          </declarations>
+        </scopes>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_p-LtUAn1EeGuZq6TN7cDtg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_p-KfMAn1EeGuZq6TN7cDtg" measurementUnit="Pixel">
+    <children xmi:id="_p-OJkAn1EeGuZq6TN7cDtg" type="Region" element="_p-LtUgn1EeGuZq6TN7cDtg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_p-P-wAn1EeGuZq6TN7cDtg" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_p-P-wQn1EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_p-P-wgn1EeGuZq6TN7cDtg"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_p-Ql0An1EeGuZq6TN7cDtg" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_p-RM4gn1EeGuZq6TN7cDtg" type="Entry" element="_p-RM4Qn1EeGuZq6TN7cDtg">
+          <children xmi:id="_p-Rz8An1EeGuZq6TN7cDtg" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_p-Rz8wn1EeGuZq6TN7cDtg" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_p-Rz9An1EeGuZq6TN7cDtg"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_p-Rz9Qn1EeGuZq6TN7cDtg"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_p-Rz8Qn1EeGuZq6TN7cDtg" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-Rz8gn1EeGuZq6TN7cDtg"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_p-RM4wn1EeGuZq6TN7cDtg" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-Rz9gn1EeGuZq6TN7cDtg" x="70" y="20"/>
+        </children>
+        <children xmi:id="_p-SbAQn1EeGuZq6TN7cDtg" type="State" element="_p-Rz9wn1EeGuZq6TN7cDtg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_p-TCEAn1EeGuZq6TN7cDtg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_p-TCEQn1EeGuZq6TN7cDtg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_p-TCEgn1EeGuZq6TN7cDtg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_p-TCEwn1EeGuZq6TN7cDtg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_p-TCFAn1EeGuZq6TN7cDtg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-TCFQn1EeGuZq6TN7cDtg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_p-TpIAn1EeGuZq6TN7cDtg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_p-SbAgn1EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_p-SbAwn1EeGuZq6TN7cDtg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_p-TpIQn1EeGuZq6TN7cDtg"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-TpIgn1EeGuZq6TN7cDtg" x="116" y="63"/>
+        </children>
+        <children xmi:id="_DQ-AMAn2EeGuZq6TN7cDtg" type="State" element="_DQwk0An2EeGuZq6TN7cDtg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_DQ-nQAn2EeGuZq6TN7cDtg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_DQ-nQQn2EeGuZq6TN7cDtg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_DQ-nQgn2EeGuZq6TN7cDtg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_DQ-nQwn2EeGuZq6TN7cDtg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_DQ-nRAn2EeGuZq6TN7cDtg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_DQ-nRQn2EeGuZq6TN7cDtg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_DQ_OUAn2EeGuZq6TN7cDtg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_DQ-AMQn2EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_DQ-AMgn2EeGuZq6TN7cDtg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_DQ_OUQn2EeGuZq6TN7cDtg"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_DQ-AMwn2EeGuZq6TN7cDtg" x="329" y="34" width="192"/>
+        </children>
+        <children xmi:id="_N8RsUAn2EeGuZq6TN7cDtg" type="State" element="_N8IiYAn2EeGuZq6TN7cDtg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_N8STYAn2EeGuZq6TN7cDtg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_N8STYQn2EeGuZq6TN7cDtg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_N8STYgn2EeGuZq6TN7cDtg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_N8S6cAn2EeGuZq6TN7cDtg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_N8S6cQn2EeGuZq6TN7cDtg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_N8S6cgn2EeGuZq6TN7cDtg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_N8S6cwn2EeGuZq6TN7cDtg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_N8RsUQn2EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_N8RsUgn2EeGuZq6TN7cDtg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_N8ThgAn2EeGuZq6TN7cDtg"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_N8RsUwn2EeGuZq6TN7cDtg" x="336" y="183"/>
+        </children>
+        <children xmi:id="_b7G-sAn2EeGuZq6TN7cDtg" type="State" element="_b6-b0An2EeGuZq6TN7cDtg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_b7HlwAn2EeGuZq6TN7cDtg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_b7HlwQn2EeGuZq6TN7cDtg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_b7Hlwgn2EeGuZq6TN7cDtg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_b7Hlwwn2EeGuZq6TN7cDtg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_b7HlxAn2EeGuZq6TN7cDtg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_b7HlxQn2EeGuZq6TN7cDtg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_b7Hlxgn2EeGuZq6TN7cDtg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_b7G-sQn2EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_b7G-sgn2EeGuZq6TN7cDtg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_b7IM0An2EeGuZq6TN7cDtg"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_b7G-swn2EeGuZq6TN7cDtg" x="34" y="268"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-Ql0Qn1EeGuZq6TN7cDtg"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_p-OJkQn1EeGuZq6TN7cDtg" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-RM4An1EeGuZq6TN7cDtg" x="220" y="10" width="651" height="400"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_p-VeUwn1EeGuZq6TN7cDtg" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_p-WFYAn1EeGuZq6TN7cDtg" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_p-WFYQn1EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_p-WFYgn1EeGuZq6TN7cDtg"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_p-WFYwn1EeGuZq6TN7cDtg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-WFZAn1EeGuZq6TN7cDtg"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_p-WscAn1EeGuZq6TN7cDtg" x="5" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_p-LtUQn1EeGuZq6TN7cDtg"/>
+    <edges xmi:id="_p-U3QAn1EeGuZq6TN7cDtg" type="Transition" element="_p-TpIwn1EeGuZq6TN7cDtg" source="_p-RM4gn1EeGuZq6TN7cDtg" target="_p-SbAQn1EeGuZq6TN7cDtg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_p-VeUAn1EeGuZq6TN7cDtg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_p-VeUQn1EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_p-VeUgn1EeGuZq6TN7cDtg" y="40"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_p-U3QQn1EeGuZq6TN7cDtg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_p-U3Qwn1EeGuZq6TN7cDtg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_p-U3Qgn1EeGuZq6TN7cDtg" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+    <edges xmi:id="_Fp3KMAn2EeGuZq6TN7cDtg" type="Transition" element="_Fp0t8An2EeGuZq6TN7cDtg" source="_p-SbAQn1EeGuZq6TN7cDtg" target="_DQ-AMAn2EeGuZq6TN7cDtg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_Fp3xQQn2EeGuZq6TN7cDtg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_Fp3xQgn2EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_Fp3xQwn2EeGuZq6TN7cDtg" x="-2" y="-15"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_Fp3KMQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_Fp3xQAn2EeGuZq6TN7cDtg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_Fp3KMgn2EeGuZq6TN7cDtg" points="[25, -6, -175, -6]$[202, -31, 2, -31]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_KAl9MArjEeGz3Ki5JUYy2w" id="(0.03125,0.42857142857142855)"/>
+    </edges>
+    <edges xmi:id="_IdwOIAn2EeGuZq6TN7cDtg" type="Transition" element="_IduY8An2EeGuZq6TN7cDtg" source="_DQ-AMAn2EeGuZq6TN7cDtg" target="_p-SbAQn1EeGuZq6TN7cDtg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_Idw1MQn2EeGuZq6TN7cDtg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_Idw1Mgn2EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_Idw1Mwn2EeGuZq6TN7cDtg" x="3" y="-9"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_IdwOIQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_Idw1MAn2EeGuZq6TN7cDtg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_IdwOIgn2EeGuZq6TN7cDtg" points="[-24, 2, 155, -13]$[-175, 14, 4, -1]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_L_i54An2EeGuZq6TN7cDtg" id="(0.02040816326530612,0.7619047619047619)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_LZZf4An2EeGuZq6TN7cDtg" id="(0.9183673469387755,0.7301587301587301)"/>
+    </edges>
+    <edges xmi:id="_Wx-hsAn2EeGuZq6TN7cDtg" type="Transition" element="_Wx7eYAn2EeGuZq6TN7cDtg" source="_p-SbAQn1EeGuZq6TN7cDtg" target="_N8RsUAn2EeGuZq6TN7cDtg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_Wx_IwAn2EeGuZq6TN7cDtg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_Wx_IwQn2EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_Wx_Iwgn2EeGuZq6TN7cDtg" x="73" y="-34"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_Wx-hsQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_Wx-hswn2EeGuZq6TN7cDtg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_Wx-hsgn2EeGuZq6TN7cDtg" points="[25, 15, -173, -105]$[176, 110, -22, -10]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_Wy7j8An2EeGuZq6TN7cDtg" id="(0.15384615384615385,0.1746031746031746)"/>
+    </edges>
+    <edges xmi:id="_aUowIAn2EeGuZq6TN7cDtg" type="Transition" element="_aUmT4An2EeGuZq6TN7cDtg" source="_N8RsUAn2EeGuZq6TN7cDtg" target="_p-SbAQn1EeGuZq6TN7cDtg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_aUowJAn2EeGuZq6TN7cDtg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_aUowJQn2EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_aUpXMAn2EeGuZq6TN7cDtg" x="4" y="-16"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_aUowIQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_aUowIwn2EeGuZq6TN7cDtg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_aUowIgn2EeGuZq6TN7cDtg" points="[-9, -6, 180, 106]$[-194, -97, -5, 15]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aVlLUAn2EeGuZq6TN7cDtg" id="(0.06293706293706294,0.31746031746031744)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aVlLUQn2EeGuZq6TN7cDtg" id="(0.40816326530612246,0.7619047619047619)"/>
+    </edges>
+    <edges xmi:id="_dQs4oAn2EeGuZq6TN7cDtg" type="Transition" element="_dQp1UAn2EeGuZq6TN7cDtg" source="_p-SbAQn1EeGuZq6TN7cDtg" target="_b7G-sAn2EeGuZq6TN7cDtg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_dQtfsQn2EeGuZq6TN7cDtg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_dQtfsgn2EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_dQtfswn2EeGuZq6TN7cDtg" x="76" y="-83"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_dQs4oQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_dQtfsAn2EeGuZq6TN7cDtg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_dQs4ogn2EeGuZq6TN7cDtg" points="[4, 32, -15, -195]$[28, 196, 9, -31]"/>
+    </edges>
+    <edges xmi:id="_ezgIIAn2EeGuZq6TN7cDtg" type="Transition" element="_ezdE0An2EeGuZq6TN7cDtg" source="_b7G-sAn2EeGuZq6TN7cDtg" target="_p-SbAQn1EeGuZq6TN7cDtg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_ezgIJAn2EeGuZq6TN7cDtg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_ezgIJQn2EeGuZq6TN7cDtg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_ezgIJgn2EeGuZq6TN7cDtg" x="1" y="-24"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_ezgIIQn2EeGuZq6TN7cDtg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_ezgIIwn2EeGuZq6TN7cDtg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_ezgIIgn2EeGuZq6TN7cDtg" points="[-3, -23, 18, 198]$[-27, -222, -6, -1]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_e0iC4An2EeGuZq6TN7cDtg" id="(0.16326530612244897,0.36507936507936506)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_e0iC4Qn2EeGuZq6TN7cDtg" id="(0.12244897959183673,0.4603174603174603)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 228 - 268
TestScenarios/TestModels/Test_Expression.sct

@@ -1,268 +1,228 @@
-<?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="_Pl0fsBneEeGCrY2NK7ISxg">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_Pl0fsRneEeGCrY2NK7ISxg" name="event1" direction="in" type="integer"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_Pl0fshneEeGCrY2NK7ISxg" name="event2" direction="out" type="real"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_Pl0fsxneEeGCrY2NK7ISxg" name="var1" type="integer">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_Pl0ftBneEeGCrY2NK7ISxg">
-          <value xsi:type="stext:IntLiteral" xmi:id="_Pl0ftRneEeGCrY2NK7ISxg" value="6"/>
-        </initialValue>
-      </declarations>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_Pl0fthneEeGCrY2NK7ISxg" name="var2" type="integer">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_Pl0ftxneEeGCrY2NK7ISxg">
-          <value xsi:type="stext:IntLiteral" xmi:id="_Pl0fuBneEeGCrY2NK7ISxg" value="123"/>
-        </initialValue>
-      </declarations>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_Pl0fuRneEeGCrY2NK7ISxg" name="var3" type="real">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_Pl0fuhneEeGCrY2NK7ISxg">
-          <value xsi:type="stext:RealLiteral" xmi:id="_Pl0fuxneEeGCrY2NK7ISxg" value="19.4"/>
-        </initialValue>
-      </declarations>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_Pl0fvBneEeGCrY2NK7ISxg" name="var4" type="real">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_Pl0fvRneEeGCrY2NK7ISxg">
-          <value xsi:type="stext:RealLiteral" xmi:id="_Pl0fvhneEeGCrY2NK7ISxg" value="43.3"/>
-        </initialValue>
-      </declarations>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_Pl0fvxneEeGCrY2NK7ISxg" name="var5" type="boolean">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_Pl0fwBneEeGCrY2NK7ISxg">
-          <value xsi:type="stext:BoolLiteral" xmi:id="_Pl0fwRneEeGCrY2NK7ISxg"/>
-        </initialValue>
-      </declarations>
-    </scopes>
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_Pl0fwhneEeGCrY2NK7ISxg" name="other">
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_Pl0fwxneEeGCrY2NK7ISxg" name="var1" type="boolean"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_Pl0fxBneEeGCrY2NK7ISxg" name="var2" type="real"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_Pl0fxRneEeGCrY2NK7ISxg" 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" expression="entry / var3 += var2 * var3;&#xA;exit / var2 = 1;&#xA;exit / var4 = 22.3;" name="state1" incomingTransitions="_wXrk4wuIEeGVgpgRVT1uXw _foN2kAuLEeGVgpgRVT1uXw">
-        <scopes xmi:id="_Pl278BneEeGCrY2NK7ISxg">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_Pl278RneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Pl278hneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_Pl278xneEeGCrY2NK7ISxg"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_Pl279BneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_Pl279RneEeGCrY2NK7ISxg" varRef="_Pl0fuRneEeGCrY2NK7ISxg" operator="+=">
-                <expression xsi:type="stext:NumericalMultiplyDivideExpression" xmi:id="_Pl279hneEeGCrY2NK7ISxg">
-                  <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_Pl279xneEeGCrY2NK7ISxg" value="_Pl0fthneEeGCrY2NK7ISxg"/>
-                  <rightOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_Pl27-BneEeGCrY2NK7ISxg" value="_Pl0fuRneEeGCrY2NK7ISxg"/>
-                </expression>
-              </actions>
-            </effect>
-          </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_Pl27-RneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Pl27-hneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:ExitEvent" xmi:id="_Pl27-xneEeGCrY2NK7ISxg"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_Pl27_BneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_Pl27_RneEeGCrY2NK7ISxg" varRef="_Pl0fthneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Pl27_hneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_Pl27_xneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
-              </actions>
-            </effect>
-          </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_Pl28ABneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Pl28ARneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:ExitEvent" xmi:id="_Pl28AhneEeGCrY2NK7ISxg"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_Pl28AxneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_Pl28BBneEeGCrY2NK7ISxg" varRef="_Pl0fvBneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Pl28BRneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:RealLiteral" xmi:id="_Pl28BhneEeGCrY2NK7ISxg" value="22.3"/>
-                </expression>
-              </actions>
-            </effect>
-          </declarations>
-        </scopes>
-        <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="_PmAs8BneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_PmAs8RneEeGCrY2NK7ISxg" event="_Pl0fsRneEeGCrY2NK7ISxg"/>
-            <guardExpression xsi:type="stext:LogicalOrExpression" xmi:id="_PmAs8hneEeGCrY2NK7ISxg">
-              <leftOperand xsi:type="stext:LogicalRelationExpression" xmi:id="_PmAs8xneEeGCrY2NK7ISxg" operator="==">
-                <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_PmAs9BneEeGCrY2NK7ISxg" value="_Pl0fwxneEeGCrY2NK7ISxg"/>
-                <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_PmAs9RneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:BoolLiteral" xmi:id="_PmAs9hneEeGCrY2NK7ISxg" value="true"/>
-                </rightOperand>
-              </leftOperand>
-              <rightOperand xsi:type="stext:LogicalRelationExpression" xmi:id="_PmAs9xneEeGCrY2NK7ISxg" operator="==">
-                <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_PmAs-BneEeGCrY2NK7ISxg" value="_Pl0fvxneEeGCrY2NK7ISxg"/>
-                <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_PmAs-RneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:BoolLiteral" xmi:id="_PmAs-hneEeGCrY2NK7ISxg"/>
-                </rightOperand>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-          <effect xsi:type="stext:ReactionEffect" xmi:id="_PmAs-xneEeGCrY2NK7ISxg">
-            <actions xsi:type="stext:Assignment" xmi:id="_PmAs_BneEeGCrY2NK7ISxg" varRef="_Pl0fwxneEeGCrY2NK7ISxg">
-              <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_PmAs_RneEeGCrY2NK7ISxg">
-                <value xsi:type="stext:BoolLiteral" xmi:id="_PmAs_hneEeGCrY2NK7ISxg"/>
-              </expression>
-            </actions>
-          </effect>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_dUv_IAuLEeGVgpgRVT1uXw" expression="entry / var3 /= 5;&#xA;entry / var1 += 1;&#xA;oncycle / var1 += 1;" name="state2" incomingTransitions="_ep-FoAuLEeGVgpgRVT1uXw">
-        <scopes xmi:id="_PmPWcBneEeGCrY2NK7ISxg">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_PmPWcRneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_PmPWchneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_PmPWcxneEeGCrY2NK7ISxg"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_PmPWdBneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_PmPWdRneEeGCrY2NK7ISxg" varRef="_Pl0fuRneEeGCrY2NK7ISxg" operator="/=">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_PmPWdhneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_PmPWdxneEeGCrY2NK7ISxg" value="5"/>
-                </expression>
-              </actions>
-            </effect>
-          </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_PmPWeBneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_PmPWeRneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_PmPWehneEeGCrY2NK7ISxg"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_PmPWexneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_PmPWfBneEeGCrY2NK7ISxg" varRef="_Pl0fsxneEeGCrY2NK7ISxg" operator="+=">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_PmPWfRneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_PmPWfhneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
-              </actions>
-            </effect>
-          </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_PmPWfxneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_PmPWgBneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:OnCycleEvent" xmi:id="_PmPWgRneEeGCrY2NK7ISxg"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_PmPWghneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_PmPWgxneEeGCrY2NK7ISxg" varRef="_Pl0fsxneEeGCrY2NK7ISxg" operator="+=">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_PmPWhBneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_PmPWhRneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
-              </actions>
-            </effect>
-          </declarations>
-        </scopes>
-        <outgoingTransitions xmi:id="_foN2kAuLEeGVgpgRVT1uXw" expression="event1[var3 > 0] / var5 = true;" target="_wXqWwAuIEeGVgpgRVT1uXw">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_PmVdEBneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_PmVdERneEeGCrY2NK7ISxg" event="_Pl0fsRneEeGCrY2NK7ISxg"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_PmVdEhneEeGCrY2NK7ISxg" operator=">">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_PmVdExneEeGCrY2NK7ISxg" value="_Pl0fuRneEeGCrY2NK7ISxg"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_PmVdFBneEeGCrY2NK7ISxg">
-                <value xsi:type="stext:IntLiteral" xmi:id="_PmVdFRneEeGCrY2NK7ISxg"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-          <effect xsi:type="stext:ReactionEffect" xmi:id="_PmWEIBneEeGCrY2NK7ISxg">
-            <actions xsi:type="stext:Assignment" xmi:id="_PmWEIRneEeGCrY2NK7ISxg" varRef="_Pl0fvxneEeGCrY2NK7ISxg">
-              <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_PmWEIhneEeGCrY2NK7ISxg">
-                <value xsi:type="stext:BoolLiteral" xmi:id="_PmWEIxneEeGCrY2NK7ISxg" value="true"/>
-              </expression>
-            </actions>
-          </effect>
-        </outgoingTransitions>
-      </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="213" y="9"/>
-        </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="121" y="49"/>
-        </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="147" y="209"/>
-        </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="5" width="706" height="405"/>
-    </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="[7, 3, -136, -63]$[47, 22, -96, -44]"/>
-    </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="-226"/>
-      </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]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_-CuLgBQuEeGt3dzsSIW24Q" id="(0.5477386934673367,0.9662921348314607)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_erE44AuLEeGVgpgRVT1uXw" id="(0.6216216216216216,0.19101123595505617)"/>
-    </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="-106"/>
-      </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.4594594594594595,0.07865168539325842)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_fpTbsAuLEeGVgpgRVT1uXw" id="(0.4371859296482412,0.9438202247191011)"/>
-    </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="_QCFUEBQvEeGt3dzsSIW24Q">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_QCFUERQvEeGt3dzsSIW24Q" name="event1" direction="in" type="integer"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_QCFUEhQvEeGt3dzsSIW24Q" name="event2" direction="out" type="real"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_QCFUExQvEeGt3dzsSIW24Q" name="var1" type="integer" initialValue="6"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_QCFUFBQvEeGt3dzsSIW24Q" name="var2" type="integer" initialValue="123"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_QCFUFRQvEeGt3dzsSIW24Q" name="var3" type="real" initialValue="19.4"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_QCFUFhQvEeGt3dzsSIW24Q" name="var4" type="real" initialValue="43.3"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_QCFUFxQvEeGt3dzsSIW24Q" name="var5" type="boolean" initialValue="false"/>
+    </scopes>
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_QCFUGBQvEeGt3dzsSIW24Q" name="other">
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_QCFUGRQvEeGt3dzsSIW24Q" name="var1" type="boolean"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_QCFUGhQvEeGt3dzsSIW24Q" name="var2" type="real"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_QCFUGxQvEeGt3dzsSIW24Q" 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="_QCYPABQvEeGt3dzsSIW24Q">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_QCYPARQvEeGt3dzsSIW24Q" event="_QCFUERQvEeGt3dzsSIW24Q"/>
+            <guardExpression xsi:type="stext:LogicalOrExpression" xmi:id="_QCYPAhQvEeGt3dzsSIW24Q">
+              <leftOperand xsi:type="stext:LogicalRelationExpression" xmi:id="_QCYPAxQvEeGt3dzsSIW24Q" operator="==">
+                <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_QCYPBBQvEeGt3dzsSIW24Q" value="_QCFUGRQvEeGt3dzsSIW24Q"/>
+                <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCYPBRQvEeGt3dzsSIW24Q" value="true"/>
+              </leftOperand>
+              <rightOperand xsi:type="stext:LogicalRelationExpression" xmi:id="_QCYPBhQvEeGt3dzsSIW24Q" operator="==">
+                <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_QCYPBxQvEeGt3dzsSIW24Q" value="_QCFUFxQvEeGt3dzsSIW24Q"/>
+                <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCYPCBQvEeGt3dzsSIW24Q" value="false"/>
+              </rightOperand>
+            </guardExpression>
+          </trigger>
+          <effect xsi:type="stext:ReactionEffect" xmi:id="_QCYPCRQvEeGt3dzsSIW24Q">
+            <actions xsi:type="stext:Assignment" xmi:id="_QCYPChQvEeGt3dzsSIW24Q" varRef="_QCFUGRQvEeGt3dzsSIW24Q">
+              <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCYPCxQvEeGt3dzsSIW24Q" value="false"/>
+            </actions>
+          </effect>
+        </outgoingTransitions>
+        <scopes xmi:id="_QCOeABQvEeGt3dzsSIW24Q">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_QCOeARQvEeGt3dzsSIW24Q">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_QCOeAhQvEeGt3dzsSIW24Q">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_QCOeAxQvEeGt3dzsSIW24Q"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_QCOeBBQvEeGt3dzsSIW24Q">
+              <actions xsi:type="stext:Assignment" xmi:id="_QCOeBRQvEeGt3dzsSIW24Q" varRef="_QCFUFRQvEeGt3dzsSIW24Q" operator="+=">
+                <expression xsi:type="stext:NumericalMultiplyDivideExpression" xmi:id="_QCOeBhQvEeGt3dzsSIW24Q">
+                  <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_QCOeBxQvEeGt3dzsSIW24Q" value="_QCFUFBQvEeGt3dzsSIW24Q"/>
+                  <rightOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_QCOeCBQvEeGt3dzsSIW24Q" value="_QCFUFRQvEeGt3dzsSIW24Q"/>
+                </expression>
+              </actions>
+            </effect>
+          </declarations>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_QCOeCRQvEeGt3dzsSIW24Q">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_QCOeChQvEeGt3dzsSIW24Q">
+              <triggers xsi:type="stext:ExitEvent" xmi:id="_QCOeCxQvEeGt3dzsSIW24Q"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_QCOeDBQvEeGt3dzsSIW24Q">
+              <actions xsi:type="stext:Assignment" xmi:id="_QCOeDRQvEeGt3dzsSIW24Q" varRef="_QCFUFBQvEeGt3dzsSIW24Q">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCOeDhQvEeGt3dzsSIW24Q" value="1"/>
+              </actions>
+            </effect>
+          </declarations>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_QCOeDxQvEeGt3dzsSIW24Q">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_QCOeEBQvEeGt3dzsSIW24Q">
+              <triggers xsi:type="stext:ExitEvent" xmi:id="_QCOeERQvEeGt3dzsSIW24Q"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_QCOeEhQvEeGt3dzsSIW24Q">
+              <actions xsi:type="stext:Assignment" xmi:id="_QCOeExQvEeGt3dzsSIW24Q" varRef="_QCFUFhQvEeGt3dzsSIW24Q">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCOeFBQvEeGt3dzsSIW24Q" 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] / var5 = true;" target="_wXqWwAuIEeGVgpgRVT1uXw">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_QCYPHxQvEeGt3dzsSIW24Q">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_QCYPIBQvEeGt3dzsSIW24Q" event="_QCFUERQvEeGt3dzsSIW24Q"/>
+            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_QCYPIRQvEeGt3dzsSIW24Q" operator=">">
+              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_QCYPIhQvEeGt3dzsSIW24Q" value="_QCFUFRQvEeGt3dzsSIW24Q"/>
+              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCYPIxQvEeGt3dzsSIW24Q" value="0"/>
+            </guardExpression>
+          </trigger>
+          <effect xsi:type="stext:ReactionEffect" xmi:id="_QCYPJBQvEeGt3dzsSIW24Q">
+            <actions xsi:type="stext:Assignment" xmi:id="_QCYPJRQvEeGt3dzsSIW24Q" varRef="_QCFUFxQvEeGt3dzsSIW24Q">
+              <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCYPJhQvEeGt3dzsSIW24Q" value="true"/>
+            </actions>
+          </effect>
+        </outgoingTransitions>
+        <scopes xmi:id="_QCYPDBQvEeGt3dzsSIW24Q">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_QCYPDRQvEeGt3dzsSIW24Q">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_QCYPDhQvEeGt3dzsSIW24Q">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_QCYPDxQvEeGt3dzsSIW24Q"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_QCYPEBQvEeGt3dzsSIW24Q">
+              <actions xsi:type="stext:Assignment" xmi:id="_QCYPERQvEeGt3dzsSIW24Q" varRef="_QCFUFRQvEeGt3dzsSIW24Q" operator="/=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCYPEhQvEeGt3dzsSIW24Q" value="5"/>
+              </actions>
+            </effect>
+          </declarations>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_QCYPExQvEeGt3dzsSIW24Q">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_QCYPFBQvEeGt3dzsSIW24Q">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_QCYPFRQvEeGt3dzsSIW24Q"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_QCYPFhQvEeGt3dzsSIW24Q">
+              <actions xsi:type="stext:Assignment" xmi:id="_QCYPFxQvEeGt3dzsSIW24Q" varRef="_QCFUExQvEeGt3dzsSIW24Q" operator="+=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCYPGBQvEeGt3dzsSIW24Q" value="1"/>
+              </actions>
+            </effect>
+          </declarations>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_QCYPGRQvEeGt3dzsSIW24Q">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_QCYPGhQvEeGt3dzsSIW24Q">
+              <triggers xsi:type="stext:OnCycleEvent" xmi:id="_QCYPGxQvEeGt3dzsSIW24Q"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_QCYPHBQvEeGt3dzsSIW24Q">
+              <actions xsi:type="stext:Assignment" xmi:id="_QCYPHRQvEeGt3dzsSIW24Q" varRef="_QCFUExQvEeGt3dzsSIW24Q" operator="+=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_QCYPHhQvEeGt3dzsSIW24Q" 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="213" y="9"/>
+        </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="121" y="49"/>
+        </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="147" y="209"/>
+        </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="5" width="706" height="405"/>
+    </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="[7, 3, -136, -63]$[47, 22, -96, -44]"/>
+    </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="-226"/>
+      </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]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_-CuLgBQuEeGt3dzsSIW24Q" id="(0.5477386934673367,0.9662921348314607)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_erE44AuLEeGVgpgRVT1uXw" id="(0.6216216216216216,0.19101123595505617)"/>
+    </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="-106"/>
+      </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.4594594594594595,0.07865168539325842)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_fpTbsAuLEeGVgpgRVT1uXw" id="(0.4371859296482412,0.9438202247191011)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 263 - 276
TestScenarios/TestModels/Test_Hierarchy.sct

@@ -1,397 +1,357 @@
 <?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="_Mv_1gPZlEeCSetPXFd1ZUw" name="Test_Hierarchy" expression="interface:&#xA;in event event1&#xA;in event event2&#xA;in event event3&#xA;in event event4&#xA;in event event5&#xA;in event event6&#xA;in event event7&#xA;in event event8&#xA;in event event9&#xA;in event event10&#xA;in event event11&#xA;in event event12&#xA;in event event13&#xA;in event event14&#xA;in event event15&#xA;in event event16&#xA;var s1 : integer&#xA;var s2 : integer&#xA;">
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_SiWiQBneEeGCrY2NK7ISxg">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiQRneEeGCrY2NK7ISxg" name="event1" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiQhneEeGCrY2NK7ISxg" name="event2" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiQxneEeGCrY2NK7ISxg" name="event3" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiRBneEeGCrY2NK7ISxg" name="event4" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiRRneEeGCrY2NK7ISxg" name="event5" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiRhneEeGCrY2NK7ISxg" name="event6" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiRxneEeGCrY2NK7ISxg" name="event7" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiSBneEeGCrY2NK7ISxg" name="event8" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiSRneEeGCrY2NK7ISxg" name="event9" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiShneEeGCrY2NK7ISxg" name="event10" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiSxneEeGCrY2NK7ISxg" name="event11" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiTBneEeGCrY2NK7ISxg" name="event12" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiTRneEeGCrY2NK7ISxg" name="event13" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiThneEeGCrY2NK7ISxg" name="event14" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiTxneEeGCrY2NK7ISxg" name="event15" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_SiWiUBneEeGCrY2NK7ISxg" name="event16" direction="in"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_SiWiURneEeGCrY2NK7ISxg" name="s1" type="integer"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_SiWiUhneEeGCrY2NK7ISxg" name="s2" type="integer"/>
+  <sgraph:Statechart xmi:id="_Mv_1gPZlEeCSetPXFd1ZUw" name="Test_Hierarchy" expression="interface:&#xA;in event event1&#xA;in event event2&#xA;in event event3&#xA;in event event4&#xA;in event event5&#xA;in event event6&#xA;in event event7&#xA;in event event8&#xA;in event event9&#xA;in event event10&#xA;in event event11&#xA;in event event12&#xA;in event event13&#xA;in event event14&#xA;in event event15&#xA;in event event16&#xA;var s1 : integer = 0&#xA;var s2 : integer&#xA;">
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_At2jgBmqEeGTS5uCECJdNQ">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jgRmqEeGTS5uCECJdNQ" name="event1" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jghmqEeGTS5uCECJdNQ" name="event2" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jgxmqEeGTS5uCECJdNQ" name="event3" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jhBmqEeGTS5uCECJdNQ" name="event4" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jhRmqEeGTS5uCECJdNQ" name="event5" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jhhmqEeGTS5uCECJdNQ" name="event6" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jhxmqEeGTS5uCECJdNQ" name="event7" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jiBmqEeGTS5uCECJdNQ" name="event8" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jiRmqEeGTS5uCECJdNQ" name="event9" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jihmqEeGTS5uCECJdNQ" name="event10" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jixmqEeGTS5uCECJdNQ" name="event11" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jjBmqEeGTS5uCECJdNQ" name="event12" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jjRmqEeGTS5uCECJdNQ" name="event13" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jjhmqEeGTS5uCECJdNQ" name="event14" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jjxmqEeGTS5uCECJdNQ" name="event15" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_At2jkBmqEeGTS5uCECJdNQ" name="event16" direction="in"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_At2jkRmqEeGTS5uCECJdNQ" name="s1" type="integer" initialValue="0"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_At2jkhmqEeGTS5uCECJdNQ" name="s2" type="integer"/>
     </scopes>
     <regions xmi:id="_MwAckvZlEeCSetPXFd1ZUw" name="main region">
       <vertices xsi:type="sgraph:Entry" xmi:id="_MwBDpvZlEeCSetPXFd1ZUw">
         <outgoingTransitions xmi:id="_MwHxU_ZlEeCSetPXFd1ZUw" target="_MwBqt_ZlEeCSetPXFd1ZUw"/>
       </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_MwBqt_ZlEeCSetPXFd1ZUw" expression="entry / s1=1;&#xA;exit / s1-=1;" name="State1" incomingTransitions="_MwHxU_ZlEeCSetPXFd1ZUw _gDLuUPiSEeC4at_AzcYiGg _PeCEgPiTEeC4at_AzcYiGg _R5300PiTEeC4at_AzcYiGg _VBno4PiTEeC4at_AzcYiGg">
-        <scopes xmi:id="_SiY-gBneEeGCrY2NK7ISxg">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_SiY-gRneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SiY-ghneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_SiY-gxneEeGCrY2NK7ISxg"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_MwBqt_ZlEeCSetPXFd1ZUw" name="State1" incomingTransitions="_MwHxU_ZlEeCSetPXFd1ZUw _gDLuUPiSEeC4at_AzcYiGg _PeCEgPiTEeC4at_AzcYiGg _R5300PiTEeC4at_AzcYiGg _VBno4PiTEeC4at_AzcYiGg" expression="entry / s1=1;&#xA;exit / s1-=1;">
+        <outgoingTransitions xmi:id="_ys3bsPiREeC4at_AzcYiGg" expression="event1" target="_vau8kPiREeC4at_AzcYiGg">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AuPlEBmqEeGTS5uCECJdNQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AuPlERmqEeGTS5uCECJdNQ" event="_At2jgRmqEeGTS5uCECJdNQ"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_At6N4BmqEeGTS5uCECJdNQ">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_At6N4RmqEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_At6N4hmqEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_At6N4xmqEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_SiY-hBneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_SiY-hRneEeGCrY2NK7ISxg" varRef="_SiWiURneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SiY-hhneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_SiY-hxneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_At6N5BmqEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_At6N5RmqEeGTS5uCECJdNQ" varRef="_At2jkRmqEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_At6N5hmqEeGTS5uCECJdNQ" value="1"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_SiY-iBneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SiY-iRneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:ExitEvent" xmi:id="_SiY-ihneEeGCrY2NK7ISxg"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_At6N5xmqEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_At6N6BmqEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:ExitEvent" xmi:id="_At6N6RmqEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_SiY-ixneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_SiY-jBneEeGCrY2NK7ISxg" varRef="_SiWiURneEeGCrY2NK7ISxg" operator="-=">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SiY-jRneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_SiY-jhneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_At6N6hmqEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_At6N6xmqEeGTS5uCECJdNQ" varRef="_At2jkRmqEeGTS5uCECJdNQ" operator="-=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_At6N7BmqEeGTS5uCECJdNQ" value="1"/>
               </actions>
             </effect>
           </declarations>
         </scopes>
-        <outgoingTransitions xmi:id="_ys3bsPiREeC4at_AzcYiGg" expression="event1" target="_vau8kPiREeC4at_AzcYiGg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SiiIcBneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SiiIcRneEeGCrY2NK7ISxg" event="_SiWiQRneEeGCrY2NK7ISxg"/>
-          </trigger>
-        </outgoingTransitions>
         <subRegions xmi:id="_w_O_wPiSEeC4at_AzcYiGg" name="Region1">
-          <vertices xsi:type="sgraph:State" xmi:id="_yYbAQPiSEeC4at_AzcYiGg" expression="entry / s1+=1;&#xA;exit / s1-=1;" name="State9" incomingTransitions="_1vGoMPiSEeC4at_AzcYiGg _9XYoMPiSEeC4at_AzcYiGg _YoMG8PiTEeC4at_AzcYiGg">
-            <scopes xmi:id="_SinoABneEeGCrY2NK7ISxg">
-              <declarations xsi:type="stext:LocalReaction" xmi:id="_SinoARneEeGCrY2NK7ISxg">
-                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SinoAhneEeGCrY2NK7ISxg">
-                  <triggers xsi:type="stext:EntryEvent" xmi:id="_SinoAxneEeGCrY2NK7ISxg"/>
+          <vertices xsi:type="sgraph:State" xmi:id="_yYbAQPiSEeC4at_AzcYiGg" name="State9" incomingTransitions="_1vGoMPiSEeC4at_AzcYiGg _9XYoMPiSEeC4at_AzcYiGg _YoMG8PiTEeC4at_AzcYiGg" expression="entry / s1+=1;&#xA;exit / s1-=1;">
+            <outgoingTransitions xmi:id="_7lpk0PiSEeC4at_AzcYiGg" expression="event9" target="_3mSzUPiSEeC4at_AzcYiGg">
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Auqb0BmqEeGTS5uCECJdNQ">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Auqb0RmqEeGTS5uCECJdNQ" event="_At2jiRmqEeGTS5uCECJdNQ"/>
+              </trigger>
+            </outgoingTransitions>
+            <scopes xmi:id="_AuZ9IBmqEeGTS5uCECJdNQ">
+              <declarations xsi:type="stext:LocalReaction" xmi:id="_AuZ9IRmqEeGTS5uCECJdNQ">
+                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AuZ9IhmqEeGTS5uCECJdNQ">
+                  <triggers xsi:type="stext:EntryEvent" xmi:id="_AuZ9IxmqEeGTS5uCECJdNQ"/>
                 </trigger>
-                <effect xsi:type="stext:ReactionEffect" xmi:id="_SinoBBneEeGCrY2NK7ISxg">
-                  <actions xsi:type="stext:Assignment" xmi:id="_SinoBRneEeGCrY2NK7ISxg" varRef="_SiWiURneEeGCrY2NK7ISxg" operator="+=">
-                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SinoBhneEeGCrY2NK7ISxg">
-                      <value xsi:type="stext:IntLiteral" xmi:id="_SinoBxneEeGCrY2NK7ISxg" value="1"/>
-                    </expression>
+                <effect xsi:type="stext:ReactionEffect" xmi:id="_AuZ9JBmqEeGTS5uCECJdNQ">
+                  <actions xsi:type="stext:Assignment" xmi:id="_AuZ9JRmqEeGTS5uCECJdNQ" varRef="_At2jkRmqEeGTS5uCECJdNQ" operator="+=">
+                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AuZ9JhmqEeGTS5uCECJdNQ" value="1"/>
                   </actions>
                 </effect>
               </declarations>
-              <declarations xsi:type="stext:LocalReaction" xmi:id="_SinoCBneEeGCrY2NK7ISxg">
-                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SinoCRneEeGCrY2NK7ISxg">
-                  <triggers xsi:type="stext:ExitEvent" xmi:id="_SinoChneEeGCrY2NK7ISxg"/>
+              <declarations xsi:type="stext:LocalReaction" xmi:id="_AuZ9JxmqEeGTS5uCECJdNQ">
+                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AuZ9KBmqEeGTS5uCECJdNQ">
+                  <triggers xsi:type="stext:ExitEvent" xmi:id="_AuZ9KRmqEeGTS5uCECJdNQ"/>
                 </trigger>
-                <effect xsi:type="stext:ReactionEffect" xmi:id="_SinoCxneEeGCrY2NK7ISxg">
-                  <actions xsi:type="stext:Assignment" xmi:id="_SinoDBneEeGCrY2NK7ISxg" varRef="_SiWiURneEeGCrY2NK7ISxg" operator="-=">
-                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SinoDRneEeGCrY2NK7ISxg">
-                      <value xsi:type="stext:IntLiteral" xmi:id="_SinoDhneEeGCrY2NK7ISxg" value="1"/>
-                    </expression>
+                <effect xsi:type="stext:ReactionEffect" xmi:id="_AuZ9KhmqEeGTS5uCECJdNQ">
+                  <actions xsi:type="stext:Assignment" xmi:id="_AuZ9KxmqEeGTS5uCECJdNQ" varRef="_At2jkRmqEeGTS5uCECJdNQ" operator="-=">
+                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AuZ9LBmqEeGTS5uCECJdNQ" value="1"/>
                   </actions>
                 </effect>
               </declarations>
             </scopes>
-            <outgoingTransitions xmi:id="_7lpk0PiSEeC4at_AzcYiGg" expression="event9" target="_3mSzUPiSEeC4at_AzcYiGg">
-              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SiwK4BneEeGCrY2NK7ISxg">
-                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SiwK4RneEeGCrY2NK7ISxg" event="_SiWiSRneEeGCrY2NK7ISxg"/>
-              </trigger>
-            </outgoingTransitions>
           </vertices>
           <vertices xsi:type="sgraph:Entry" xmi:id="_0XCpEPiSEeC4at_AzcYiGg">
             <outgoingTransitions xmi:id="_1vGoMPiSEeC4at_AzcYiGg" expression="" target="_yYbAQPiSEeC4at_AzcYiGg"/>
           </vertices>
-          <vertices xsi:type="sgraph:State" xmi:id="_3mSzUPiSEeC4at_AzcYiGg" expression="entry / s1+=1;&#xA;exit / s1-=1;" name="State10" incomingTransitions="_7lpk0PiSEeC4at_AzcYiGg _jHEgoPiTEeC4at_AzcYiGg _qCKqgPiTEeC4at_AzcYiGg">
-            <scopes xmi:id="_Si1qcBneEeGCrY2NK7ISxg">
-              <declarations xsi:type="stext:LocalReaction" xmi:id="_Si1qcRneEeGCrY2NK7ISxg">
-                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Si1qchneEeGCrY2NK7ISxg">
-                  <triggers xsi:type="stext:EntryEvent" xmi:id="_Si1qcxneEeGCrY2NK7ISxg"/>
+          <vertices xsi:type="sgraph:State" xmi:id="_3mSzUPiSEeC4at_AzcYiGg" name="State10" incomingTransitions="_7lpk0PiSEeC4at_AzcYiGg _jHEgoPiTEeC4at_AzcYiGg _qCKqgPiTEeC4at_AzcYiGg" expression="entry / s1+=1;&#xA;exit / s1-=1;">
+            <outgoingTransitions xmi:id="_9XYoMPiSEeC4at_AzcYiGg" expression="event10" target="_yYbAQPiSEeC4at_AzcYiGg">
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AvGgsBmqEeGTS5uCECJdNQ">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AvGgsRmqEeGTS5uCECJdNQ" event="_At2jihmqEeGTS5uCECJdNQ"/>
+              </trigger>
+            </outgoingTransitions>
+            <scopes xmi:id="_Au1a8BmqEeGTS5uCECJdNQ">
+              <declarations xsi:type="stext:LocalReaction" xmi:id="_Au1a8RmqEeGTS5uCECJdNQ">
+                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Au1a8hmqEeGTS5uCECJdNQ">
+                  <triggers xsi:type="stext:EntryEvent" xmi:id="_Au1a8xmqEeGTS5uCECJdNQ"/>
                 </trigger>
-                <effect xsi:type="stext:ReactionEffect" xmi:id="_Si1qdBneEeGCrY2NK7ISxg">
-                  <actions xsi:type="stext:Assignment" xmi:id="_Si1qdRneEeGCrY2NK7ISxg" varRef="_SiWiURneEeGCrY2NK7ISxg" operator="+=">
-                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Si1qdhneEeGCrY2NK7ISxg">
-                      <value xsi:type="stext:IntLiteral" xmi:id="_Si1qdxneEeGCrY2NK7ISxg" value="1"/>
-                    </expression>
+                <effect xsi:type="stext:ReactionEffect" xmi:id="_Au1a9BmqEeGTS5uCECJdNQ">
+                  <actions xsi:type="stext:Assignment" xmi:id="_Au1a9RmqEeGTS5uCECJdNQ" varRef="_At2jkRmqEeGTS5uCECJdNQ" operator="+=">
+                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Au1a9hmqEeGTS5uCECJdNQ" value="1"/>
                   </actions>
                 </effect>
               </declarations>
-              <declarations xsi:type="stext:LocalReaction" xmi:id="_Si1qeBneEeGCrY2NK7ISxg">
-                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Si1qeRneEeGCrY2NK7ISxg">
-                  <triggers xsi:type="stext:ExitEvent" xmi:id="_Si1qehneEeGCrY2NK7ISxg"/>
+              <declarations xsi:type="stext:LocalReaction" xmi:id="_Au1a9xmqEeGTS5uCECJdNQ">
+                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Au1a-BmqEeGTS5uCECJdNQ">
+                  <triggers xsi:type="stext:ExitEvent" xmi:id="_Au1a-RmqEeGTS5uCECJdNQ"/>
                 </trigger>
-                <effect xsi:type="stext:ReactionEffect" xmi:id="_Si1qexneEeGCrY2NK7ISxg">
-                  <actions xsi:type="stext:Assignment" xmi:id="_Si1qfBneEeGCrY2NK7ISxg" varRef="_SiWiURneEeGCrY2NK7ISxg" operator="-=">
-                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Si1qfRneEeGCrY2NK7ISxg">
-                      <value xsi:type="stext:IntLiteral" xmi:id="_Si1qfhneEeGCrY2NK7ISxg" value="1"/>
-                    </expression>
+                <effect xsi:type="stext:ReactionEffect" xmi:id="_Au1a-hmqEeGTS5uCECJdNQ">
+                  <actions xsi:type="stext:Assignment" xmi:id="_Au1a-xmqEeGTS5uCECJdNQ" varRef="_At2jkRmqEeGTS5uCECJdNQ" operator="-=">
+                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Au1a_BmqEeGTS5uCECJdNQ" value="1"/>
                   </actions>
                 </effect>
               </declarations>
             </scopes>
-            <outgoingTransitions xmi:id="_9XYoMPiSEeC4at_AzcYiGg" expression="event10" target="_yYbAQPiSEeC4at_AzcYiGg">
-              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SjJzgBneEeGCrY2NK7ISxg">
-                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SjJzgRneEeGCrY2NK7ISxg" event="_SiWiShneEeGCrY2NK7ISxg"/>
-              </trigger>
-            </outgoingTransitions>
           </vertices>
         </subRegions>
       </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_vau8kPiREeC4at_AzcYiGg" expression="entry / s2 = 1;&#xA;exit / s2-=1;" name="State2" incomingTransitions="_ys3bsPiREeC4at_AzcYiGg">
-        <scopes xmi:id="_SjPTEBneEeGCrY2NK7ISxg">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_SjPTERneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SjPTEhneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_SjPTExneEeGCrY2NK7ISxg"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_vau8kPiREeC4at_AzcYiGg" name="State2" incomingTransitions="_ys3bsPiREeC4at_AzcYiGg" expression="entry / s2 = 1;&#xA;exit / s2-=1;">
+        <outgoingTransitions xmi:id="_gDLuUPiSEeC4at_AzcYiGg" expression="event6" target="_MwBqt_ZlEeCSetPXFd1ZUw">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Ave7MBmqEeGTS5uCECJdNQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Ave7MRmqEeGTS5uCECJdNQ" event="_At2jhhmqEeGTS5uCECJdNQ"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_AvQRsBmqEeGTS5uCECJdNQ">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_AvQRsRmqEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AvQRshmqEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_AvQRsxmqEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_SjPTFBneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_SjPTFRneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SjPTFhneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_SjPTFxneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_AvQRtBmqEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_AvQRtRmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AvQRthmqEeGTS5uCECJdNQ" value="1"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_SjPTGBneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SjPTGRneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:ExitEvent" xmi:id="_SjPTGhneEeGCrY2NK7ISxg"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_AvQRtxmqEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AvQRuBmqEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:ExitEvent" xmi:id="_AvQRuRmqEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_SjPTGxneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_SjPTHBneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="-=">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SjPTHRneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_SjPTHhneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_AvQRuhmqEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_AvQRuxmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="-=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AvQRvBmqEeGTS5uCECJdNQ" value="1"/>
               </actions>
             </effect>
           </declarations>
         </scopes>
-        <outgoingTransitions xmi:id="_gDLuUPiSEeC4at_AzcYiGg" expression="event6" target="_MwBqt_ZlEeCSetPXFd1ZUw">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SjYdABneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SjYdARneEeGCrY2NK7ISxg" event="_SiWiRhneEeGCrY2NK7ISxg"/>
-          </trigger>
-        </outgoingTransitions>
         <subRegions xmi:id="_x3yN0PiREeC4at_AzcYiGg" name="Region2">
-          <vertices xsi:type="sgraph:State" xmi:id="_08_EMPiREeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;" name="State3" incomingTransitions="_3t66wPiREeC4at_AzcYiGg _kRfh0PiSEeC4at_AzcYiGg">
-            <scopes xmi:id="_Sjd8kBneEeGCrY2NK7ISxg">
-              <declarations xsi:type="stext:LocalReaction" xmi:id="_Sjd8kRneEeGCrY2NK7ISxg">
-                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Sjd8khneEeGCrY2NK7ISxg">
-                  <triggers xsi:type="stext:EntryEvent" xmi:id="_Sjd8kxneEeGCrY2NK7ISxg"/>
-                </trigger>
-                <effect xsi:type="stext:ReactionEffect" xmi:id="_Sjd8lBneEeGCrY2NK7ISxg">
-                  <actions xsi:type="stext:Assignment" xmi:id="_Sjd8lRneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="+=">
-                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Sjd8lhneEeGCrY2NK7ISxg">
-                      <value xsi:type="stext:IntLiteral" xmi:id="_Sjd8lxneEeGCrY2NK7ISxg" value="1"/>
-                    </expression>
-                  </actions>
-                </effect>
-              </declarations>
-              <declarations xsi:type="stext:LocalReaction" xmi:id="_Sjd8mBneEeGCrY2NK7ISxg">
-                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Sjd8mRneEeGCrY2NK7ISxg">
-                  <triggers xsi:type="stext:ExitEvent" xmi:id="_Sjd8mhneEeGCrY2NK7ISxg"/>
-                </trigger>
-                <effect xsi:type="stext:ReactionEffect" xmi:id="_Sjd8mxneEeGCrY2NK7ISxg">
-                  <actions xsi:type="stext:Assignment" xmi:id="_Sjd8nBneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="-=">
-                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Sjd8nRneEeGCrY2NK7ISxg">
-                      <value xsi:type="stext:IntLiteral" xmi:id="_Sjd8nhneEeGCrY2NK7ISxg" value="1"/>
-                    </expression>
-                  </actions>
-                </effect>
-              </declarations>
-            </scopes>
+          <vertices xsi:type="sgraph:State" xmi:id="_08_EMPiREeC4at_AzcYiGg" name="State3" incomingTransitions="_3t66wPiREeC4at_AzcYiGg _kRfh0PiSEeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;">
             <outgoingTransitions xmi:id="_8XIhkPiREeC4at_AzcYiGg" expression="event2" target="_5TvCAPiREeC4at_AzcYiGg">
-              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SjnGgBneEeGCrY2NK7ISxg">
-                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SjnGgRneEeGCrY2NK7ISxg" event="_SiWiQhneEeGCrY2NK7ISxg"/>
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Av3VsBmqEeGTS5uCECJdNQ">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Av3VsRmqEeGTS5uCECJdNQ" event="_At2jghmqEeGTS5uCECJdNQ"/>
               </trigger>
             </outgoingTransitions>
             <outgoingTransitions xmi:id="_PeCEgPiTEeC4at_AzcYiGg" expression="event11" target="_MwBqt_ZlEeCSetPXFd1ZUw">
-              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SjtNIBneEeGCrY2NK7ISxg">
-                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SjtNIRneEeGCrY2NK7ISxg" event="_SiWiSxneEeGCrY2NK7ISxg"/>
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Av_4kBmqEeGTS5uCECJdNQ">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Av_4kRmqEeGTS5uCECJdNQ" event="_At2jixmqEeGTS5uCECJdNQ"/>
               </trigger>
             </outgoingTransitions>
             <outgoingTransitions xmi:id="_YoMG8PiTEeC4at_AzcYiGg" expression="event14" target="_yYbAQPiSEeC4at_AzcYiGg">
-              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SjyFoBneEeGCrY2NK7ISxg">
-                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SjyFoRneEeGCrY2NK7ISxg" event="_SiWiThneEeGCrY2NK7ISxg"/>
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AwIbcBmqEeGTS5uCECJdNQ">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AwIbcRmqEeGTS5uCECJdNQ" event="_At2jjhmqEeGTS5uCECJdNQ"/>
               </trigger>
             </outgoingTransitions>
+            <scopes xmi:id="_AvneEBmqEeGTS5uCECJdNQ">
+              <declarations xsi:type="stext:LocalReaction" xmi:id="_AvneERmqEeGTS5uCECJdNQ">
+                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AvneEhmqEeGTS5uCECJdNQ">
+                  <triggers xsi:type="stext:EntryEvent" xmi:id="_AvneExmqEeGTS5uCECJdNQ"/>
+                </trigger>
+                <effect xsi:type="stext:ReactionEffect" xmi:id="_AvneFBmqEeGTS5uCECJdNQ">
+                  <actions xsi:type="stext:Assignment" xmi:id="_AvneFRmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="+=">
+                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AvneFhmqEeGTS5uCECJdNQ" value="1"/>
+                  </actions>
+                </effect>
+              </declarations>
+              <declarations xsi:type="stext:LocalReaction" xmi:id="_AvneFxmqEeGTS5uCECJdNQ">
+                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AvneGBmqEeGTS5uCECJdNQ">
+                  <triggers xsi:type="stext:ExitEvent" xmi:id="_AvneGRmqEeGTS5uCECJdNQ"/>
+                </trigger>
+                <effect xsi:type="stext:ReactionEffect" xmi:id="_AvneGhmqEeGTS5uCECJdNQ">
+                  <actions xsi:type="stext:Assignment" xmi:id="_AvneGxmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="-=">
+                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AvneHBmqEeGTS5uCECJdNQ" value="1"/>
+                  </actions>
+                </effect>
+              </declarations>
+            </scopes>
           </vertices>
           <vertices xsi:type="sgraph:Entry" xmi:id="_3CQHkPiREeC4at_AzcYiGg">
             <outgoingTransitions xmi:id="_3t66wPiREeC4at_AzcYiGg" target="_08_EMPiREeC4at_AzcYiGg"/>
           </vertices>
-          <vertices xsi:type="sgraph:State" xmi:id="_5TvCAPiREeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;" name="State4" incomingTransitions="_8XIhkPiREeC4at_AzcYiGg">
-            <scopes xmi:id="_Sj3lMBneEeGCrY2NK7ISxg">
-              <declarations xsi:type="stext:LocalReaction" xmi:id="_Sj3lMRneEeGCrY2NK7ISxg">
-                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Sj3lMhneEeGCrY2NK7ISxg">
-                  <triggers xsi:type="stext:EntryEvent" xmi:id="_Sj3lMxneEeGCrY2NK7ISxg"/>
+          <vertices xsi:type="sgraph:State" xmi:id="_5TvCAPiREeC4at_AzcYiGg" name="State4" incomingTransitions="_8XIhkPiREeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;">
+            <outgoingTransitions xmi:id="_kRfh0PiSEeC4at_AzcYiGg" expression="event7" target="_08_EMPiREeC4at_AzcYiGg">
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Awg18BmqEeGTS5uCECJdNQ">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Awg18RmqEeGTS5uCECJdNQ" event="_At2jhxmqEeGTS5uCECJdNQ"/>
+              </trigger>
+            </outgoingTransitions>
+            <scopes xmi:id="_AwRlYBmqEeGTS5uCECJdNQ">
+              <declarations xsi:type="stext:LocalReaction" xmi:id="_AwRlYRmqEeGTS5uCECJdNQ">
+                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AwRlYhmqEeGTS5uCECJdNQ">
+                  <triggers xsi:type="stext:EntryEvent" xmi:id="_AwRlYxmqEeGTS5uCECJdNQ"/>
                 </trigger>
-                <effect xsi:type="stext:ReactionEffect" xmi:id="_Sj3lNBneEeGCrY2NK7ISxg">
-                  <actions xsi:type="stext:Assignment" xmi:id="_Sj3lNRneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="+=">
-                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Sj3lNhneEeGCrY2NK7ISxg">
-                      <value xsi:type="stext:IntLiteral" xmi:id="_Sj3lNxneEeGCrY2NK7ISxg" value="1"/>
-                    </expression>
+                <effect xsi:type="stext:ReactionEffect" xmi:id="_AwRlZBmqEeGTS5uCECJdNQ">
+                  <actions xsi:type="stext:Assignment" xmi:id="_AwRlZRmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="+=">
+                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AwRlZhmqEeGTS5uCECJdNQ" value="1"/>
                   </actions>
                 </effect>
               </declarations>
-              <declarations xsi:type="stext:LocalReaction" xmi:id="_Sj3lOBneEeGCrY2NK7ISxg">
-                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Sj3lORneEeGCrY2NK7ISxg">
-                  <triggers xsi:type="stext:ExitEvent" xmi:id="_Sj3lOhneEeGCrY2NK7ISxg"/>
+              <declarations xsi:type="stext:LocalReaction" xmi:id="_AwRlZxmqEeGTS5uCECJdNQ">
+                <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AwRlaBmqEeGTS5uCECJdNQ">
+                  <triggers xsi:type="stext:ExitEvent" xmi:id="_AwRlaRmqEeGTS5uCECJdNQ"/>
                 </trigger>
-                <effect xsi:type="stext:ReactionEffect" xmi:id="_Sj3lOxneEeGCrY2NK7ISxg">
-                  <actions xsi:type="stext:Assignment" xmi:id="_Sj3lPBneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="-=">
-                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Sj3lPRneEeGCrY2NK7ISxg">
-                      <value xsi:type="stext:IntLiteral" xmi:id="_Sj3lPhneEeGCrY2NK7ISxg" value="1"/>
-                    </expression>
+                <effect xsi:type="stext:ReactionEffect" xmi:id="_AwRlahmqEeGTS5uCECJdNQ">
+                  <actions xsi:type="stext:Assignment" xmi:id="_AwRlaxmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="-=">
+                    <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AwRlbBmqEeGTS5uCECJdNQ" value="1"/>
                   </actions>
                 </effect>
               </declarations>
             </scopes>
-            <outgoingTransitions xmi:id="_kRfh0PiSEeC4at_AzcYiGg" expression="event7" target="_08_EMPiREeC4at_AzcYiGg">
-              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SkM8YBneEeGCrY2NK7ISxg">
-                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SkM8YRneEeGCrY2NK7ISxg" event="_SiWiRxneEeGCrY2NK7ISxg"/>
-              </trigger>
-            </outgoingTransitions>
             <subRegions xmi:id="_-v5IsPiREeC4at_AzcYiGg" name="Region4">
-              <vertices xsi:type="sgraph:State" xmi:id="__P10EPiREeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;" name="State5" incomingTransitions="_GZpvYPiSEeC4at_AzcYiGg _nOwkMPiSEeC4at_AzcYiGg">
-                <scopes xmi:id="_SkSb8BneEeGCrY2NK7ISxg">
-                  <declarations xsi:type="stext:LocalReaction" xmi:id="_SkSb8RneEeGCrY2NK7ISxg">
-                    <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SkSb8hneEeGCrY2NK7ISxg">
-                      <triggers xsi:type="stext:EntryEvent" xmi:id="_SkSb8xneEeGCrY2NK7ISxg"/>
-                    </trigger>
-                    <effect xsi:type="stext:ReactionEffect" xmi:id="_SkSb9BneEeGCrY2NK7ISxg">
-                      <actions xsi:type="stext:Assignment" xmi:id="_SkSb9RneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="+=">
-                        <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SkSb9hneEeGCrY2NK7ISxg">
-                          <value xsi:type="stext:IntLiteral" xmi:id="_SkSb9xneEeGCrY2NK7ISxg" value="1"/>
-                        </expression>
-                      </actions>
-                    </effect>
-                  </declarations>
-                  <declarations xsi:type="stext:LocalReaction" xmi:id="_SkSb-BneEeGCrY2NK7ISxg">
-                    <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SkSb-RneEeGCrY2NK7ISxg">
-                      <triggers xsi:type="stext:ExitEvent" xmi:id="_SkSb-hneEeGCrY2NK7ISxg"/>
-                    </trigger>
-                    <effect xsi:type="stext:ReactionEffect" xmi:id="_SkSb-xneEeGCrY2NK7ISxg">
-                      <actions xsi:type="stext:Assignment" xmi:id="_SkSb_BneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="-=">
-                        <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SkSb_RneEeGCrY2NK7ISxg">
-                          <value xsi:type="stext:IntLiteral" xmi:id="_SkSb_hneEeGCrY2NK7ISxg" value="1"/>
-                        </expression>
-                      </actions>
-                    </effect>
-                  </declarations>
-                </scopes>
+              <vertices xsi:type="sgraph:State" xmi:id="__P10EPiREeC4at_AzcYiGg" name="State5" incomingTransitions="_GZpvYPiSEeC4at_AzcYiGg _nOwkMPiSEeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;">
                 <outgoingTransitions xmi:id="_JU70wPiSEeC4at_AzcYiGg" expression="event3" target="_DCp-YPiSEeC4at_AzcYiGg">
-                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Ska-0BneEeGCrY2NK7ISxg">
-                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Ska-0RneEeGCrY2NK7ISxg" event="_SiWiQxneEeGCrY2NK7ISxg"/>
+                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Aw3bQBmqEeGTS5uCECJdNQ">
+                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Aw3bQRmqEeGTS5uCECJdNQ" event="_At2jgxmqEeGTS5uCECJdNQ"/>
                   </trigger>
                 </outgoingTransitions>
                 <outgoingTransitions xmi:id="_R5300PiTEeC4at_AzcYiGg" expression="event12" target="_MwBqt_ZlEeCSetPXFd1ZUw">
-                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Skf3UBneEeGCrY2NK7ISxg">
-                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Skf3URneEeGCrY2NK7ISxg" event="_SiWiTBneEeGCrY2NK7ISxg"/>
+                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Aw-wABmqEeGTS5uCECJdNQ">
+                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Aw-wARmqEeGTS5uCECJdNQ" event="_At2jjBmqEeGTS5uCECJdNQ"/>
                   </trigger>
                 </outgoingTransitions>
                 <outgoingTransitions xmi:id="_jHEgoPiTEeC4at_AzcYiGg" expression="event15" target="_3mSzUPiSEeC4at_AzcYiGg">
-                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SklW4BneEeGCrY2NK7ISxg">
-                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SklW4RneEeGCrY2NK7ISxg" event="_SiWiTxneEeGCrY2NK7ISxg"/>
+                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AxGr0BmqEeGTS5uCECJdNQ">
+                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AxGr0RmqEeGTS5uCECJdNQ" event="_At2jjxmqEeGTS5uCECJdNQ"/>
                   </trigger>
                 </outgoingTransitions>
-              </vertices>
-              <vertices xsi:type="sgraph:State" xmi:id="_DCp-YPiSEeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;" name="State6" incomingTransitions="_JU70wPiSEeC4at_AzcYiGg">
-                <scopes xmi:id="_SkqPYBneEeGCrY2NK7ISxg">
-                  <declarations xsi:type="stext:LocalReaction" xmi:id="_SkqPYRneEeGCrY2NK7ISxg">
-                    <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SkqPYhneEeGCrY2NK7ISxg">
-                      <triggers xsi:type="stext:EntryEvent" xmi:id="_SkqPYxneEeGCrY2NK7ISxg"/>
+                <scopes xmi:id="_AwpY0BmqEeGTS5uCECJdNQ">
+                  <declarations xsi:type="stext:LocalReaction" xmi:id="_AwpY0RmqEeGTS5uCECJdNQ">
+                    <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AwpY0hmqEeGTS5uCECJdNQ">
+                      <triggers xsi:type="stext:EntryEvent" xmi:id="_AwpY0xmqEeGTS5uCECJdNQ"/>
                     </trigger>
-                    <effect xsi:type="stext:ReactionEffect" xmi:id="_SkqPZBneEeGCrY2NK7ISxg">
-                      <actions xsi:type="stext:Assignment" xmi:id="_SkqPZRneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="+=">
-                        <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SkqPZhneEeGCrY2NK7ISxg">
-                          <value xsi:type="stext:IntLiteral" xmi:id="_SkqPZxneEeGCrY2NK7ISxg" value="1"/>
-                        </expression>
+                    <effect xsi:type="stext:ReactionEffect" xmi:id="_AwpY1BmqEeGTS5uCECJdNQ">
+                      <actions xsi:type="stext:Assignment" xmi:id="_AwpY1RmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="+=">
+                        <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AwpY1hmqEeGTS5uCECJdNQ" value="1"/>
                       </actions>
                     </effect>
                   </declarations>
-                  <declarations xsi:type="stext:LocalReaction" xmi:id="_SkqPaBneEeGCrY2NK7ISxg">
-                    <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SkqPaRneEeGCrY2NK7ISxg">
-                      <triggers xsi:type="stext:ExitEvent" xmi:id="_SkqPahneEeGCrY2NK7ISxg"/>
+                  <declarations xsi:type="stext:LocalReaction" xmi:id="_AwpY1xmqEeGTS5uCECJdNQ">
+                    <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AwpY2BmqEeGTS5uCECJdNQ">
+                      <triggers xsi:type="stext:ExitEvent" xmi:id="_AwpY2RmqEeGTS5uCECJdNQ"/>
                     </trigger>
-                    <effect xsi:type="stext:ReactionEffect" xmi:id="_SkqPaxneEeGCrY2NK7ISxg">
-                      <actions xsi:type="stext:Assignment" xmi:id="_SkqPbBneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="-=">
-                        <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SkqPbRneEeGCrY2NK7ISxg">
-                          <value xsi:type="stext:IntLiteral" xmi:id="_SkqPbhneEeGCrY2NK7ISxg" value="1"/>
-                        </expression>
+                    <effect xsi:type="stext:ReactionEffect" xmi:id="_AwpY2hmqEeGTS5uCECJdNQ">
+                      <actions xsi:type="stext:Assignment" xmi:id="_AwpY2xmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="-=">
+                        <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AwpY3BmqEeGTS5uCECJdNQ" value="1"/>
                       </actions>
                     </effect>
                   </declarations>
                 </scopes>
+              </vertices>
+              <vertices xsi:type="sgraph:State" xmi:id="_DCp-YPiSEeC4at_AzcYiGg" name="State6" incomingTransitions="_JU70wPiSEeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;">
                 <outgoingTransitions xmi:id="_nOwkMPiSEeC4at_AzcYiGg" expression="event8" target="__P10EPiREeC4at_AzcYiGg">
-                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SkzZUBneEeGCrY2NK7ISxg">
-                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SkzZURneEeGCrY2NK7ISxg" event="_SiWiSBneEeGCrY2NK7ISxg"/>
+                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AxcqEBmqEeGTS5uCECJdNQ">
+                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AxcqERmqEeGTS5uCECJdNQ" event="_At2jiBmqEeGTS5uCECJdNQ"/>
                   </trigger>
                 </outgoingTransitions>
+                <scopes xmi:id="_AxPOsBmqEeGTS5uCECJdNQ">
+                  <declarations xsi:type="stext:LocalReaction" xmi:id="_AxPOsRmqEeGTS5uCECJdNQ">
+                    <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AxPOshmqEeGTS5uCECJdNQ">
+                      <triggers xsi:type="stext:EntryEvent" xmi:id="_AxPOsxmqEeGTS5uCECJdNQ"/>
+                    </trigger>
+                    <effect xsi:type="stext:ReactionEffect" xmi:id="_AxPOtBmqEeGTS5uCECJdNQ">
+                      <actions xsi:type="stext:Assignment" xmi:id="_AxPOtRmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="+=">
+                        <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AxPOthmqEeGTS5uCECJdNQ" value="1"/>
+                      </actions>
+                    </effect>
+                  </declarations>
+                  <declarations xsi:type="stext:LocalReaction" xmi:id="_AxPOtxmqEeGTS5uCECJdNQ">
+                    <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AxPOuBmqEeGTS5uCECJdNQ">
+                      <triggers xsi:type="stext:ExitEvent" xmi:id="_AxPOuRmqEeGTS5uCECJdNQ"/>
+                    </trigger>
+                    <effect xsi:type="stext:ReactionEffect" xmi:id="_AxPOuhmqEeGTS5uCECJdNQ">
+                      <actions xsi:type="stext:Assignment" xmi:id="_AxPOuxmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="-=">
+                        <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AxPOvBmqEeGTS5uCECJdNQ" value="1"/>
+                      </actions>
+                    </effect>
+                  </declarations>
+                </scopes>
                 <subRegions xmi:id="_HPB4MPiSEeC4at_AzcYiGg" name="Region6">
-                  <vertices xsi:type="sgraph:State" xmi:id="_NwkSkPiSEeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;" name="State7" incomingTransitions="_SEyg0PiSEeC4at_AzcYiGg _VsUBIPiSEeC4at_AzcYiGg">
-                    <scopes xmi:id="_Sk444BneEeGCrY2NK7ISxg">
-                      <declarations xsi:type="stext:LocalReaction" xmi:id="_Sk444RneEeGCrY2NK7ISxg">
-                        <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Sk444hneEeGCrY2NK7ISxg">
-                          <triggers xsi:type="stext:EntryEvent" xmi:id="_Sk444xneEeGCrY2NK7ISxg"/>
-                        </trigger>
-                        <effect xsi:type="stext:ReactionEffect" xmi:id="_Sk445BneEeGCrY2NK7ISxg">
-                          <actions xsi:type="stext:Assignment" xmi:id="_Sk445RneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="+=">
-                            <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Sk445hneEeGCrY2NK7ISxg">
-                              <value xsi:type="stext:IntLiteral" xmi:id="_Sk445xneEeGCrY2NK7ISxg" value="1"/>
-                            </expression>
-                          </actions>
-                        </effect>
-                      </declarations>
-                      <declarations xsi:type="stext:LocalReaction" xmi:id="_Sk446BneEeGCrY2NK7ISxg">
-                        <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Sk446RneEeGCrY2NK7ISxg">
-                          <triggers xsi:type="stext:ExitEvent" xmi:id="_Sk446hneEeGCrY2NK7ISxg"/>
-                        </trigger>
-                        <effect xsi:type="stext:ReactionEffect" xmi:id="_Sk446xneEeGCrY2NK7ISxg">
-                          <actions xsi:type="stext:Assignment" xmi:id="_Sk447BneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="-=">
-                            <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Sk447RneEeGCrY2NK7ISxg">
-                              <value xsi:type="stext:IntLiteral" xmi:id="_Sk447hneEeGCrY2NK7ISxg" value="1"/>
-                            </expression>
-                          </actions>
-                        </effect>
-                      </declarations>
-                    </scopes>
+                  <vertices xsi:type="sgraph:State" xmi:id="_NwkSkPiSEeC4at_AzcYiGg" name="State7" incomingTransitions="_SEyg0PiSEeC4at_AzcYiGg _VsUBIPiSEeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;">
                     <outgoingTransitions xmi:id="_TM8bsPiSEeC4at_AzcYiGg" expression="event4" target="_PLn7UPiSEeC4at_AzcYiGg">
-                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SlNB8BneEeGCrY2NK7ISxg">
-                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SlNB8RneEeGCrY2NK7ISxg" event="_SiWiRBneEeGCrY2NK7ISxg"/>
+                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AxzPYBmqEeGTS5uCECJdNQ">
+                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AxzPYRmqEeGTS5uCECJdNQ" event="_At2jhBmqEeGTS5uCECJdNQ"/>
                       </trigger>
                     </outgoingTransitions>
-                  </vertices>
-                  <vertices xsi:type="sgraph:State" xmi:id="_PLn7UPiSEeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;" name="State8" incomingTransitions="_TM8bsPiSEeC4at_AzcYiGg">
-                    <scopes xmi:id="_SlShgBneEeGCrY2NK7ISxg">
-                      <declarations xsi:type="stext:LocalReaction" xmi:id="_SlShgRneEeGCrY2NK7ISxg">
-                        <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SlShghneEeGCrY2NK7ISxg">
-                          <triggers xsi:type="stext:EntryEvent" xmi:id="_SlShgxneEeGCrY2NK7ISxg"/>
+                    <scopes xmi:id="_AxlM8BmqEeGTS5uCECJdNQ">
+                      <declarations xsi:type="stext:LocalReaction" xmi:id="_AxlM8RmqEeGTS5uCECJdNQ">
+                        <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AxlM8hmqEeGTS5uCECJdNQ">
+                          <triggers xsi:type="stext:EntryEvent" xmi:id="_AxlM8xmqEeGTS5uCECJdNQ"/>
                         </trigger>
-                        <effect xsi:type="stext:ReactionEffect" xmi:id="_SlShhBneEeGCrY2NK7ISxg">
-                          <actions xsi:type="stext:Assignment" xmi:id="_SlShhRneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="+=">
-                            <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SlShhhneEeGCrY2NK7ISxg">
-                              <value xsi:type="stext:IntLiteral" xmi:id="_SlShhxneEeGCrY2NK7ISxg" value="1"/>
-                            </expression>
+                        <effect xsi:type="stext:ReactionEffect" xmi:id="_AxlM9BmqEeGTS5uCECJdNQ">
+                          <actions xsi:type="stext:Assignment" xmi:id="_AxlM9RmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="+=">
+                            <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AxlM9hmqEeGTS5uCECJdNQ" value="1"/>
                           </actions>
                         </effect>
                       </declarations>
-                      <declarations xsi:type="stext:LocalReaction" xmi:id="_SlShiBneEeGCrY2NK7ISxg">
-                        <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SlShiRneEeGCrY2NK7ISxg">
-                          <triggers xsi:type="stext:ExitEvent" xmi:id="_SlShihneEeGCrY2NK7ISxg"/>
+                      <declarations xsi:type="stext:LocalReaction" xmi:id="_AxlM9xmqEeGTS5uCECJdNQ">
+                        <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AxlM-BmqEeGTS5uCECJdNQ">
+                          <triggers xsi:type="stext:ExitEvent" xmi:id="_AxlM-RmqEeGTS5uCECJdNQ"/>
                         </trigger>
-                        <effect xsi:type="stext:ReactionEffect" xmi:id="_SlShixneEeGCrY2NK7ISxg">
-                          <actions xsi:type="stext:Assignment" xmi:id="_SlShjBneEeGCrY2NK7ISxg" varRef="_SiWiUhneEeGCrY2NK7ISxg" operator="-=">
-                            <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_SlShjRneEeGCrY2NK7ISxg">
-                              <value xsi:type="stext:IntLiteral" xmi:id="_SlShjhneEeGCrY2NK7ISxg" value="1"/>
-                            </expression>
+                        <effect xsi:type="stext:ReactionEffect" xmi:id="_AxlM-hmqEeGTS5uCECJdNQ">
+                          <actions xsi:type="stext:Assignment" xmi:id="_AxlM-xmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="-=">
+                            <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_AxlM_BmqEeGTS5uCECJdNQ" value="1"/>
                           </actions>
                         </effect>
                       </declarations>
                     </scopes>
+                  </vertices>
+                  <vertices xsi:type="sgraph:State" xmi:id="_PLn7UPiSEeC4at_AzcYiGg" name="State8" incomingTransitions="_TM8bsPiSEeC4at_AzcYiGg" expression="entry / s2+=1;&#xA;exit / s2-=1;">
                     <outgoingTransitions xmi:id="_VsUBIPiSEeC4at_AzcYiGg" expression="event5" target="_NwkSkPiSEeC4at_AzcYiGg">
-                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SlbrcBneEeGCrY2NK7ISxg">
-                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SlbrcRneEeGCrY2NK7ISxg" event="_SiWiRRneEeGCrY2NK7ISxg"/>
+                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AyJNoBmqEeGTS5uCECJdNQ">
+                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AyJNoRmqEeGTS5uCECJdNQ" event="_At2jhRmqEeGTS5uCECJdNQ"/>
                       </trigger>
                     </outgoingTransitions>
                     <outgoingTransitions xmi:id="_VBno4PiTEeC4at_AzcYiGg" expression="event13" target="_MwBqt_ZlEeCSetPXFd1ZUw">
-                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Slgj8BneEeGCrY2NK7ISxg">
-                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Slgj8RneEeGCrY2NK7ISxg" event="_SiWiTRneEeGCrY2NK7ISxg"/>
+                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AyRJcBmqEeGTS5uCECJdNQ">
+                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AyRJcRmqEeGTS5uCECJdNQ" event="_At2jjRmqEeGTS5uCECJdNQ"/>
                       </trigger>
                     </outgoingTransitions>
                     <outgoingTransitions xmi:id="_qCKqgPiTEeC4at_AzcYiGg" expression="event16" target="_3mSzUPiSEeC4at_AzcYiGg">
-                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_SllccBneEeGCrY2NK7ISxg">
-                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_SllccRneEeGCrY2NK7ISxg" event="_SiWiUBneEeGCrY2NK7ISxg"/>
+                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_AyYeMBmqEeGTS5uCECJdNQ">
+                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_AyYeMRmqEeGTS5uCECJdNQ" event="_At2jkBmqEeGTS5uCECJdNQ"/>
                       </trigger>
                     </outgoingTransitions>
+                    <scopes xmi:id="_Ax7yQBmqEeGTS5uCECJdNQ">
+                      <declarations xsi:type="stext:LocalReaction" xmi:id="_Ax7yQRmqEeGTS5uCECJdNQ">
+                        <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Ax7yQhmqEeGTS5uCECJdNQ">
+                          <triggers xsi:type="stext:EntryEvent" xmi:id="_Ax7yQxmqEeGTS5uCECJdNQ"/>
+                        </trigger>
+                        <effect xsi:type="stext:ReactionEffect" xmi:id="_Ax7yRBmqEeGTS5uCECJdNQ">
+                          <actions xsi:type="stext:Assignment" xmi:id="_Ax7yRRmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="+=">
+                            <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Ax7yRhmqEeGTS5uCECJdNQ" value="1"/>
+                          </actions>
+                        </effect>
+                      </declarations>
+                      <declarations xsi:type="stext:LocalReaction" xmi:id="_Ax7yRxmqEeGTS5uCECJdNQ">
+                        <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Ax7ySBmqEeGTS5uCECJdNQ">
+                          <triggers xsi:type="stext:ExitEvent" xmi:id="_Ax7ySRmqEeGTS5uCECJdNQ"/>
+                        </trigger>
+                        <effect xsi:type="stext:ReactionEffect" xmi:id="_Ax7yShmqEeGTS5uCECJdNQ">
+                          <actions xsi:type="stext:Assignment" xmi:id="_Ax7ySxmqEeGTS5uCECJdNQ" varRef="_At2jkhmqEeGTS5uCECJdNQ" operator="-=">
+                            <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_Ax7yTBmqEeGTS5uCECJdNQ" value="1"/>
+                          </actions>
+                        </effect>
+                      </declarations>
+                    </scopes>
                   </vertices>
                   <vertices xsi:type="sgraph:Entry" xmi:id="_RSYMcPiSEeC4at_AzcYiGg">
                     <outgoingTransitions xmi:id="_SEyg0PiSEeC4at_AzcYiGg" target="_NwkSkPiSEeC4at_AzcYiGg"/>
@@ -852,5 +812,32 @@
       <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_9YJdMPiSEeC4at_AzcYiGg" id="(0.7796610169491526,0.4126984126984127)"/>
       <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_9YJdMfiSEeC4at_AzcYiGg" id="(0.7843137254901961,0.4126984126984127)"/>
     </edges>
+    <edges xmi:id="_PnUg4BmkEeGTS5uCECJdNQ" type="Transition" element="_qCKqgPiTEeC4at_AzcYiGg" source="_PLpJcPiSEeC4at_AzcYiGg" target="_3mTaYPiSEeC4at_AzcYiGg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_PnUg5BmkEeGTS5uCECJdNQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_PnUg5RmkEeGTS5uCECJdNQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_PnUg5hmkEeGTS5uCECJdNQ" x="53" y="11"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_PnUg4RmkEeGTS5uCECJdNQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_PnUg4xmkEeGTS5uCECJdNQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_PnUg4hmkEeGTS5uCECJdNQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+    <edges xmi:id="_PozHkBmkEeGTS5uCECJdNQ" type="Transition" element="_jHEgoPiTEeC4at_AzcYiGg" source="__P3CMPiREeC4at_AzcYiGg" target="_3mTaYPiSEeC4at_AzcYiGg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_PozuoRmkEeGTS5uCECJdNQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_PozuohmkEeGTS5uCECJdNQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_PozuoxmkEeGTS5uCECJdNQ" x="-32" y="27"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_PozHkRmkEeGTS5uCECJdNQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_PozuoBmkEeGTS5uCECJdNQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_PozHkhmkEeGTS5uCECJdNQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+    <edges xmi:id="_PsetsBmkEeGTS5uCECJdNQ" type="Transition" element="_YoMG8PiTEeC4at_AzcYiGg" source="_08_rQPiREeC4at_AzcYiGg" target="_yYc1cPiSEeC4at_AzcYiGg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_PsfUwRmkEeGTS5uCECJdNQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_PsfUwhmkEeGTS5uCECJdNQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_PsfUwxmkEeGTS5uCECJdNQ" y="40"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_PsetsRmkEeGTS5uCECJdNQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_PsfUwBmkEeGTS5uCECJdNQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_PsetshmkEeGTS5uCECJdNQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
   </notation:Diagram>
 </xmi:XMI>

+ 76 - 94
TestScenarios/TestModels/Test_LocalActions.sct

@@ -1,145 +1,127 @@
 <?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="_TGkp8PZNEeCz_6s_8P8IEA" name="Test_LocalActions" expression="interface:&#xA;in event Event1&#xA;in event Event2&#xA;in event Event3&#xA;in event Event4&#xA;var i : integer&#xA;var j : integer&#xA;var c : integer">
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_VTl60BneEeGCrY2NK7ISxg">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_VTl60RneEeGCrY2NK7ISxg" name="Event1" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_VTl60hneEeGCrY2NK7ISxg" name="Event2" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_VTl60xneEeGCrY2NK7ISxg" name="Event3" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_VTl61BneEeGCrY2NK7ISxg" name="Event4" direction="in"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_VTl61RneEeGCrY2NK7ISxg" name="i" type="integer"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_VTl61hneEeGCrY2NK7ISxg" name="j" type="integer"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_VTl61xneEeGCrY2NK7ISxg" name="c" type="integer"/>
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_C8CWgBmjEeGTS5uCECJdNQ">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_C8CWgRmjEeGTS5uCECJdNQ" name="Event1" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_C8CWghmjEeGTS5uCECJdNQ" name="Event2" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_C8CWgxmjEeGTS5uCECJdNQ" name="Event3" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_C8CWhBmjEeGTS5uCECJdNQ" name="Event4" direction="in"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_C8CWhRmjEeGTS5uCECJdNQ" name="i" type="integer"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_C8CWhhmjEeGTS5uCECJdNQ" name="j" type="integer"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_C8CWhxmjEeGTS5uCECJdNQ" name="c" type="integer"/>
     </scopes>
     <regions xmi:id="_TGkp8_ZNEeCz_6s_8P8IEA" name="main region">
       <vertices xsi:type="sgraph:Entry" xmi:id="_TGmfIfZNEeCz_6s_8P8IEA">
         <outgoingTransitions xmi:id="_TGoUUfZNEeCz_6s_8P8IEA" target="_TGnGNvZNEeCz_6s_8P8IEA"/>
       </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_TGnGNvZNEeCz_6s_8P8IEA" expression="entry / i=1;&#xA;exit / i=0;&#xA;oncycle / i=2;&#xA;Event2 / i=3;&#xA;every 100ms / c+=1;&#xA;" name="State1" incomingTransitions="_TGoUUfZNEeCz_6s_8P8IEA _2LQeQPZZEeCSetPXFd1ZUw">
-        <scopes xmi:id="_VToXEBneEeGCrY2NK7ISxg">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VToXERneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VToXEhneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_VToXExneEeGCrY2NK7ISxg"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_TGnGNvZNEeCz_6s_8P8IEA" name="State1" incomingTransitions="_TGoUUfZNEeCz_6s_8P8IEA _2LQeQPZZEeCSetPXFd1ZUw" expression="entry / i=1;&#xA;exit / i=0;&#xA;oncycle / i=2;&#xA;Event2 / i=3;&#xA;every 100ms / c+=1;&#xA;">
+        <outgoingTransitions xmi:id="_6OQEgPZXEeC2DLnZHHznig" expression="Event1" target="_5VX7wPZXEeC2DLnZHHznig">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8VRcBmjEeGTS5uCECJdNQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_C8VRcRmjEeGTS5uCECJdNQ" event="_C8CWgRmjEeGTS5uCECJdNQ"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_C8FZ0BmjEeGTS5uCECJdNQ">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8FZ0RmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8FZ0hmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_C8FZ0xmjEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VToXFBneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VToXFRneEeGCrY2NK7ISxg" varRef="_VTl61RneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VToXFhneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VToXFxneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8FZ1BmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8FZ1RmjEeGTS5uCECJdNQ" varRef="_C8CWhRmjEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8FZ1hmjEeGTS5uCECJdNQ" value="1"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VToXGBneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VToXGRneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:ExitEvent" xmi:id="_VToXGhneEeGCrY2NK7ISxg"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8FZ1xmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8FZ2BmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:ExitEvent" xmi:id="_C8FZ2RmjEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VToXGxneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VToXHBneEeGCrY2NK7ISxg" varRef="_VTl61RneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VToXHRneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VToXHhneEeGCrY2NK7ISxg"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8FZ2hmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8FZ2xmjEeGTS5uCECJdNQ" varRef="_C8CWhRmjEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8FZ3BmjEeGTS5uCECJdNQ" value="0"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VToXHxneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VToXIBneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:OnCycleEvent" xmi:id="_VToXIRneEeGCrY2NK7ISxg"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8FZ3RmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8FZ3hmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:OnCycleEvent" xmi:id="_C8FZ3xmjEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VToXIhneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VToXIxneEeGCrY2NK7ISxg" varRef="_VTl61RneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VToXJBneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VToXJRneEeGCrY2NK7ISxg" value="2"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8FZ4BmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8FZ4RmjEeGTS5uCECJdNQ" varRef="_C8CWhRmjEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8FZ4hmjEeGTS5uCECJdNQ" value="2"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VToXJhneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VToXJxneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:RegularEventSpec" xmi:id="_VToXKBneEeGCrY2NK7ISxg" event="_VTl60hneEeGCrY2NK7ISxg"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8FZ4xmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8FZ5BmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:RegularEventSpec" xmi:id="_C8FZ5RmjEeGTS5uCECJdNQ" event="_C8CWghmjEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VToXKRneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VToXKhneEeGCrY2NK7ISxg" varRef="_VTl61RneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VToXKxneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VToXLBneEeGCrY2NK7ISxg" value="3"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8FZ5hmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8FZ5xmjEeGTS5uCECJdNQ" varRef="_C8CWhRmjEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8FZ6BmjEeGTS5uCECJdNQ" value="3"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VToXLRneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VToXLhneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:TimeEventSpec" xmi:id="_VToXLxneEeGCrY2NK7ISxg" type="every" value="100" unit="ms"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8FZ6RmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8FZ6hmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:TimeEventSpec" xmi:id="_C8FZ6xmjEeGTS5uCECJdNQ" type="every" value="100" unit="ms"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VToXMBneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VToXMRneEeGCrY2NK7ISxg" varRef="_VTl61xneEeGCrY2NK7ISxg" operator="+=">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VToXMhneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VToXMxneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8FZ7BmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8FZ7RmjEeGTS5uCECJdNQ" varRef="_C8CWhxmjEeGTS5uCECJdNQ" operator="+=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8FZ7hmjEeGTS5uCECJdNQ" value="1"/>
               </actions>
             </effect>
           </declarations>
         </scopes>
-        <outgoingTransitions xmi:id="_6OQEgPZXEeC2DLnZHHznig" expression="Event1" target="_5VX7wPZXEeC2DLnZHHznig">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VTw58BneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_VTw58RneEeGCrY2NK7ISxg" event="_VTl60RneEeGCrY2NK7ISxg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_5VX7wPZXEeC2DLnZHHznig" name="State2" incomingTransitions="_6OQEgPZXEeC2DLnZHHznig" expression="entry / j=1;&#xA;exit / j=0;&#xA;Event2, Event4 / j=2;&#xA;after 200ms/j=3;">
+        <outgoingTransitions xmi:id="_2LQeQPZZEeCSetPXFd1ZUw" expression="Event3" target="_TGnGNvZNEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8pagBmjEeGTS5uCECJdNQ">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_C8pagRmjEeGTS5uCECJdNQ" event="_C8CWgxmjEeGTS5uCECJdNQ"/>
           </trigger>
         </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_5VX7wPZXEeC2DLnZHHznig" expression="entry / j=1;&#xA;exit / j=0;&#xA;Event2, Event4 / j=2;&#xA;after 200ms/j=3;" name="State2" incomingTransitions="_6OQEgPZXEeC2DLnZHHznig">
-        <scopes xmi:id="_VTz9QBneEeGCrY2NK7ISxg">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VTz9QRneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VTz9QhneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_VTz9QxneEeGCrY2NK7ISxg"/>
+        <scopes xmi:id="_C8aJ8BmjEeGTS5uCECJdNQ">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8aJ8RmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8aJ8hmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_C8aJ8xmjEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VTz9RBneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VTz9RRneEeGCrY2NK7ISxg" varRef="_VTl61hneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VTz9RhneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VTz9RxneEeGCrY2NK7ISxg" value="1"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8aJ9BmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8aJ9RmjEeGTS5uCECJdNQ" varRef="_C8CWhhmjEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8aJ9hmjEeGTS5uCECJdNQ" value="1"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VTz9SBneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VTz9SRneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:ExitEvent" xmi:id="_VTz9ShneEeGCrY2NK7ISxg"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8aJ9xmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8aJ-BmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:ExitEvent" xmi:id="_C8aJ-RmjEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VTz9SxneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VTz9TBneEeGCrY2NK7ISxg" varRef="_VTl61hneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VTz9TRneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VTz9ThneEeGCrY2NK7ISxg"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8aJ-hmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8aJ-xmjEeGTS5uCECJdNQ" varRef="_C8CWhhmjEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8aJ_BmjEeGTS5uCECJdNQ" value="0"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VTz9TxneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VTz9UBneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:RegularEventSpec" xmi:id="_VTz9URneEeGCrY2NK7ISxg" event="_VTl60hneEeGCrY2NK7ISxg"/>
-              <triggers xsi:type="stext:RegularEventSpec" xmi:id="_VTz9UhneEeGCrY2NK7ISxg" event="_VTl61BneEeGCrY2NK7ISxg"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8aJ_RmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8aJ_hmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:RegularEventSpec" xmi:id="_C8aJ_xmjEeGTS5uCECJdNQ" event="_C8CWghmjEeGTS5uCECJdNQ"/>
+              <triggers xsi:type="stext:RegularEventSpec" xmi:id="_C8aKABmjEeGTS5uCECJdNQ" event="_C8CWhBmjEeGTS5uCECJdNQ"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VTz9UxneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VTz9VBneEeGCrY2NK7ISxg" varRef="_VTl61hneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VTz9VRneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VTz9VhneEeGCrY2NK7ISxg" value="2"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8aKARmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8aKAhmjEeGTS5uCECJdNQ" varRef="_C8CWhhmjEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8aKAxmjEeGTS5uCECJdNQ" value="2"/>
               </actions>
             </effect>
           </declarations>
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_VTz9VxneEeGCrY2NK7ISxg">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VTz9WBneEeGCrY2NK7ISxg">
-              <triggers xsi:type="stext:TimeEventSpec" xmi:id="_VTz9WRneEeGCrY2NK7ISxg" value="200" unit="ms"/>
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_C8aKBBmjEeGTS5uCECJdNQ">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_C8aKBRmjEeGTS5uCECJdNQ">
+              <triggers xsi:type="stext:TimeEventSpec" xmi:id="_C8aKBhmjEeGTS5uCECJdNQ" value="200" unit="ms"/>
             </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_VTz9WhneEeGCrY2NK7ISxg">
-              <actions xsi:type="stext:Assignment" xmi:id="_VTz9WxneEeGCrY2NK7ISxg" varRef="_VTl61hneEeGCrY2NK7ISxg">
-                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_VTz9XBneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_VTz9XRneEeGCrY2NK7ISxg" value="3"/>
-                </expression>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_C8aKBxmjEeGTS5uCECJdNQ">
+              <actions xsi:type="stext:Assignment" xmi:id="_C8aKCBmjEeGTS5uCECJdNQ" varRef="_C8CWhhmjEeGTS5uCECJdNQ">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_C8aKCRmjEeGTS5uCECJdNQ" value="3"/>
               </actions>
             </effect>
           </declarations>
         </scopes>
-        <outgoingTransitions xmi:id="_2LQeQPZZEeCSetPXFd1ZUw" expression="Event3" target="_TGnGNvZNEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_VUB_sBneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_VUB_sRneEeGCrY2NK7ISxg" event="_VTl60xneEeGCrY2NK7ISxg"/>
-          </trigger>
-        </outgoingTransitions>
       </vertices>
     </regions>
   </sgraph:Statechart>

+ 225 - 0
TestScenarios/TestModels/Test_LocalActions.sexec

@@ -0,0 +1,225 @@
+<?xml version="1.0" encoding="ASCII"?>
+<sexec:ExecutionFlow xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:sexec="http://www.yakindu.org/sct/sexec/1.0.0" xmlns:stext="http://www.yakindu.org/sct/statechart/SText" name="Test_LocalActions">
+  <scopes xsi:type="stext:InterfaceScope">
+    <declarations xsi:type="stext:EventDefinition" name="Event1" direction="in"/>
+    <declarations xsi:type="stext:EventDefinition" name="Event2" direction="in"/>
+    <declarations xsi:type="stext:EventDefinition" name="Event3" direction="in"/>
+    <declarations xsi:type="stext:EventDefinition" name="Event4" direction="in"/>
+    <declarations xsi:type="stext:VariableDefinition" name="i" type="integer"/>
+    <declarations xsi:type="stext:VariableDefinition" name="j" type="integer"/>
+    <declarations xsi:type="stext:VariableDefinition" name="c" type="integer"/>
+  </scopes>
+  <scopes>
+    <declarations xsi:type="sexec:TimeEvent" name="State1_time_event_0" periodic="true"/>
+    <declarations xsi:type="sexec:TimeEvent" name="State2_time_event_0"/>
+  </scopes>
+  <states name="Test_LocalActions.mainregion.State1" simpleName="State1" leaf="true">
+    <reactSequence>
+      <steps xsi:type="sexec:If">
+        <check xsi:type="sexec:CheckRef" check="//@states.0/@reactions.0/@check"/>
+        <thenStep xsi:type="sexec:Call" step="//@states.0/@reactions.0/@effect"/>
+        <elseStep xsi:type="sexec:Sequence">
+          <steps xsi:type="sexec:If">
+            <check xsi:type="sexec:CheckRef" check="//@states.0/@reactions.1/@check"/>
+            <thenStep xsi:type="sexec:Call" step="//@states.0/@reactions.1/@effect"/>
+          </steps>
+          <steps xsi:type="sexec:If">
+            <check xsi:type="sexec:CheckRef" check="//@states.0/@reactions.2/@check"/>
+            <thenStep xsi:type="sexec:Call" step="//@states.0/@reactions.2/@effect"/>
+          </steps>
+          <steps xsi:type="sexec:If">
+            <check xsi:type="sexec:CheckRef" check="//@states.0/@reactions.3/@check"/>
+            <thenStep xsi:type="sexec:Call" step="//@states.0/@reactions.3/@effect"/>
+          </steps>
+        </elseStep>
+      </steps>
+    </reactSequence>
+    <reactions name="tr0" transition="true">
+      <check name="tr0">
+        <condition xsi:type="stext:ElementReferenceExpression" value="//@scopes.0/@declarations.0"/>
+      </check>
+      <effect xsi:type="sexec:Sequence">
+        <steps xsi:type="sexec:Call" step="//@states.0/@exitSequence"/>
+        <steps xsi:type="sexec:Call" step="//@states.1/@enterSequence"/>
+      </effect>
+    </reactions>
+    <reactions name="lr2">
+      <check name="lr2">
+        <condition xsi:type="stext:PrimitiveValueExpression">
+          <value xsi:type="stext:BoolLiteral" value="true"/>
+        </condition>
+      </check>
+      <effect xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.4">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral" value="2"/>
+            </expression>
+          </statement>
+        </steps>
+      </effect>
+    </reactions>
+    <reactions name="lr3">
+      <check name="lr3">
+        <condition xsi:type="stext:ElementReferenceExpression" value="//@scopes.0/@declarations.1"/>
+      </check>
+      <effect xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.4">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral" value="3"/>
+            </expression>
+          </statement>
+        </steps>
+      </effect>
+    </reactions>
+    <reactions name="lr4">
+      <check name="lr4">
+        <condition xsi:type="stext:ElementReferenceExpression" value="//@scopes.1/@declarations.0"/>
+      </check>
+      <effect xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.6" operator="+=">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral" value="1"/>
+            </expression>
+          </statement>
+        </steps>
+      </effect>
+    </reactions>
+    <entryAction xsi:type="sexec:Sequence" name="entryAction" comment="Entry action for state 'State1'.">
+      <steps xsi:type="sexec:ScheduleTimeEvent" timeEvent="//@scopes.1/@declarations.0">
+        <timeValue xsi:type="stext:PrimitiveValueExpression">
+          <value xsi:type="stext:IntLiteral" value="100"/>
+        </timeValue>
+      </steps>
+      <steps xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.4">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral" value="1"/>
+            </expression>
+          </statement>
+        </steps>
+      </steps>
+    </entryAction>
+    <exitAction xsi:type="sexec:Sequence" name="exitAction">
+      <steps xsi:type="sexec:UnscheduleTimeEvent" timeEvent="//@scopes.1/@declarations.0"/>
+      <steps xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.4">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral"/>
+            </expression>
+          </statement>
+        </steps>
+      </steps>
+    </exitAction>
+    <enterSequence name="enterSequence" comment="Default enter sequence for state State1">
+      <steps xsi:type="sexec:Call" step="//@states.0/@entryAction"/>
+      <steps xsi:type="sexec:EnterState" state="//@states.0"/>
+    </enterSequence>
+    <exitSequence name="exitSequence" comment="Default exit sequence for state State1">
+      <steps xsi:type="sexec:ExitState" state="//@states.0"/>
+      <steps xsi:type="sexec:Call" step="//@states.0/@exitAction"/>
+    </exitSequence>
+  </states>
+  <states name="Test_LocalActions.mainregion.State2" simpleName="State2" leaf="true">
+    <reactSequence>
+      <steps xsi:type="sexec:If">
+        <check xsi:type="sexec:CheckRef" check="//@states.1/@reactions.0/@check"/>
+        <thenStep xsi:type="sexec:Call" step="//@states.1/@reactions.0/@effect"/>
+        <elseStep xsi:type="sexec:Sequence">
+          <steps xsi:type="sexec:If">
+            <check xsi:type="sexec:CheckRef" check="//@states.1/@reactions.1/@check"/>
+            <thenStep xsi:type="sexec:Call" step="//@states.1/@reactions.1/@effect"/>
+          </steps>
+          <steps xsi:type="sexec:If">
+            <check xsi:type="sexec:CheckRef" check="//@states.1/@reactions.2/@check"/>
+            <thenStep xsi:type="sexec:Call" step="//@states.1/@reactions.2/@effect"/>
+          </steps>
+        </elseStep>
+      </steps>
+    </reactSequence>
+    <reactions name="tr0" transition="true">
+      <check name="tr0">
+        <condition xsi:type="stext:ElementReferenceExpression" value="//@scopes.0/@declarations.2"/>
+      </check>
+      <effect xsi:type="sexec:Sequence">
+        <steps xsi:type="sexec:Call" step="//@states.1/@exitSequence"/>
+        <steps xsi:type="sexec:Call" step="//@states.0/@enterSequence"/>
+      </effect>
+    </reactions>
+    <reactions name="lr2">
+      <check name="lr2">
+        <condition xsi:type="stext:LogicalOrExpression">
+          <leftOperand xsi:type="stext:ElementReferenceExpression" value="//@scopes.0/@declarations.1"/>
+          <rightOperand xsi:type="stext:ElementReferenceExpression" value="//@scopes.0/@declarations.3"/>
+        </condition>
+      </check>
+      <effect xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.5">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral" value="2"/>
+            </expression>
+          </statement>
+        </steps>
+      </effect>
+    </reactions>
+    <reactions name="lr3">
+      <check name="lr3">
+        <condition xsi:type="stext:ElementReferenceExpression" value="//@scopes.1/@declarations.1"/>
+      </check>
+      <effect xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.5">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral" value="3"/>
+            </expression>
+          </statement>
+        </steps>
+      </effect>
+    </reactions>
+    <entryAction xsi:type="sexec:Sequence" name="entryAction" comment="Entry action for state 'State2'.">
+      <steps xsi:type="sexec:ScheduleTimeEvent" timeEvent="//@scopes.1/@declarations.1">
+        <timeValue xsi:type="stext:PrimitiveValueExpression">
+          <value xsi:type="stext:IntLiteral" value="200"/>
+        </timeValue>
+      </steps>
+      <steps xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.5">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral" value="1"/>
+            </expression>
+          </statement>
+        </steps>
+      </steps>
+    </entryAction>
+    <exitAction xsi:type="sexec:Sequence" name="exitAction">
+      <steps xsi:type="sexec:UnscheduleTimeEvent" timeEvent="//@scopes.1/@declarations.1"/>
+      <steps xsi:type="sexec:Sequence" name="reaction_action">
+        <steps xsi:type="sexec:Execution">
+          <statement xsi:type="stext:Assignment" varRef="//@scopes.0/@declarations.5">
+            <expression xsi:type="stext:PrimitiveValueExpression">
+              <value xsi:type="stext:IntLiteral"/>
+            </expression>
+          </statement>
+        </steps>
+      </steps>
+    </exitAction>
+    <enterSequence name="enterSequence" comment="Default enter sequence for state State2">
+      <steps xsi:type="sexec:Call" step="//@states.1/@entryAction"/>
+      <steps xsi:type="sexec:EnterState" state="//@states.1"/>
+    </enterSequence>
+    <exitSequence name="exitSequence" comment="Default exit sequence for state State2">
+      <steps xsi:type="sexec:ExitState" state="//@states.1"/>
+      <steps xsi:type="sexec:Call" step="//@states.1/@exitAction"/>
+    </exitSequence>
+  </states>
+  <enterSequence name="enter" comment="Default enter sequence for statechart Test_LocalActions">
+    <steps xsi:type="sexec:Call" step="//@states.0/@enterSequence"/>
+  </enterSequence>
+  <stateVector/>
+</sexec:ExecutionFlow>

+ 35 - 35
TestScenarios/TestModels/Test_ShallowHistory.sct

@@ -1,15 +1,15 @@
 <?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="_S0vmMPZlEeCSetPXFd1ZUw" name="Test_ShallowHistory" expression="interface:&#xA;in event event1&#xA;in event event2&#xA;in event event3&#xA;in event event4&#xA;in event event5&#xA;in event event6&#xA;in event event7&#xA;in event event8&#xA;&#xA;">
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_zh_6UBm2EeGfc7cITFSsmg">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_zh_6URm2EeGfc7cITFSsmg" name="event1" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_zh_6Uhm2EeGfc7cITFSsmg" name="event2" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_zh_6Uxm2EeGfc7cITFSsmg" name="event3" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_zh_6VBm2EeGfc7cITFSsmg" name="event4" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_zh_6VRm2EeGfc7cITFSsmg" name="event5" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_zh_6Vhm2EeGfc7cITFSsmg" name="event6" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_zh_6Vxm2EeGfc7cITFSsmg" name="event7" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_zh_6WBm2EeGfc7cITFSsmg" name="event8" direction="in"/>
+  <sgraph:Statechart xmi:id="_S0vmMPZlEeCSetPXFd1ZUw" name="Test_ShallowHistory" expression="interface:&#xA;in event event1&#xA;in event event2&#xA;in event event3&#xA;in event event4&#xA;in event event5&#xA;in event event6&#xA;in event event7&#xA;in event event8&#xA;">
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_IkV8oAFWEeGBE7eesluF0A">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IkV8oQFWEeGBE7eesluF0A" name="event1" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IkV8ogFWEeGBE7eesluF0A" name="event2" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IkV8owFWEeGBE7eesluF0A" name="event3" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IkV8pAFWEeGBE7eesluF0A" name="event4" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IkV8pQFWEeGBE7eesluF0A" name="event5" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IkV8pgFWEeGBE7eesluF0A" name="event6" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IkV8pwFWEeGBE7eesluF0A" name="event7" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IkV8qAFWEeGBE7eesluF0A" name="event8" direction="in"/>
     </scopes>
     <regions xmi:id="_S0wNQvZlEeCSetPXFd1ZUw" name="main region">
       <vertices xsi:type="sgraph:Entry" xmi:id="_S0w0VvZlEeCSetPXFd1ZUw">
@@ -17,73 +17,73 @@
       </vertices>
       <vertices xsi:type="sgraph:State" xmi:id="_S0yCcfZlEeCSetPXFd1ZUw" name="State1" incomingTransitions="_S0zQk_ZlEeCSetPXFd1ZUw _euHxIPiYEeC4at_AzcYiGg">
         <outgoingTransitions xmi:id="_dD98cPiYEeC4at_AzcYiGg" expression="event1" target="_aHsYkPiYEeC4at_AzcYiGg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_ziCWkRm2EeGfc7cITFSsmg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_ziCWkhm2EeGfc7cITFSsmg" event="_zh_6URm2EeGfc7cITFSsmg"/>
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_IkWjsQFWEeGBE7eesluF0A">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_IkWjsgFWEeGBE7eesluF0A" event="_IkV8oQFWEeGBE7eesluF0A"/>
           </trigger>
         </outgoingTransitions>
-        <scopes xmi:id="_ziCWkBm2EeGfc7cITFSsmg"/>
+        <scopes xmi:id="_IkWjsAFWEeGBE7eesluF0A"/>
       </vertices>
       <vertices xsi:type="sgraph:State" xmi:id="_aHsYkPiYEeC4at_AzcYiGg" name="State2" incomingTransitions="_dD98cPiYEeC4at_AzcYiGg">
         <outgoingTransitions xmi:id="_euHxIPiYEeC4at_AzcYiGg" expression="event2" target="_S0yCcfZlEeCSetPXFd1ZUw">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_ziFZ4Bm2EeGfc7cITFSsmg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_ziFZ4Rm2EeGfc7cITFSsmg" event="_zh_6Uhm2EeGfc7cITFSsmg"/>
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_IkZnAQFWEeGBE7eesluF0A">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_IkZnAgFWEeGBE7eesluF0A" event="_IkV8ogFWEeGBE7eesluF0A"/>
           </trigger>
         </outgoingTransitions>
-        <scopes xmi:id="_ziEy0Bm2EeGfc7cITFSsmg"/>
+        <scopes xmi:id="_IkZnAAFWEeGBE7eesluF0A"/>
         <subRegions xmi:id="_qbNqYPiYEeC4at_AzcYiGg">
           <vertices xsi:type="sgraph:Entry" xmi:id="_qxmxIPiYEeC4at_AzcYiGg" kind="SHALLOW_HISTORY">
             <outgoingTransitions xmi:id="_xD6csPiYEeC4at_AzcYiGg" target="_tZdkMPiYEeC4at_AzcYiGg"/>
           </vertices>
           <vertices xsi:type="sgraph:State" xmi:id="_tZdkMPiYEeC4at_AzcYiGg" name="State3" incomingTransitions="_xD6csPiYEeC4at_AzcYiGg">
             <outgoingTransitions xmi:id="_yUM_4PiYEeC4at_AzcYiGg" expression="event3" target="_umzhEPiYEeC4at_AzcYiGg">
-              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_ziH2IRm2EeGfc7cITFSsmg">
-                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_ziH2Ihm2EeGfc7cITFSsmg" event="_zh_6Uxm2EeGfc7cITFSsmg"/>
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_IkcqUQFWEeGBE7eesluF0A">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_IkcqUgFWEeGBE7eesluF0A" event="_IkV8owFWEeGBE7eesluF0A"/>
               </trigger>
             </outgoingTransitions>
-            <scopes xmi:id="_ziH2IBm2EeGfc7cITFSsmg"/>
+            <scopes xmi:id="_IkcqUAFWEeGBE7eesluF0A"/>
           </vertices>
           <vertices xsi:type="sgraph:State" xmi:id="_umzhEPiYEeC4at_AzcYiGg" name="State4" incomingTransitions="_yUM_4PiYEeC4at_AzcYiGg">
             <outgoingTransitions xmi:id="_1j6dIPiYEeC4at_AzcYiGg" expression="event4" target="_vcfL4PiYEeC4at_AzcYiGg">
-              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_ziK5cBm2EeGfc7cITFSsmg">
-                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_ziK5cRm2EeGfc7cITFSsmg" event="_zh_6VBm2EeGfc7cITFSsmg"/>
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_IkftoAFWEeGBE7eesluF0A">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_IkftoQFWEeGBE7eesluF0A" event="_IkV8pAFWEeGBE7eesluF0A"/>
               </trigger>
             </outgoingTransitions>
-            <scopes xmi:id="_ziKSYBm2EeGfc7cITFSsmg"/>
+            <scopes xmi:id="_IkfGkAFWEeGBE7eesluF0A"/>
             <subRegions xmi:id="_2HyUUPiaEeC4at_AzcYiGg">
               <vertices xsi:type="sgraph:Entry" xmi:id="_22hCkPiaEeC4at_AzcYiGg">
                 <outgoingTransitions xmi:id="_-HGUQPiaEeC4at_AzcYiGg" target="_3WtlkPiaEeC4at_AzcYiGg"/>
               </vertices>
               <vertices xsi:type="sgraph:State" xmi:id="_3WtlkPiaEeC4at_AzcYiGg" name="State6" incomingTransitions="_-HGUQPiaEeC4at_AzcYiGg _BveJIPibEeC4at_AzcYiGg">
                 <outgoingTransitions xmi:id="__CvdIPiaEeC4at_AzcYiGg" expression="event5" target="_46dQQPiaEeC4at_AzcYiGg">
-                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_ziNVsBm2EeGfc7cITFSsmg">
-                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_ziNVsRm2EeGfc7cITFSsmg" event="_zh_6VRm2EeGfc7cITFSsmg"/>
+                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_IkiJ4QFWEeGBE7eesluF0A">
+                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_IkiJ4gFWEeGBE7eesluF0A" event="_IkV8pQFWEeGBE7eesluF0A"/>
                   </trigger>
                 </outgoingTransitions>
-                <scopes xmi:id="_ziMuoBm2EeGfc7cITFSsmg"/>
+                <scopes xmi:id="_IkiJ4AFWEeGBE7eesluF0A"/>
               </vertices>
               <vertices xsi:type="sgraph:State" xmi:id="_46dQQPiaEeC4at_AzcYiGg" name="State7" incomingTransitions="__CvdIPiaEeC4at_AzcYiGg">
                 <outgoingTransitions xmi:id="_BveJIPibEeC4at_AzcYiGg" expression="event6" target="_3WtlkPiaEeC4at_AzcYiGg">
-                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_ziPx8Rm2EeGfc7cITFSsmg">
-                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_ziPx8hm2EeGfc7cITFSsmg" event="_zh_6Vhm2EeGfc7cITFSsmg"/>
+                  <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Ikl0QAFWEeGBE7eesluF0A">
+                    <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Ikl0QQFWEeGBE7eesluF0A" event="_IkV8pgFWEeGBE7eesluF0A"/>
                   </trigger>
                 </outgoingTransitions>
-                <scopes xmi:id="_ziPx8Bm2EeGfc7cITFSsmg"/>
+                <scopes xmi:id="_IklNMAFWEeGBE7eesluF0A"/>
                 <subRegions xmi:id="_Hjbr0PibEeC4at_AzcYiGg">
                   <vertices xsi:type="sgraph:State" xmi:id="_R2fQAPibEeC4at_AzcYiGg" name="State8" incomingTransitions="_h07CoPibEeC4at_AzcYiGg _nMoHIPibEeC4at_AzcYiGg">
                     <outgoingTransitions xmi:id="_ZKN8UPibEeC4at_AzcYiGg" expression="event7" target="_Tl6mQPibEeC4at_AzcYiGg">
-                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_ziSOMRm2EeGfc7cITFSsmg">
-                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_ziSOMhm2EeGfc7cITFSsmg" event="_zh_6Vxm2EeGfc7cITFSsmg"/>
+                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Iko3kAFWEeGBE7eesluF0A">
+                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Iko3kQFWEeGBE7eesluF0A" event="_IkV8pwFWEeGBE7eesluF0A"/>
                       </trigger>
                     </outgoingTransitions>
-                    <scopes xmi:id="_ziSOMBm2EeGfc7cITFSsmg"/>
+                    <scopes xmi:id="_IkoQgAFWEeGBE7eesluF0A"/>
                   </vertices>
                   <vertices xsi:type="sgraph:State" xmi:id="_Tl6mQPibEeC4at_AzcYiGg" name="State9" incomingTransitions="_ZKN8UPibEeC4at_AzcYiGg">
                     <outgoingTransitions xmi:id="_nMoHIPibEeC4at_AzcYiGg" expression="event8" target="_R2fQAPibEeC4at_AzcYiGg">
-                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_ziVRgBm2EeGfc7cITFSsmg">
-                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_ziVRgRm2EeGfc7cITFSsmg" event="_zh_6WBm2EeGfc7cITFSsmg"/>
+                      <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Ikr64AFWEeGBE7eesluF0A">
+                        <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Ikr64QFWEeGBE7eesluF0A" event="_IkV8qAFWEeGBE7eesluF0A"/>
                       </trigger>
                     </outgoingTransitions>
-                    <scopes xmi:id="_ziUqcBm2EeGfc7cITFSsmg"/>
+                    <scopes xmi:id="_IkrT0AFWEeGBE7eesluF0A"/>
                   </vertices>
                   <vertices xsi:type="sgraph:Entry" xmi:id="_grXZkPibEeC4at_AzcYiGg" kind="SHALLOW_HISTORY">
                     <outgoingTransitions xmi:id="_h07CoPibEeC4at_AzcYiGg" expression="" target="_R2fQAPibEeC4at_AzcYiGg"/>
@@ -93,7 +93,7 @@
             </subRegions>
           </vertices>
           <vertices xsi:type="sgraph:State" xmi:id="_vcfL4PiYEeC4at_AzcYiGg" name="State5" incomingTransitions="_1j6dIPiYEeC4at_AzcYiGg">
-            <scopes xmi:id="_ziYU0Bm2EeGfc7cITFSsmg"/>
+            <scopes xmi:id="_IkuXIAFWEeGBE7eesluF0A"/>
           </vertices>
         </subRegions>
       </vertices>

+ 288 - 302
TestScenarios/TestModels/Test_Transition.sct

@@ -1,302 +1,288 @@
-<?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="_yJVewfZKEeCz_6s_8P8IEA" name="Test_Transition" expression="interface A:&#xA;in event event1 : integer = 1&#xA;in event event2&#xA;in event event3&#xA;out event event4&#xA;&#xA;interface:&#xA;in event event5 : boolean&#xA;in event event6&#xA;out event event7&#xA;var i : integer&#xA;var j : real&#xA;&#xA;internal:&#xA;event event10:integer=0&#xA;">
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_XpYGcBneEeGCrY2NK7ISxg" name="A">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_XpYGcRneEeGCrY2NK7ISxg" name="event1" direction="in" type="integer">
-        <derivation xmi:id="_XpYGchneEeGCrY2NK7ISxg">
-          <condition xsi:type="stext:PrimitiveValueExpression" xmi:id="_XpYGcxneEeGCrY2NK7ISxg">
-            <value xsi:type="stext:IntLiteral" xmi:id="_XpYGdBneEeGCrY2NK7ISxg" value="1"/>
-          </condition>
-        </derivation>
-      </declarations>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_XpYGdRneEeGCrY2NK7ISxg" name="event2" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_XpYGdhneEeGCrY2NK7ISxg" name="event3" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_XpYGdxneEeGCrY2NK7ISxg" name="event4" direction="out"/>
-    </scopes>
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_XpYGeBneEeGCrY2NK7ISxg">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_XpYGeRneEeGCrY2NK7ISxg" name="event5" direction="in" type="boolean"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_XpYGehneEeGCrY2NK7ISxg" name="event6" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_XpYGexneEeGCrY2NK7ISxg" name="event7" direction="out"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_XpYGfBneEeGCrY2NK7ISxg" name="i" type="integer"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_XpYGfRneEeGCrY2NK7ISxg" name="j" type="real"/>
-    </scopes>
-    <scopes xsi:type="stext:InternalScope" xmi:id="_XpYGfhneEeGCrY2NK7ISxg">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_XpYGfxneEeGCrY2NK7ISxg" name="event10" type="integer">
-        <derivation xmi:id="_XpYGgBneEeGCrY2NK7ISxg">
-          <condition xsi:type="stext:PrimitiveValueExpression" xmi:id="_XpYGgRneEeGCrY2NK7ISxg">
-            <value xsi:type="stext:IntLiteral" xmi:id="_XpYGghneEeGCrY2NK7ISxg"/>
-          </condition>
-        </derivation>
-      </declarations>
-    </scopes>
-    <regions xmi:id="_yMGe4PZKEeCz_6s_8P8IEA" name="">
-      <vertices xsi:type="sgraph:Entry" xmi:id="_yPWAIPZKEeCz_6s_8P8IEA">
-        <outgoingTransitions xmi:id="_yPtMgPZKEeCz_6s_8P8IEA" target="_yPZqgPZKEeCz_6s_8P8IEA"/>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_yPZqgPZKEeCz_6s_8P8IEA" name="State1" incomingTransitions="_yPtMgPZKEeCz_6s_8P8IEA">
-        <scopes xmi:id="_XpZ7oBneEeGCrY2NK7ISxg"/>
-        <outgoingTransitions xmi:id="_N1VrwPZLEeCz_6s_8P8IEA" expression="A.event1, A.event2" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_XpaisBneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_XpaisRneEeGCrY2NK7ISxg" event="_XpYGcRneEeGCrY2NK7ISxg"/>
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_XpaishneEeGCrY2NK7ISxg" event="_XpYGdRneEeGCrY2NK7ISxg"/>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_RSDqQPZLEeCz_6s_8P8IEA" expression="[i==5]" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Xpe0IBneEeGCrY2NK7ISxg">
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_Xpe0IRneEeGCrY2NK7ISxg" operator="==">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_Xpe0IhneEeGCrY2NK7ISxg" value="_XpYGfBneEeGCrY2NK7ISxg"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_Xpe0IxneEeGCrY2NK7ISxg">
-                <value xsi:type="stext:IntLiteral" xmi:id="_Xpe0JBneEeGCrY2NK7ISxg" value="5"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_dxK2UPZLEeCz_6s_8P8IEA" expression="A.event3[j&lt;20]" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Xph3cBneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Xph3cRneEeGCrY2NK7ISxg" event="_XpYGdhneEeGCrY2NK7ISxg"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_Xph3chneEeGCrY2NK7ISxg">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_Xph3cxneEeGCrY2NK7ISxg" value="_XpYGfRneEeGCrY2NK7ISxg"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_Xph3dBneEeGCrY2NK7ISxg">
-                <value xsi:type="stext:IntLiteral" xmi:id="_Xph3dRneEeGCrY2NK7ISxg" value="20"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_kGjEAPZLEeCz_6s_8P8IEA" expression="A.event3,A.event4[j>30]" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Xpn-EBneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Xpn-ERneEeGCrY2NK7ISxg" event="_XpYGdhneEeGCrY2NK7ISxg"/>
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Xpn-EhneEeGCrY2NK7ISxg" event="_XpYGdxneEeGCrY2NK7ISxg"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_Xpn-ExneEeGCrY2NK7ISxg" operator=">">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_Xpn-FBneEeGCrY2NK7ISxg" value="_XpYGfRneEeGCrY2NK7ISxg"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_Xpn-FRneEeGCrY2NK7ISxg">
-                <value xsi:type="stext:IntLiteral" xmi:id="_Xpn-FhneEeGCrY2NK7ISxg" value="30"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_q6VE8PZLEeCz_6s_8P8IEA" expression="event6/i=15;" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_XpvS0BneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_XpvS0RneEeGCrY2NK7ISxg" event="_XpYGehneEeGCrY2NK7ISxg"/>
-          </trigger>
-          <effect xsi:type="stext:ReactionEffect" xmi:id="_XpvS0hneEeGCrY2NK7ISxg">
-            <actions xsi:type="stext:Assignment" xmi:id="_XpvS0xneEeGCrY2NK7ISxg" varRef="_XpYGfBneEeGCrY2NK7ISxg">
-              <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_XpvS1BneEeGCrY2NK7ISxg">
-                <value xsi:type="stext:IntLiteral" xmi:id="_XpvS1RneEeGCrY2NK7ISxg" value="15"/>
-              </expression>
-            </actions>
-          </effect>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_0zRgAPZLEeCz_6s_8P8IEA" expression="event7/j=i*9;" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Xpy9MBneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Xpy9MRneEeGCrY2NK7ISxg" event="_XpYGexneEeGCrY2NK7ISxg"/>
-          </trigger>
-          <effect xsi:type="stext:ReactionEffect" xmi:id="_Xpy9MhneEeGCrY2NK7ISxg">
-            <actions xsi:type="stext:Assignment" xmi:id="_Xpy9MxneEeGCrY2NK7ISxg" varRef="_XpYGfRneEeGCrY2NK7ISxg">
-              <expression xsi:type="stext:NumericalMultiplyDivideExpression" xmi:id="_Xpy9NBneEeGCrY2NK7ISxg">
-                <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_Xpy9NRneEeGCrY2NK7ISxg" value="_XpYGfBneEeGCrY2NK7ISxg"/>
-                <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_Xpy9NhneEeGCrY2NK7ISxg">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_Xpy9NxneEeGCrY2NK7ISxg" value="9"/>
-                </rightOperand>
-              </expression>
-            </actions>
-          </effect>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_6xGJUPZLEeCz_6s_8P8IEA" expression="after 10s" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Xp4cwBneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:TimeEventSpec" xmi:id="_Xp4cwRneEeGCrY2NK7ISxg" value="10"/>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_KgZTwPZMEeCz_6s_8P8IEA" expression="after 100ms" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Xp5D0BneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:TimeEventSpec" xmi:id="_Xp5D0RneEeGCrY2NK7ISxg" value="100" unit="ms"/>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_oEIZgAu4EeGmY4-cgZfupg" expression="A.event1" target="_6jMFoPZKEeCz_6s_8P8IEA">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Xp5D0hneEeGCrY2NK7ISxg">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Xp5D0xneEeGCrY2NK7ISxg" event="_XpYGcRneEeGCrY2NK7ISxg"/>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_6jMFoPZKEeCz_6s_8P8IEA" name="State2" incomingTransitions="_N1VrwPZLEeCz_6s_8P8IEA _RSDqQPZLEeCz_6s_8P8IEA _dxK2UPZLEeCz_6s_8P8IEA _kGjEAPZLEeCz_6s_8P8IEA _q6VE8PZLEeCz_6s_8P8IEA _0zRgAPZLEeCz_6s_8P8IEA _6xGJUPZLEeCz_6s_8P8IEA _KgZTwPZMEeCz_6s_8P8IEA _oEIZgAu4EeGmY4-cgZfupg">
-        <scopes xmi:id="_Xp7gEBneEeGCrY2NK7ISxg"/>
-      </vertices>
-    </regions>
-  </sgraph:Statechart>
-  <notation:Diagram xmi:id="_yMFQwPZKEeCz_6s_8P8IEA" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_yJVewfZKEeCz_6s_8P8IEA" measurementUnit="Pixel">
-    <children xmi:id="_yMfgcPZKEeCz_6s_8P8IEA" type="Region" element="_yMGe4PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_yOuVEPZKEeCz_6s_8P8IEA" type="RegionName">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_yOwKQPZKEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_yOwKQfZKEeCz_6s_8P8IEA"/>
-      </children>
-      <children xsi:type="notation:Shape" xmi:id="_yOymgPZKEeCz_6s_8P8IEA" type="RegionCompartment" fontName="Arial" fontHeight="10" lineColor="4210752">
-        <children xmi:id="_yPWnMPZKEeCz_6s_8P8IEA" type="Entry" element="_yPWAIPZKEeCz_6s_8P8IEA">
-          <children xmi:id="_yPX1UPZKEeCz_6s_8P8IEA" type="BorderItemLabelContainer">
-            <children xsi:type="notation:DecorationNode" xmi:id="_yPX1U_ZKEeCz_6s_8P8IEA" type="BorderItemLabel">
-              <styles xsi:type="notation:ShapeStyle" xmi:id="_yPX1VPZKEeCz_6s_8P8IEA"/>
-              <layoutConstraint xsi:type="notation:Location" xmi:id="_yPX1VfZKEeCz_6s_8P8IEA"/>
-            </children>
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_yPX1UfZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" lineColor="4210752"/>
-            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yPX1UvZKEeCz_6s_8P8IEA"/>
-          </children>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_yPWnMfZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" lineColor="4210752"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yPX1VvZKEeCz_6s_8P8IEA" x="70" y="20"/>
-        </children>
-        <children xmi:id="_yPlQsPZKEeCz_6s_8P8IEA" type="State" element="_yPZqgPZKEeCz_6s_8P8IEA">
-          <children xsi:type="notation:DecorationNode" xmi:id="_yPl3wPZKEeCz_6s_8P8IEA" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_yPl3wfZKEeCz_6s_8P8IEA"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_yPl3wvZKEeCz_6s_8P8IEA"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_yPoUAPZKEeCz_6s_8P8IEA" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_yPo7EPZKEeCz_6s_8P8IEA" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yPo7EfZKEeCz_6s_8P8IEA"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_yPo7EvZKEeCz_6s_8P8IEA" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_yPlQsfZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_yPlQsvZKEeCz_6s_8P8IEA"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_yPqJMPZKEeCz_6s_8P8IEA"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yPqwQPZKEeCz_6s_8P8IEA" x="1" y="42" height="329"/>
-        </children>
-        <children xmi:id="_6jN60PZKEeCz_6s_8P8IEA" type="State" element="_6jMFoPZKEeCz_6s_8P8IEA">
-          <children xsi:type="notation:DecorationNode" xmi:id="_6jPI8PZKEeCz_6s_8P8IEA" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_6jPI8fZKEeCz_6s_8P8IEA"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_6jPI8vZKEeCz_6s_8P8IEA"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_6jPI8_ZKEeCz_6s_8P8IEA" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_6jPI9PZKEeCz_6s_8P8IEA" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_6jPI9fZKEeCz_6s_8P8IEA"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_6jPwAPZKEeCz_6s_8P8IEA" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_6jN60fZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_6jN60vZKEeCz_6s_8P8IEA"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_6jPwAfZKEeCz_6s_8P8IEA"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_6jN60_ZKEeCz_6s_8P8IEA" x="284" y="42" height="329"/>
-        </children>
-        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yOymgfZKEeCz_6s_8P8IEA"/>
-      </children>
-      <styles xsi:type="notation:ShapeStyle" xmi:id="_yMgHgPZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yO0bsPZKEeCz_6s_8P8IEA" x="232" y="10" width="400" height="431"/>
-    </children>
-    <children xsi:type="notation:Shape" xmi:id="_yP9EIPZKEeCz_6s_8P8IEA" type="StatechartText" fontName="Arial" fontHeight="10" lineColor="4210752">
-      <children xsi:type="notation:DecorationNode" xmi:id="_yP9EIvZKEeCz_6s_8P8IEA" type="StatechartName">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_yP9rMPZKEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_yP9rMfZKEeCz_6s_8P8IEA"/>
-      </children>
-      <children xsi:type="notation:Shape" xmi:id="_yP9rMvZKEeCz_6s_8P8IEA" type="StatechartTextExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
-        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yP9rM_ZKEeCz_6s_8P8IEA"/>
-      </children>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yQAHcPZKEeCz_6s_8P8IEA" x="10" y="10" width="200" height="400"/>
-    </children>
-    <styles xsi:type="notation:DiagramStyle" xmi:id="_yMFQwfZKEeCz_6s_8P8IEA"/>
-    <edges xmi:id="_yP7O8PZKEeCz_6s_8P8IEA" type="Transition" element="_yPtMgPZKEeCz_6s_8P8IEA" source="_yPWnMPZKEeCz_6s_8P8IEA" target="_yPlQsPZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_yP8dEPZKEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_yP8dEfZKEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_yP8dEvZKEeCz_6s_8P8IEA" y="40"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_yP7O8fZKEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_yP72APZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_yP7O8vZKEeCz_6s_8P8IEA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_E1KPQPZMEeCz_6s_8P8IEA" id="(0.9591836734693877,0.054901960784313725)"/>
-    </edges>
-    <edges xmi:id="_N1YIAPZLEeCz_6s_8P8IEA" type="Transition" element="_N1VrwPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_N1YIBPZLEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_N1YIBfZLEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_N1YvEPZLEeCz_6s_8P8IEA" x="-11" y="-11"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_N1YIAfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_N1YIA_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_N1YIAvZLEeCz_6s_8P8IEA" points="[10, 4, -243, 0]$[244, -25, -9, -29]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N2gwcPZLEeCz_6s_8P8IEA" id="(0.9387755102040817,0.22492401215805471)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N2gwcfZLEeCz_6s_8P8IEA" id="(0.0,0.20364741641337386)"/>
-    </edges>
-    <edges xmi:id="_RSE4YPZLEeCz_6s_8P8IEA" type="Transition" element="_RSDqQPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_RSGGgPZLEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_RSGGgfZLEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_RSGGgvZLEeCz_6s_8P8IEA" x="-5" y="-8"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_RSE4YfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_RSE4Y_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_RSE4YvZLEeCz_6s_8P8IEA" points="[11, -1, -235, 30]$[245, -31, -1, 0]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_bOF1kPZLEeCz_6s_8P8IEA" id="(0.9795918367346939,0.2826747720364742)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_b0NaYPZLEeCz_6s_8P8IEA" id="(0.02040816326530612,0.2887537993920973)"/>
-    </edges>
-    <edges xmi:id="_dxMEcPZLEeCz_6s_8P8IEA" type="Transition" element="_dxK2UPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_dxMEdPZLEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_dxMEdfZLEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_dxMrgPZLEeCz_6s_8P8IEA" x="-3" y="-13"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_dxMEcfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_dxMEc_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_dxMEcvZLEeCz_6s_8P8IEA" points="[8, 9, -237, 0]$[242, 8, -3, -1]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_dyUF0PZLEeCz_6s_8P8IEA" id="(0.8775510204081632,0.3677811550151976)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_dyUs4PZLEeCz_6s_8P8IEA" id="(0.16326530612244897,0.3829787234042553)"/>
-    </edges>
-    <edges xmi:id="_kGkSIPZLEeCz_6s_8P8IEA" type="Transition" element="_kGjEAPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_kGkSJPZLEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_kGkSJfZLEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_kGkSJvZLEeCz_6s_8P8IEA" x="-5" y="-11"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_kGkSIfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_kGkSI_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_kGkSIvZLEeCz_6s_8P8IEA" points="[12, -2, -238, 0]$[246, 0, -4, 2]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_kHbNwPZLEeCz_6s_8P8IEA" id="(0.9183673469387755,0.47112462006079026)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_kHbNwfZLEeCz_6s_8P8IEA" id="(0.12244897959183673,0.47112462006079026)"/>
-    </edges>
-    <edges xmi:id="_q6WTEPZLEeCz_6s_8P8IEA" type="Transition" element="_q6VE8PZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_q6WTFPZLEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_q6WTFfZLEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_q6WTFvZLEeCz_6s_8P8IEA" x="-6" y="-10"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_q6WTEfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_q6WTE_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_q6WTEvZLEeCz_6s_8P8IEA" points="[11, 1, -260, -25]$[272, 85, 1, 59]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_q7dGUPZLEeCz_6s_8P8IEA" id="(0.8163265306122449,0.5592705167173252)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_9EQpUPZMEeCz_6s_8P8IEA" id="(0.12244897959183673,0.5623100303951368)"/>
-    </edges>
-    <edges xmi:id="_0zSHEPZLEeCz_6s_8P8IEA" type="Transition" element="_0zRgAPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_0zSuIfZLEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_0zSuIvZLEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_0zSuI_ZLEeCz_6s_8P8IEA" x="-6" y="-7"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_0zSHEfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_0zSuIPZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_0zSHEvZLEeCz_6s_8P8IEA" points="[19, 5, -256, 0]$[273, 57, -2, 52]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_00N7MPZLEeCz_6s_8P8IEA" id="(0.8367346938775511,0.6565349544072948)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_00N7MfZLEeCz_6s_8P8IEA" id="(0.16326530612244897,0.6443768996960486)"/>
-    </edges>
-    <edges xmi:id="_6xHXcPZLEeCz_6s_8P8IEA" type="Transition" element="_6xGJUPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_6xHXdPZLEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_6xHXdfZLEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_6xHXdvZLEeCz_6s_8P8IEA" x="-3" y="-13"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_6xHXcfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_6xHXc_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_6xHXcvZLEeCz_6s_8P8IEA" points="[15, 4, -259, 0]$[274, 30, 0, 26]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_6yDLkPZLEeCz_6s_8P8IEA" id="(0.9591836734693877,0.729483282674772)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_6yDyoPZLEeCz_6s_8P8IEA" id="(0.1836734693877551,0.7325227963525835)"/>
-    </edges>
-    <edges xmi:id="_Kgah4PZMEeCz_6s_8P8IEA" type="Transition" element="_KgZTwPZMEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_KgbI8fZMEeCz_6s_8P8IEA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_KgbI8vZMEeCz_6s_8P8IEA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_KgbI8_ZMEeCz_6s_8P8IEA" x="-6" y="-11"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_Kgah4fZMEeCz_6s_8P8IEA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_KgbI8PZMEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_Kgah4vZMEeCz_6s_8P8IEA" points="[16, -4, -264, 0]$[250, -4, -30, 0]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_KhI6oPZMEeCz_6s_8P8IEA" id="(0.8979591836734694,0.8085106382978723)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_KhI6ofZMEeCz_6s_8P8IEA" id="(0.1836734693877551,0.8237082066869301)"/>
-    </edges>
-    <edges xmi:id="_oEIZgQu4EeGmY4-cgZfupg" type="Transition" element="_oEIZgAu4EeGmY4-cgZfupg" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_oESKgQu4EeGmY4-cgZfupg" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_oESKggu4EeGmY4-cgZfupg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_oESKgwu4EeGmY4-cgZfupg" x="2" y="-13"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_oEIZggu4EeGmY4-cgZfupg" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_oESKgAu4EeGmY4-cgZfupg" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_oEIZgwu4EeGmY4-cgZfupg" points="[9, 0, -245, 0]$[250, -35, -4, -35]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_oE4AYAu4EeGmY4-cgZfupg" id="(0.82,0.10638297872340426)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_oE4AYQu4EeGmY4-cgZfupg" id="(0.24,0.10638297872340426)"/>
-    </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="_yJVewfZKEeCz_6s_8P8IEA" name="Test_Transition" expression="interface A:&#xA;in event event1 : integer = 1&#xA;in event event2&#xA;in event event3&#xA;out event event4&#xA;&#xA;interface:&#xA;in event event5 : boolean&#xA;in event event6&#xA;out event event7&#xA;var i : integer&#xA;var j : real&#xA;&#xA;internal:&#xA;event event10:integer=0&#xA;">
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_OFTDgAu5EeGmY4-cgZfupg" name="A">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_OFTDgQu5EeGmY4-cgZfupg" name="event1" direction="in" type="integer">
+        <derivation xmi:id="_OFTDggu5EeGmY4-cgZfupg">
+          <condition xsi:type="stext:PrimitiveValueExpression" xmi:id="_OFTDgwu5EeGmY4-cgZfupg" value="1"/>
+        </derivation>
+      </declarations>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_OFTDhAu5EeGmY4-cgZfupg" name="event2" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_OFTDhQu5EeGmY4-cgZfupg" name="event3" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_OFTDhgu5EeGmY4-cgZfupg" name="event4" direction="out"/>
+    </scopes>
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_OFTDhwu5EeGmY4-cgZfupg">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_OFTDiAu5EeGmY4-cgZfupg" name="event5" direction="in" type="boolean"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_OFTDiQu5EeGmY4-cgZfupg" name="event6" direction="in"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_OFTDigu5EeGmY4-cgZfupg" name="event7" direction="out"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_OFTDiwu5EeGmY4-cgZfupg" name="i" type="integer"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_OFTDjAu5EeGmY4-cgZfupg" name="j" type="real"/>
+    </scopes>
+    <scopes xsi:type="stext:InternalScope" xmi:id="_OFTDjQu5EeGmY4-cgZfupg">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_OFTDjgu5EeGmY4-cgZfupg" name="event10" type="integer">
+        <derivation xmi:id="_OFTDjwu5EeGmY4-cgZfupg">
+          <condition xsi:type="stext:PrimitiveValueExpression" xmi:id="_OFTDkAu5EeGmY4-cgZfupg" value="0"/>
+        </derivation>
+      </declarations>
+    </scopes>
+    <regions xmi:id="_yMGe4PZKEeCz_6s_8P8IEA" name="">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_yPWAIPZKEeCz_6s_8P8IEA">
+        <outgoingTransitions xmi:id="_yPtMgPZKEeCz_6s_8P8IEA" target="_yPZqgPZKEeCz_6s_8P8IEA"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_yPZqgPZKEeCz_6s_8P8IEA" name="State1" incomingTransitions="_yPtMgPZKEeCz_6s_8P8IEA">
+        <outgoingTransitions xmi:id="_N1VrwPZLEeCz_6s_8P8IEA" expression="A.event1, A.event2" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0gQu5EeGmY4-cgZfupg">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_OFc0ggu5EeGmY4-cgZfupg" event="_OFTDgQu5EeGmY4-cgZfupg"/>
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_OFc0gwu5EeGmY4-cgZfupg" event="_OFTDhAu5EeGmY4-cgZfupg"/>
+          </trigger>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_RSDqQPZLEeCz_6s_8P8IEA" expression="[i==5]" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0hAu5EeGmY4-cgZfupg">
+            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_OFc0hQu5EeGmY4-cgZfupg" operator="==">
+              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_OFc0hgu5EeGmY4-cgZfupg" value="_OFTDiwu5EeGmY4-cgZfupg"/>
+              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_OFc0hwu5EeGmY4-cgZfupg" value="5"/>
+            </guardExpression>
+          </trigger>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_dxK2UPZLEeCz_6s_8P8IEA" expression="A.event3[j&lt;20]" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0iAu5EeGmY4-cgZfupg">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_OFc0iQu5EeGmY4-cgZfupg" event="_OFTDhQu5EeGmY4-cgZfupg"/>
+            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_OFc0igu5EeGmY4-cgZfupg">
+              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_OFc0iwu5EeGmY4-cgZfupg" value="_OFTDjAu5EeGmY4-cgZfupg"/>
+              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_OFc0jAu5EeGmY4-cgZfupg" value="20"/>
+            </guardExpression>
+          </trigger>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_kGjEAPZLEeCz_6s_8P8IEA" expression="A.event3,A.event4[j>30]" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0jQu5EeGmY4-cgZfupg">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_OFc0jgu5EeGmY4-cgZfupg" event="_OFTDhQu5EeGmY4-cgZfupg"/>
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_OFc0jwu5EeGmY4-cgZfupg" event="_OFTDhgu5EeGmY4-cgZfupg"/>
+            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_OFc0kAu5EeGmY4-cgZfupg" operator=">">
+              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_OFc0kQu5EeGmY4-cgZfupg" value="_OFTDjAu5EeGmY4-cgZfupg"/>
+              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_OFc0kgu5EeGmY4-cgZfupg" value="30"/>
+            </guardExpression>
+          </trigger>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_q6VE8PZLEeCz_6s_8P8IEA" expression="event6/i=15;" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0kwu5EeGmY4-cgZfupg">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_OFc0lAu5EeGmY4-cgZfupg" event="_OFTDiQu5EeGmY4-cgZfupg"/>
+          </trigger>
+          <effect xsi:type="stext:ReactionEffect" xmi:id="_OFc0lQu5EeGmY4-cgZfupg">
+            <actions xsi:type="stext:Assignment" xmi:id="_OFc0lgu5EeGmY4-cgZfupg" varRef="_OFTDiwu5EeGmY4-cgZfupg">
+              <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_OFc0lwu5EeGmY4-cgZfupg" value="15"/>
+            </actions>
+          </effect>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_0zRgAPZLEeCz_6s_8P8IEA" expression="event7/j=i*9;" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0mAu5EeGmY4-cgZfupg">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_OFc0mQu5EeGmY4-cgZfupg" event="_OFTDigu5EeGmY4-cgZfupg"/>
+          </trigger>
+          <effect xsi:type="stext:ReactionEffect" xmi:id="_OFc0mgu5EeGmY4-cgZfupg">
+            <actions xsi:type="stext:Assignment" xmi:id="_OFc0mwu5EeGmY4-cgZfupg" varRef="_OFTDjAu5EeGmY4-cgZfupg">
+              <expression xsi:type="stext:NumericalMultiplyDivideExpression" xmi:id="_OFc0nAu5EeGmY4-cgZfupg">
+                <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_OFc0nQu5EeGmY4-cgZfupg" value="_OFTDiwu5EeGmY4-cgZfupg"/>
+                <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_OFc0ngu5EeGmY4-cgZfupg" value="9"/>
+              </expression>
+            </actions>
+          </effect>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_6xGJUPZLEeCz_6s_8P8IEA" expression="after 10s" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0nwu5EeGmY4-cgZfupg">
+            <triggers xsi:type="stext:TimeEventSpec" xmi:id="_OFc0oAu5EeGmY4-cgZfupg" value="10"/>
+          </trigger>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_KgZTwPZMEeCz_6s_8P8IEA" expression="after 100ms" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0oQu5EeGmY4-cgZfupg">
+            <triggers xsi:type="stext:TimeEventSpec" xmi:id="_OFc0ogu5EeGmY4-cgZfupg" value="100" unit="ms"/>
+          </trigger>
+        </outgoingTransitions>
+        <outgoingTransitions xmi:id="_oEIZgAu4EeGmY4-cgZfupg" expression="A.event1" target="_6jMFoPZKEeCz_6s_8P8IEA">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_OFc0owu5EeGmY4-cgZfupg">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_OFc0pAu5EeGmY4-cgZfupg" event="_OFTDgQu5EeGmY4-cgZfupg"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_OFc0gAu5EeGmY4-cgZfupg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_6jMFoPZKEeCz_6s_8P8IEA" name="State2" incomingTransitions="_N1VrwPZLEeCz_6s_8P8IEA _RSDqQPZLEeCz_6s_8P8IEA _dxK2UPZLEeCz_6s_8P8IEA _kGjEAPZLEeCz_6s_8P8IEA _q6VE8PZLEeCz_6s_8P8IEA _0zRgAPZLEeCz_6s_8P8IEA _6xGJUPZLEeCz_6s_8P8IEA _KgZTwPZMEeCz_6s_8P8IEA _oEIZgAu4EeGmY4-cgZfupg">
+        <scopes xmi:id="_OFc0pQu5EeGmY4-cgZfupg"/>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_yMFQwPZKEeCz_6s_8P8IEA" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_yJVewfZKEeCz_6s_8P8IEA" measurementUnit="Pixel">
+    <children xmi:id="_yMfgcPZKEeCz_6s_8P8IEA" type="Region" element="_yMGe4PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_yOuVEPZKEeCz_6s_8P8IEA" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_yOwKQPZKEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_yOwKQfZKEeCz_6s_8P8IEA"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_yOymgPZKEeCz_6s_8P8IEA" type="RegionCompartment" fontName="Arial" fontHeight="10" lineColor="4210752">
+        <children xmi:id="_yPWnMPZKEeCz_6s_8P8IEA" type="Entry" element="_yPWAIPZKEeCz_6s_8P8IEA">
+          <children xmi:id="_yPX1UPZKEeCz_6s_8P8IEA" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_yPX1U_ZKEeCz_6s_8P8IEA" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_yPX1VPZKEeCz_6s_8P8IEA"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_yPX1VfZKEeCz_6s_8P8IEA"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_yPX1UfZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yPX1UvZKEeCz_6s_8P8IEA"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_yPWnMfZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yPX1VvZKEeCz_6s_8P8IEA" x="70" y="20"/>
+        </children>
+        <children xmi:id="_yPlQsPZKEeCz_6s_8P8IEA" type="State" element="_yPZqgPZKEeCz_6s_8P8IEA">
+          <children xsi:type="notation:DecorationNode" xmi:id="_yPl3wPZKEeCz_6s_8P8IEA" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_yPl3wfZKEeCz_6s_8P8IEA"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_yPl3wvZKEeCz_6s_8P8IEA"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_yPoUAPZKEeCz_6s_8P8IEA" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_yPo7EPZKEeCz_6s_8P8IEA" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yPo7EfZKEeCz_6s_8P8IEA"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_yPo7EvZKEeCz_6s_8P8IEA" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_yPlQsfZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_yPlQsvZKEeCz_6s_8P8IEA"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_yPqJMPZKEeCz_6s_8P8IEA"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yPqwQPZKEeCz_6s_8P8IEA" x="1" y="42" height="329"/>
+        </children>
+        <children xmi:id="_6jN60PZKEeCz_6s_8P8IEA" type="State" element="_6jMFoPZKEeCz_6s_8P8IEA">
+          <children xsi:type="notation:DecorationNode" xmi:id="_6jPI8PZKEeCz_6s_8P8IEA" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_6jPI8fZKEeCz_6s_8P8IEA"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_6jPI8vZKEeCz_6s_8P8IEA"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_6jPI8_ZKEeCz_6s_8P8IEA" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_6jPI9PZKEeCz_6s_8P8IEA" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_6jPI9fZKEeCz_6s_8P8IEA"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_6jPwAPZKEeCz_6s_8P8IEA" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_6jN60fZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_6jN60vZKEeCz_6s_8P8IEA"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_6jPwAfZKEeCz_6s_8P8IEA"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_6jN60_ZKEeCz_6s_8P8IEA" x="284" y="42" height="329"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yOymgfZKEeCz_6s_8P8IEA"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_yMgHgPZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yO0bsPZKEeCz_6s_8P8IEA" x="232" y="10" width="400" height="431"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_yP9EIPZKEeCz_6s_8P8IEA" type="StatechartText" fontName="Arial" fontHeight="10" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_yP9EIvZKEeCz_6s_8P8IEA" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_yP9rMPZKEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_yP9rMfZKEeCz_6s_8P8IEA"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_yP9rMvZKEeCz_6s_8P8IEA" type="StatechartTextExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yP9rM_ZKEeCz_6s_8P8IEA"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_yQAHcPZKEeCz_6s_8P8IEA" x="10" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_yMFQwfZKEeCz_6s_8P8IEA"/>
+    <edges xmi:id="_yP7O8PZKEeCz_6s_8P8IEA" type="Transition" element="_yPtMgPZKEeCz_6s_8P8IEA" source="_yPWnMPZKEeCz_6s_8P8IEA" target="_yPlQsPZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_yP8dEPZKEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_yP8dEfZKEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_yP8dEvZKEeCz_6s_8P8IEA" y="40"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_yP7O8fZKEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_yP72APZKEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_yP7O8vZKEeCz_6s_8P8IEA" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_E1KPQPZMEeCz_6s_8P8IEA" id="(0.9591836734693877,0.054901960784313725)"/>
+    </edges>
+    <edges xmi:id="_N1YIAPZLEeCz_6s_8P8IEA" type="Transition" element="_N1VrwPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_N1YIBPZLEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_N1YIBfZLEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_N1YvEPZLEeCz_6s_8P8IEA" x="-11" y="-11"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_N1YIAfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_N1YIA_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_N1YIAvZLEeCz_6s_8P8IEA" points="[10, 4, -243, 0]$[244, -25, -9, -29]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N2gwcPZLEeCz_6s_8P8IEA" id="(0.9387755102040817,0.22492401215805471)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_N2gwcfZLEeCz_6s_8P8IEA" id="(0.0,0.20364741641337386)"/>
+    </edges>
+    <edges xmi:id="_RSE4YPZLEeCz_6s_8P8IEA" type="Transition" element="_RSDqQPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_RSGGgPZLEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_RSGGgfZLEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_RSGGgvZLEeCz_6s_8P8IEA" x="-5" y="-8"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_RSE4YfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_RSE4Y_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_RSE4YvZLEeCz_6s_8P8IEA" points="[11, -1, -235, 30]$[245, -31, -1, 0]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_bOF1kPZLEeCz_6s_8P8IEA" id="(0.9795918367346939,0.2826747720364742)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_b0NaYPZLEeCz_6s_8P8IEA" id="(0.02040816326530612,0.2887537993920973)"/>
+    </edges>
+    <edges xmi:id="_dxMEcPZLEeCz_6s_8P8IEA" type="Transition" element="_dxK2UPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_dxMEdPZLEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_dxMEdfZLEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_dxMrgPZLEeCz_6s_8P8IEA" x="-3" y="-13"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_dxMEcfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_dxMEc_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_dxMEcvZLEeCz_6s_8P8IEA" points="[8, 9, -237, 0]$[242, 8, -3, -1]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_dyUF0PZLEeCz_6s_8P8IEA" id="(0.8775510204081632,0.3677811550151976)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_dyUs4PZLEeCz_6s_8P8IEA" id="(0.16326530612244897,0.3829787234042553)"/>
+    </edges>
+    <edges xmi:id="_kGkSIPZLEeCz_6s_8P8IEA" type="Transition" element="_kGjEAPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_kGkSJPZLEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_kGkSJfZLEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_kGkSJvZLEeCz_6s_8P8IEA" x="-5" y="-11"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_kGkSIfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_kGkSI_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_kGkSIvZLEeCz_6s_8P8IEA" points="[12, -2, -238, 0]$[246, 0, -4, 2]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_kHbNwPZLEeCz_6s_8P8IEA" id="(0.9183673469387755,0.47112462006079026)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_kHbNwfZLEeCz_6s_8P8IEA" id="(0.12244897959183673,0.47112462006079026)"/>
+    </edges>
+    <edges xmi:id="_q6WTEPZLEeCz_6s_8P8IEA" type="Transition" element="_q6VE8PZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_q6WTFPZLEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_q6WTFfZLEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_q6WTFvZLEeCz_6s_8P8IEA" x="-6" y="-10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_q6WTEfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_q6WTE_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_q6WTEvZLEeCz_6s_8P8IEA" points="[11, 1, -260, -25]$[272, 85, 1, 59]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_q7dGUPZLEeCz_6s_8P8IEA" id="(0.8163265306122449,0.5592705167173252)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_9EQpUPZMEeCz_6s_8P8IEA" id="(0.12244897959183673,0.5623100303951368)"/>
+    </edges>
+    <edges xmi:id="_0zSHEPZLEeCz_6s_8P8IEA" type="Transition" element="_0zRgAPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_0zSuIfZLEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_0zSuIvZLEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_0zSuI_ZLEeCz_6s_8P8IEA" x="-6" y="-7"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_0zSHEfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_0zSuIPZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_0zSHEvZLEeCz_6s_8P8IEA" points="[19, 5, -256, 0]$[273, 57, -2, 52]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_00N7MPZLEeCz_6s_8P8IEA" id="(0.8367346938775511,0.6565349544072948)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_00N7MfZLEeCz_6s_8P8IEA" id="(0.16326530612244897,0.6443768996960486)"/>
+    </edges>
+    <edges xmi:id="_6xHXcPZLEeCz_6s_8P8IEA" type="Transition" element="_6xGJUPZLEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_6xHXdPZLEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_6xHXdfZLEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_6xHXdvZLEeCz_6s_8P8IEA" x="-3" y="-13"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_6xHXcfZLEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_6xHXc_ZLEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_6xHXcvZLEeCz_6s_8P8IEA" points="[15, 4, -259, 0]$[274, 30, 0, 26]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_6yDLkPZLEeCz_6s_8P8IEA" id="(0.9591836734693877,0.729483282674772)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_6yDyoPZLEeCz_6s_8P8IEA" id="(0.1836734693877551,0.7325227963525835)"/>
+    </edges>
+    <edges xmi:id="_Kgah4PZMEeCz_6s_8P8IEA" type="Transition" element="_KgZTwPZMEeCz_6s_8P8IEA" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_KgbI8fZMEeCz_6s_8P8IEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_KgbI8vZMEeCz_6s_8P8IEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_KgbI8_ZMEeCz_6s_8P8IEA" x="-6" y="-11"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_Kgah4fZMEeCz_6s_8P8IEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_KgbI8PZMEeCz_6s_8P8IEA" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_Kgah4vZMEeCz_6s_8P8IEA" points="[16, -4, -264, 0]$[250, -4, -30, 0]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_KhI6oPZMEeCz_6s_8P8IEA" id="(0.8979591836734694,0.8085106382978723)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_KhI6ofZMEeCz_6s_8P8IEA" id="(0.1836734693877551,0.8237082066869301)"/>
+    </edges>
+    <edges xmi:id="_oEIZgQu4EeGmY4-cgZfupg" type="Transition" element="_oEIZgAu4EeGmY4-cgZfupg" source="_yPlQsPZKEeCz_6s_8P8IEA" target="_6jN60PZKEeCz_6s_8P8IEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_oESKgQu4EeGmY4-cgZfupg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_oESKggu4EeGmY4-cgZfupg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_oESKgwu4EeGmY4-cgZfupg" x="2" y="-13"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_oEIZggu4EeGmY4-cgZfupg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_oESKgAu4EeGmY4-cgZfupg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_oEIZgwu4EeGmY4-cgZfupg" points="[9, 0, -245, 0]$[250, -35, -4, -35]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_oE4AYAu4EeGmY4-cgZfupg" id="(0.82,0.10638297872340426)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_oE4AYQu4EeGmY4-cgZfupg" id="(0.24,0.10638297872340426)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 10 - 8
TestScenarios/test-c/Test_Expression/main.c

@@ -61,8 +61,9 @@ int test_initialization_and_first_entry()
 			(test_Expression_if_get_var3(&machine.interface) < testvalue1u) );
 
 	/*@Desc: check, whether var4 from default interface is between 43.3 and 43.5 */
-	assert( (test_Expression_if_get_var4(&machine.interface) > 43.3) &&
-			(test_Expression_if_get_var4(&machine.interface) < 43.5) );
+	printf("Var4 is set to %f\n", test_Expression_if_get_var4(&machine.interface));
+	assert( (test_Expression_if_get_var4(&machine.interface) > 43.2) &&
+			(test_Expression_if_get_var4(&machine.interface) < 43.4) );
 
 	/*@Desc: check whether var5 from default interface is initially set to false */
 	assert( test_Expression_if_get_var5(&machine.interface) == bool_false);
@@ -140,11 +141,11 @@ int test_default_other_var2_var3()
 	Timer dummyTimer;
 	EventPool eventPool;
 
-//	real testvalue1u = (19.4 + 19.4*123 + 0.1);
-//	real testvalue1l = (19.4 + 19.4*123 - 0.1);
+	real testvalue1u = (19.4 + 19.4*123 + 0.1);
+	real testvalue1l = (19.4 + 19.4*123 - 0.1);
 
-	real testvalue2u = 19.4 + 19.4*123/5.0 + 0.1;
-	real testvalue2l = 19.4 + 19.4*123/5.0 - 0.1;
+	real testvalue2u = (19.4 + 19.4*123)/5.0 + 0.1;
+	real testvalue2l = (19.4 + 19.4*123)/5.0 - 0.1;
 
 	/*@Desc: setup initial statemachine */
 	setupStatemachine(&machine, &dummyTimer, &eventPool);
@@ -153,8 +154,9 @@ int test_default_other_var2_var3()
 	assert( test_Expression_if_get_var2(&machine.interface) == 123 );
 
 	/*@Desc: check initial value for var3 (19.4) */
-	assert( (test_Expression_if_get_var3(&machine.interface) > 19.3) &&
-			(test_Expression_if_get_var3(&machine.interface) < 19.5));
+	printf("Var3 is set to %f\n", test_Expression_if_get_var3(&machine.interface));
+	assert( (test_Expression_if_get_var3(&machine.interface) > testvalue1l) &&
+			(test_Expression_if_get_var3(&machine.interface) < testvalue1u));
 
 	/*@Desc: run an explicit cycle - without any waiting event */
 	test_ExpressionStatemachine_runCycle(&machine);

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

@@ -5,4 +5,9 @@ target_link_libraries(TestHierarchyMain Test_HierarchyStatemachine)
 
 add_test(Hierarchy_test_state9_state10_transition TestHierarchyMain "1")
 add_test(Hierarchy_test_state1_state2_back_transition TestHierarchyMain "2")
-
+add_test(Hierarchy_traverse_to_State5_back_with_event6_transition TestHierarchyMain "3")
+add_test(Hierarchy_traverse_to_State5_back_with_event15_transition TestHierarchyMain "4")
+add_test(Hierarchy_state2_back_with_event14_transition TestHierarchyMain "5")
+add_test(Hierarchy_traverse_to_State7_back_with_event6_transition TestHierarchyMain "6")
+add_test(Hierarchy_traverse_to_State8_back_with_event6_transition TestHierarchyMain "7")
+add_test(Hierarchy_traverse_to_State8_back_with_event16_transition TestHierarchyMain "8")

+ 556 - 7
TestScenarios/test-c/Test_Hierarchy/main.c

@@ -17,7 +17,17 @@
 /*@DTestSuite: Hierachy Statechart Test (Test_Hierarchy.sct) */
 
 #define MAXEVENTSPERTYPE 4
-const char* stateName[6] = {"State1", "State2", "State3", "State4", "State5", "State6"};
+const char* stateName[13] = {"State1", "State2", "State3", "State4", "State5", "State6", "State7", "State8", "State9", "State10", "State11", "State12", "none"};
+const int EnumTostateStr[10] = { _State1, _State2, _State3, _State4, _State5, _State6, _State7, _State8, _State9, _State10 };
+
+const char* getStateString(uint32_t index)
+{
+	int i;
+	for (i=0; i<10; ++i)
+		if (EnumTostateStr[i] == index)
+			return stateName[i];
+	return stateName[12];
+}
 
 void setupStatemachine(Test_HierarchyStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
 {
@@ -58,12 +68,235 @@ int test_state9_state10_transition()
 	/*@Desc: setup initial statemachine */
 	setupStatemachine(&machine, &dummyTimer, &eventPool);
 
-	/*@Desc: run the statechart for the first time (initially) */
+	/*@Desc: check wether state is initial state (State9) */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is still in initial state (State9) */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event9 on default interface */
+	test_Hierarchy_if_raise_event9(&machine.interface);
+
+	/*@Desc: run the statechart to trigger state change */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state10 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State10") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event10 on default interface */
+	test_Hierarchy_if_raise_event10(&machine.interface);
+
+	/*@Desc: run the statechart to trigger state change */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state10 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+/*@Test: test_state1_state2_back_transition test of event1 raised on default interface to enter state 3 */
+int test_state1_state2_back_transition()
+{
+	Test_HierarchyStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: check wether state is initial state (State9) */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event1 on default interface */
+	test_Hierarchy_if_raise_event1(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State3") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 2 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 0 );
+
+	/*@Desc: raise event6 on default interface */
+	test_Hierarchy_if_raise_event6(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state10 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 0 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+/*@Test: test_state1_state2_back_transition test of event1 raised on default interface to enter state 3 */
+int test_state1_state2_back_with_event14_transition()
+{
+	Test_HierarchyStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: check wether state is initial state (State9) */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event1 on default interface */
+	test_Hierarchy_if_raise_event1(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State3") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 2 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 0 );
+
+	/*@Desc: raise event6 on default interface */
+	test_Hierarchy_if_raise_event14(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
 	test_HierarchyStatemachine_runCycle(&machine);
 
+	/*@Desc: check wether state is changed  to state10 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 0 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+
+/*@Test: test_traverse_to_State5_back_with_event6_transition tests whether transition to state5 and back to state9 works correct */
+int test_traverse_to_State5_back_with_event6_transition()
+{
+	Test_HierarchyStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
 	/*@Desc: check wether state is initial state (State9) */
-	printf("%s\n", stateName[statemachineBase_getState((StatemachineBase*)&machine, 0)]);
-	assert( strcmp(stateName[statemachineBase_getState((StatemachineBase*)&machine, 0)], "State9") == 0);
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event1 on default interface */
+	test_Hierarchy_if_raise_event1(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State3") == 0);
+
+	/*@Desc: raise event2 on default interface */
+	test_Hierarchy_if_raise_event2(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State5") == 0);
+
+
+	/*@Desc: check whether s2 is set to 3 as State 5 is in third hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 3 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 0 );
+
+	/*@Desc: raise event6 on default interface */
+	test_Hierarchy_if_raise_event6(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state10 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	printf( " s2 = %d\n", test_Hierarchy_if_get_s2(&machine.interface));
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 0 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
 
 	/*@Desc: teardown statemachine */
 	teardownStatemachine(&machine, &dummyTimer, &eventPool);
@@ -71,8 +304,79 @@ int test_state9_state10_transition()
 	return 0;
 }
 
+
 /*@Test: test_default_var1 test behavior of var1 in default and other interface */
-int test_state1_state2_back_transition()
+int test_traverse_to_State5_back_with_event15_transition()
+{
+	Test_HierarchyStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: check wether state is initial state (State9) */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event1 on default interface */
+	test_Hierarchy_if_raise_event1(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State3") == 0);
+
+	/*@Desc: raise event2 on default interface */
+	test_Hierarchy_if_raise_event2(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State5") == 0);
+
+
+	/*@Desc: check whether s2 is set to 3 as State 5 is in third hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 3 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 0 );
+
+	/*@Desc: raise event6 on default interface */
+	test_Hierarchy_if_raise_event15(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state10 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State10") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	printf( " s2 = %d\n", test_Hierarchy_if_get_s2(&machine.interface));
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 0 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+/*@Test: test_traverse_to_State7_back_with_event6_transition tests whether transition to state7 and back to state9 works correct */
+int test_traverse_to_State7_back_with_event6_transition()
 {
 	Test_HierarchyStatemachine machine;
 	Timer dummyTimer;
@@ -81,10 +385,156 @@ int test_state1_state2_back_transition()
 	/*@Desc: setup initial statemachine */
 	setupStatemachine(&machine, &dummyTimer, &eventPool);
 
-	/*@Desc: run an explicit cycle - without any waiting event (for initialization) */
+	/*@Desc: check wether state is initial state (State9) */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event1 on default interface */
+	test_Hierarchy_if_raise_event1(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State3") == 0);
+
+	/*@Desc: raise event2 on default interface */
+	test_Hierarchy_if_raise_event2(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state5 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State5") == 0);
+
+	/*@Desc: raise event2 on default interface */
+	test_Hierarchy_if_raise_event3(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state7 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State7") == 0);
+
+	/*@Desc: check whether s2 is set to 3 as State 7 is in 4th hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 4 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 0 );
+
+	/*@Desc: raise event6 on default interface */
+	test_Hierarchy_if_raise_event6(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state9 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	printf( " s2 = %d\n", test_Hierarchy_if_get_s2(&machine.interface));
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 0 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+/*@Test: test_traverse_to_State8_back_with_event6_transition tests whether transition to state8 and back to state9 works correct */
+int test_traverse_to_State8_back_with_event6_transition()
+{
+	Test_HierarchyStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: check wether state is initial state (State9) */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event1 on default interface */
+	test_Hierarchy_if_raise_event1(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State3") == 0);
+
+	/*@Desc: raise event2 on default interface */
+	test_Hierarchy_if_raise_event2(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state5 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State5") == 0);
+
+	/*@Desc: raise event3 on default interface */
+	test_Hierarchy_if_raise_event3(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state7 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State7") == 0);
+
+	/*@Desc: raise event4 on default interface */
+	test_Hierarchy_if_raise_event4(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state8 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State8") == 0);
+
+	/*@Desc: check whether s2 is set to 3 as State 7 is in 4th hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 4 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 0 );
+
+	/*@Desc: raise event6 on default interface */
+	test_Hierarchy_if_raise_event6(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
 	test_HierarchyStatemachine_runCycle(&machine);
 
-	/*@Desc:  */
+	/*@Desc: check wether state is changed  to state9 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	printf( " s2 = %d\n", test_Hierarchy_if_get_s2(&machine.interface));
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 0 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
 
 
 	/*@Desc: teardown statemachine */
@@ -93,8 +543,94 @@ int test_state1_state2_back_transition()
 	return 0;
 }
 
+/*@Test: test_traverse_to_State8_back_with_event16_transition tests whether transition to state8 and back to state10 works correct */
+int test_traverse_to_State8_back_with_event16_transition()
+{
+	Test_HierarchyStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
 
+	/*@Desc: check wether state is initial state (State9) */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State9") == 0);
 
+	/*@Desc: check whether s1 is set to 2 as State 9 is in second hierarchy level */
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+	/*@Desc: raise event1 on default interface */
+	test_Hierarchy_if_raise_event1(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state3 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State3") == 0);
+
+	/*@Desc: raise event2 on default interface */
+	test_Hierarchy_if_raise_event2(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state5 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State5") == 0);
+
+	/*@Desc: raise event3 on default interface */
+	test_Hierarchy_if_raise_event3(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state7 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State7") == 0);
+
+	/*@Desc: raise event4 on default interface */
+	test_Hierarchy_if_raise_event4(&machine.interface);
+
+	/*@Desc: run the statechart cycle */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state8 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State8") == 0);
+
+	/*@Desc: check whether s2 is set to 3 as State 7 is in 4th hierarchy level */
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 4 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 0 );
+
+	/*@Desc: raise event16 on default interface */
+	test_Hierarchy_if_raise_event16(&machine.interface);
+
+	/*@Desc: run the statechart for the first time (just as dummy) */
+	test_HierarchyStatemachine_runCycle(&machine);
+
+	/*@Desc: check wether state is changed  to state10 */
+	printf("%s\n", getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)));
+	assert( strcmp(getStateString(statemachineBase_getState((StatemachineBase*)&machine, 0)), "State10") == 0);
+
+	/*@Desc: check whether s2 is set to 2 as State 3 is in second hierarchy level */
+	printf( " s2 = %d\n", test_Hierarchy_if_get_s2(&machine.interface));
+	assert( test_Hierarchy_if_get_s2(&machine.interface) == 0 );
+
+	/*@Desc: check whether s1 is set to 0 as State 1 has been left */
+	printf( " s1 = %d\n", test_Hierarchy_if_get_s1(&machine.interface));
+	assert( test_Hierarchy_if_get_s1(&machine.interface) == 2 );
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
 
 
 
@@ -108,8 +644,21 @@ int main(int argc, char** argv)
 		return test_state9_state10_transition();
 	case 2:
 		return test_state1_state2_back_transition();
+	case 3:
+		return test_traverse_to_State5_back_with_event6_transition();
+	case 4:
+		return test_traverse_to_State5_back_with_event15_transition();
+	case 5:
+		return test_state1_state2_back_with_event14_transition();
+	case 6:
+		return test_traverse_to_State7_back_with_event6_transition();
+	case 7:
+		return test_traverse_to_State8_back_with_event6_transition();
+	case 8:
+		return test_traverse_to_State8_back_with_event16_transition();
 	}
 
+
 	return -1;
 
 }

+ 8 - 0
TestScenarios/test-c/Test_LocalActions/CMakeLists.txt

@@ -0,0 +1,8 @@
+include_directories(../../src-gen-c/Test_LocalActions)
+
+add_executable(TestLocalActionsMain main.c)
+target_link_libraries(TestLocalActionsMain Test_LocalActionsStatemachine)
+
+add_test(Dummy1 TestLocalActionsMain "1")
+add_test(Dummy2 TestLocalActionsMain "2")
+

+ 108 - 0
TestScenarios/test-c/Test_LocalActions/main.c

@@ -0,0 +1,108 @@
+/*
+ * main.c
+ *
+ *  Created on: 16.11.2011
+ *      Author: showcase
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <string.h>
+#include "Timer.h"
+#include "DummyTimer.h"
+#include "Test_LocalActionsStatemachine.h"
+
+/*@DTestSuite: LocalActions Statechart Test (Test_LocalActions.sct) */
+
+#define MAXEVENTSPERTYPE 4
+const char* stateName[6] = {"State1", "State2", "State3", "State4", "State5", "State6"};
+
+void setupStatemachine(Test_LocalActionsStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
+{
+	/* set up dummy Timer */
+	dummyTimer_init(dummyTimer);
+
+	/* Set up Event Pool */
+	eventPool_init_heap(eventPool, event_last, MAXEVENTSPERTYPE);
+
+	/* initialize state machine */
+	test_LocalActionsStatemachine_init(machine, dummyTimer, eventPool);
+
+}
+
+void teardownStatemachine(Test_LocalActionsStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
+{
+	test_LocalActionsStatemachine_exit(machine);
+	timer_exit(dummyTimer);
+	eventPool_exit(eventPool);
+
+}
+
+/*@Test: test_default_var1 test behavior of var1 in default interface */
+int test_initialization()
+{
+
+	return 0;
+}
+
+
+/*@Test: test_state9_state10_transition test behavior of var1 in default and other interface */
+int dummy1()
+{
+	Test_LocalActionsStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+/*@Test: test_default_var1 test behavior of var1 in default and other interface */
+int dummy2()
+{
+	Test_LocalActionsStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: run an explicit cycle - without any waiting event (for initialization) */
+	test_LocalActionsStatemachine_runCycle(&machine);
+
+	/*@Desc:  */
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+
+
+
+
+
+int main(int argc, char** argv)
+{
+	if (argc != 2)
+		return -1;
+
+	switch (atoi(argv[1])) {
+	case 1:
+		return dummy1();
+	case 2:
+		return dummy2();
+	}
+
+	return -1;
+
+}

+ 8 - 0
TestScenarios/test-c/Test_ParallelRegions/CMakeLists.txt

@@ -0,0 +1,8 @@
+include_directories(../../src-gen-c/Test_ParallelRegions)
+
+add_executable(TestParallelRegionsMain main.c)
+target_link_libraries(TestParallelRegionsMain Test_ParallelRegionsStatemachine)
+
+add_test(Dummy1 TestParallelRegionsMain "1")
+add_test(Dummy2 TestParallelRegionsMain "2")
+

+ 108 - 0
TestScenarios/test-c/Test_ParallelRegions/main.c

@@ -0,0 +1,108 @@
+/*
+ * main.c
+ *
+ *  Created on: 16.11.2011
+ *      Author: showcase
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <string.h>
+#include "Timer.h"
+#include "DummyTimer.h"
+#include "Test_ParallelRegionsStatemachine.h"
+
+/*@DTestSuite: ParallelRegions Statechart Test (Test_ParallelRegions.sct) */
+
+#define MAXEVENTSPERTYPE 4
+const char* stateName[6] = {"State1", "State2", "State3", "State4", "State5", "State6"};
+
+void setupStatemachine(Test_ParallelRegionsStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
+{
+	/* set up dummy Timer */
+	dummyTimer_init(dummyTimer);
+
+	/* Set up Event Pool */
+	eventPool_init_heap(eventPool, event_last, MAXEVENTSPERTYPE);
+
+	/* initialize state machine */
+	test_ParallelRegionsStatemachine_init(machine, dummyTimer, eventPool);
+
+}
+
+void teardownStatemachine(Test_ParallelRegionsStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
+{
+	test_ParallelRegionsStatemachine_exit(machine);
+	timer_exit(dummyTimer);
+	eventPool_exit(eventPool);
+
+}
+
+/*@Test: test_default_var1 test behavior of var1 in default interface */
+int test_initialization()
+{
+
+	return 0;
+}
+
+
+/*@Test: test_state9_state10_transition test behavior of var1 in default and other interface */
+int dummy1()
+{
+	Test_ParallelRegionsStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+/*@Test: test_default_var1 test behavior of var1 in default and other interface */
+int dummy2()
+{
+	Test_ParallelRegionsStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: run an explicit cycle - without any waiting event (for initialization) */
+	test_ParallelRegionsStatemachine_runCycle(&machine);
+
+	/*@Desc:  */
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+
+
+
+
+
+int main(int argc, char** argv)
+{
+	if (argc != 2)
+		return -1;
+
+	switch (atoi(argv[1])) {
+	case 1:
+		return dummy1();
+	case 2:
+		return dummy2();
+	}
+
+	return -1;
+
+}

+ 8 - 0
TestScenarios/test-c/Test_ShallowHistory/CMakeLists.txt

@@ -0,0 +1,8 @@
+include_directories(../../src-gen-c/Test_ShallowHistory)
+
+add_executable(TestShallowHistoryMain main.c)
+target_link_libraries(TestShallowHistoryMain Test_ShallowHistoryStatemachine)
+
+add_test(Dummy1 TestShallowHistoryMain "1")
+add_test(Dummy2 TestShallowHistoryMain "2")
+

+ 108 - 0
TestScenarios/test-c/Test_ShallowHistory/main.c

@@ -0,0 +1,108 @@
+/*
+ * main.c
+ *
+ *  Created on: 16.11.2011
+ *      Author: showcase
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <string.h>
+#include "Timer.h"
+#include "DummyTimer.h"
+#include "Test_ShallowHistoryStatemachine.h"
+
+/*@DTestSuite: ShallowHistory Statechart Test (Test_ShallowHistory.sct) */
+
+#define MAXEVENTSPERTYPE 4
+const char* stateName[6] = {"State1", "State2", "State3", "State4", "State5", "State6"};
+
+void setupStatemachine(Test_ShallowHistoryStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
+{
+	/* set up dummy Timer */
+	dummyTimer_init(dummyTimer);
+
+	/* Set up Event Pool */
+	eventPool_init_heap(eventPool, event_last, MAXEVENTSPERTYPE);
+
+	/* initialize state machine */
+	test_ShallowHistoryStatemachine_init(machine, dummyTimer, eventPool);
+
+}
+
+void teardownStatemachine(Test_ShallowHistoryStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
+{
+	test_ShallowHistoryStatemachine_exit(machine);
+	timer_exit(dummyTimer);
+	eventPool_exit(eventPool);
+
+}
+
+/*@Test: test_default_var1 test behavior of var1 in default interface */
+int test_initialization()
+{
+
+	return 0;
+}
+
+
+/*@Test: test_state9_state10_transition test behavior of var1 in default and other interface */
+int dummy1()
+{
+	Test_ShallowHistoryStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+/*@Test: test_default_var1 test behavior of var1 in default and other interface */
+int dummy2()
+{
+	Test_ShallowHistoryStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: run an explicit cycle - without any waiting event (for initialization) */
+	test_ShallowHistoryStatemachine_runCycle(&machine);
+
+	/*@Desc:  */
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+
+
+
+
+
+int main(int argc, char** argv)
+{
+	if (argc != 2)
+		return -1;
+
+	switch (atoi(argv[1])) {
+	case 1:
+		return dummy1();
+	case 2:
+		return dummy2();
+	}
+
+	return -1;
+
+}

+ 8 - 0
TestScenarios/test-c/Test_Transition/CMakeLists.txt

@@ -0,0 +1,8 @@
+include_directories(../../src-gen-c/Test_Transition)
+
+add_executable(TestTransitionMain main.c)
+target_link_libraries(TestTransitionMain Test_TransitionStatemachine)
+
+add_test(Dummy1 TestTransitionMain "1")
+add_test(Dummy2 TestTransitionMain "2")
+

+ 112 - 0
TestScenarios/test-c/Test_Transition/main.c

@@ -0,0 +1,112 @@
+/*
+ * main.c
+ *
+ *  Created on: 16.11.2011
+ *      Author: showcase
+ */
+
+
+#include <stdio.h>
+#include <stdlib.h>
+#include <assert.h>
+#include <string.h>
+#include "Timer.h"
+#include "DummyTimer.h"
+#include "Test_TransitionStatemachine.h"
+
+/*@DTestSuite: Hierachy Statechart Test (Test_Transition.sct) */
+
+#define MAXEVENTSPERTYPE 4
+const char* stateName[6] = {"State1", "State2", "State3", "State4", "State5", "State6"};
+
+void setupStatemachine(Test_TransitionStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
+{
+	/* set up dummy Timer */
+	dummyTimer_init(dummyTimer);
+
+	/* Set up Event Pool */
+	eventPool_init_heap(eventPool, event_last, MAXEVENTSPERTYPE);
+
+	/* initialize state machine */
+	test_TransitionStatemachine_init(machine, dummyTimer, eventPool);
+
+}
+
+void teardownStatemachine(Test_TransitionStatemachine* machine, Timer* dummyTimer, EventPool* eventPool)
+{
+	test_TransitionStatemachine_exit(machine);
+	timer_exit(dummyTimer);
+	eventPool_exit(eventPool);
+
+}
+
+/*@Test: test_default_var1 test behavior of var1 in default interface */
+int test_initialization()
+{
+
+	return 0;
+}
+
+
+/*@Test: test_state9_state10_transition test behavior of var1 in default and other interface */
+int test_state9_state10_transition()
+{
+	Test_TransitionStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: run the statechart for the first time (initially) */
+	test_TransitionStatemachine_runCycle(&machine);
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+/*@Test: test_default_var1 test behavior of var1 in default and other interface */
+int test_state1_state2_back_transition()
+{
+	Test_TransitionStatemachine machine;
+	Timer dummyTimer;
+	EventPool eventPool;
+
+	/*@Desc: setup initial statemachine */
+	setupStatemachine(&machine, &dummyTimer, &eventPool);
+
+	/*@Desc: run an explicit cycle - without any waiting event (for initialization) */
+	test_TransitionStatemachine_runCycle(&machine);
+
+	/*@Desc:  */
+
+
+	/*@Desc: teardown statemachine */
+	teardownStatemachine(&machine, &dummyTimer, &eventPool);
+
+	return 0;
+}
+
+
+
+
+
+
+int main(int argc, char** argv)
+{
+	if (argc != 2)
+		return -1;
+
+	switch (atoi(argv[1])) {
+	case 1:
+		return test_state9_state10_transition();
+	case 2:
+		return test_state1_state2_back_transition();
+	}
+
+	return -1;
+
+}