Browse Source

integrated transformation ...

terfloth@itemis.de 14 years ago
parent
commit
a5e50b03b1

+ 1 - 1
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/templates/Main.xpt

@@ -1,6 +1,6 @@
 «IMPORT sexec»
 
-«DEFINE Main FOR ExecutionFlow»
+«DEFINE main FOR ExecutionFlow»
 «FILE 'Main.cpp'»
 	Hello C++
 «ENDFILE»

+ 1 - 0
plugins/org.yakindu.sct.model.sexec/META-INF/MANIFEST.MF

@@ -9,6 +9,7 @@ Bundle-Localization: plugin
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Export-Package: org.yakindu.sct.model.sexec,
  org.yakindu.sct.model.sexec.impl,
+ org.yakindu.sct.model.sexec.transformation,
  org.yakindu.sct.model.sexec.util
 Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.emf.ecore;visibility:=reexport,

+ 6 - 6
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/ModelSequencer.xtend

@@ -16,16 +16,16 @@ class ModelSequencer {
 	
 	@Inject extension IQualifiedNameProvider qfnProvider
 
-	def ExecutionFlow create result : SexecFactory::eINSTANCE.createExecutionFlow transform(Statechart statechart){
+	def ExecutionFlow create r : SexecFactory::eINSTANCE.createExecutionFlow transform(Statechart statechart){
 		var content = EcoreUtil2::eAllContentsAsList(statechart)
 		var leafStates = content.filter(e | e instanceof State && (e as State).simple)
-		leafStates.forEach(state | result.states.add(transform(state as State)))	
+		r.states.addAll(leafStates.map( s | transform(s as State)));
 	}
 	
-	def ExecutionState create result : SexecFactory::eINSTANCE.createExecutionState transform(State state){
-		result.simpleName = state.name
-		result.name = state.fullyQualifiedName.toString
-		
+	
+	def ExecutionState create r : SexecFactory::eINSTANCE.createExecutionState transform(State state){
+		r.simpleName = state.name
+		r.name = state.fullyQualifiedName.toString	
 	}
 	
 	

+ 2 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/META-INF/MANIFEST.MF

@@ -13,6 +13,7 @@ Require-Bundle: org.eclipse.core.runtime,
  org.eclipse.xpand;bundle-version="1.1.0",
  org.yakindu.sct.model.sgraph;bundle-version="1.0.0",
  org.eclipse.xtend.typesystem.emf;bundle-version="1.0.1",
- org.yakindu.sct.model.stext;bundle-version="1.0.0"
+ org.yakindu.sct.model.stext;bundle-version="1.0.0",
+ org.yakindu.sct.model.sexec;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: J2SE-1.5
 Bundle-ActivationPolicy: lazy

+ 247 - 121
test-plugins/org.yakindu.sct.generator.cpp.test/resources/example.sct

@@ -1,121 +1,247 @@
-<?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="__J6g0NeYEeCu-5XJkHVC4g" name="example" expression="interface Interface:&#xD;&#xA;event Event1&#xD;&#xA;var counter : integer">
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_J53cYNeZEeCu-5XJkHVC4g" name="Interface">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_J53cYdeZEeCu-5XJkHVC4g" name="Event1"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_J53cYteZEeCu-5XJkHVC4g" name="counter" type="integer"/>
-    </scopes>
-    <regions xmi:id="__J7H4teYEeCu-5XJkHVC4g" name="main region">
-      <vertices xsi:type="sgraph:Entry" xmi:id="__KM0sdeYEeCu-5XJkHVC4g">
-        <outgoingTransitions xmi:id="__KPQ89eYEeCu-5XJkHVC4g" target="__KOC0teYEeCu-5XJkHVC4g"/>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="__KOC0teYEeCu-5XJkHVC4g" name="A" incomingTransitions="__KPQ89eYEeCu-5XJkHVC4g _LFZbYNeZEeCu-5XJkHVC4g">
-        <outgoingTransitions xmi:id="_B88CENeZEeCu-5XJkHVC4g" expression="Event1" target="_BepjkNeZEeCu-5XJkHVC4g">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_J55RkNeZEeCu-5XJkHVC4g">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_J55RkdeZEeCu-5XJkHVC4g" event="_J53cYdeZEeCu-5XJkHVC4g"/>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_BepjkNeZEeCu-5XJkHVC4g" name="B" incomingTransitions="_B88CENeZEeCu-5XJkHVC4g" expression="entry / counter = counter + 1;">
-        <outgoingTransitions xmi:id="_LFZbYNeZEeCu-5XJkHVC4g" expression="Event1" target="__KOC0teYEeCu-5XJkHVC4g"/>
-      </vertices>
-    </regions>
-  </sgraph:Statechart>
-  <notation:Diagram xmi:id="__J7H4NeYEeCu-5XJkHVC4g" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="__J6g0NeYEeCu-5XJkHVC4g" measurementUnit="Pixel">
-    <children xmi:id="__J-yQNeYEeCu-5XJkHVC4g" type="Region" element="__J7H4teYEeCu-5XJkHVC4g">
-      <children xsi:type="notation:DecorationNode" xmi:id="__KMNoNeYEeCu-5XJkHVC4g" type="RegionName">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="__KMNodeYEeCu-5XJkHVC4g"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="__KMNoteYEeCu-5XJkHVC4g"/>
-      </children>
-      <children xsi:type="notation:Shape" xmi:id="__KMNo9eYEeCu-5XJkHVC4g" type="RegionCompartment" fontName="Arial" fontHeight="10" lineColor="4210752">
-        <children xmi:id="__KM0steYEeCu-5XJkHVC4g" type="Entry" element="__KM0sdeYEeCu-5XJkHVC4g">
-          <children xmi:id="__KNbwNeYEeCu-5XJkHVC4g" type="EntryBorderItem">
-            <children xsi:type="notation:DecorationNode" xmi:id="__KNbw9eYEeCu-5XJkHVC4g" type="EntryLabel">
-              <styles xsi:type="notation:ShapeStyle" xmi:id="__KNbxNeYEeCu-5XJkHVC4g"/>
-              <layoutConstraint xsi:type="notation:Location" xmi:id="__KOC0NeYEeCu-5XJkHVC4g"/>
-            </children>
-            <styles xsi:type="notation:ShapeStyle" xmi:id="__KNbwdeYEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10" lineColor="4210752"/>
-            <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KNbwteYEeCu-5XJkHVC4g"/>
-          </children>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="__KM0s9eYEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10" lineColor="4210752"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KOC0deYEeCu-5XJkHVC4g" x="70" y="20"/>
-        </children>
-        <children xmi:id="__KOC09eYEeCu-5XJkHVC4g" type="State" element="__KOC0teYEeCu-5XJkHVC4g">
-          <children xsi:type="notation:DecorationNode" xmi:id="__KOp4NeYEeCu-5XJkHVC4g" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="__KOp4deYEeCu-5XJkHVC4g"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="__KOp4teYEeCu-5XJkHVC4g"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="__KOp49eYEeCu-5XJkHVC4g" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="__KOp5NeYEeCu-5XJkHVC4g" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KOp5deYEeCu-5XJkHVC4g"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="__KPQ8NeYEeCu-5XJkHVC4g" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="__KOC1NeYEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="__KOC1deYEeCu-5XJkHVC4g"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="__KPQ8deYEeCu-5XJkHVC4g"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KPQ8teYEeCu-5XJkHVC4g" x="142" y="102"/>
-        </children>
-        <children xmi:id="_BetN8NeZEeCu-5XJkHVC4g" type="State" element="_BepjkNeZEeCu-5XJkHVC4g">
-          <children xsi:type="notation:DecorationNode" xmi:id="_BevDINeZEeCu-5XJkHVC4g" type="StateName">
-            <styles xsi:type="notation:ShapeStyle" xmi:id="_BevDIdeZEeCu-5XJkHVC4g"/>
-            <layoutConstraint xsi:type="notation:Location" xmi:id="_BevDIteZEeCu-5XJkHVC4g"/>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_BevDI9eZEeCu-5XJkHVC4g" type="StateTextCompartment">
-            <children xsi:type="notation:Shape" xmi:id="_BevqMNeZEeCu-5XJkHVC4g" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
-              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_BevqMdeZEeCu-5XJkHVC4g"/>
-            </children>
-          </children>
-          <children xsi:type="notation:Compartment" xmi:id="_Bew4UNeZEeCu-5XJkHVC4g" type="StateFigureCompartment"/>
-          <styles xsi:type="notation:ShapeStyle" xmi:id="_BetN8deZEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
-          <styles xsi:type="notation:FontStyle" xmi:id="_BetN8teZEeCu-5XJkHVC4g"/>
-          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_Bew4UdeZEeCu-5XJkHVC4g"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_BetN89eZEeCu-5XJkHVC4g" x="174" y="237"/>
-        </children>
-        <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KMNpNeYEeCu-5XJkHVC4g"/>
-      </children>
-      <styles xsi:type="notation:ShapeStyle" xmi:id="__J-yQdeYEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KM0sNeYEeCu-5XJkHVC4g" x="240" y="5" width="400" height="400"/>
-    </children>
-    <children xsi:type="notation:Shape" xmi:id="__KRGINeYEeCu-5XJkHVC4g" type="StatechartText" fontName="Arial" fontHeight="10" lineColor="4210752">
-      <children xsi:type="notation:DecorationNode" xmi:id="__KRGIteYEeCu-5XJkHVC4g" type="StatechartName">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="__KRGI9eYEeCu-5XJkHVC4g"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="__KRGJNeYEeCu-5XJkHVC4g"/>
-      </children>
-      <children xsi:type="notation:Shape" xmi:id="__KRtMNeYEeCu-5XJkHVC4g" type="StatechartTextExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
-        <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KRtMdeYEeCu-5XJkHVC4g"/>
-      </children>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KRtMteYEeCu-5XJkHVC4g" x="10" y="10" width="200" height="400"/>
-    </children>
-    <styles xsi:type="notation:DiagramStyle" xmi:id="__J7H4deYEeCu-5XJkHVC4g"/>
-    <edges xmi:id="__KQfENeYEeCu-5XJkHVC4g" type="Transition" element="__KPQ89eYEeCu-5XJkHVC4g" source="__KM0steYEeCu-5XJkHVC4g" target="__KOC09eYEeCu-5XJkHVC4g">
-      <children xsi:type="notation:DecorationNode" xmi:id="__KQfFNeYEeCu-5XJkHVC4g" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="__KQfFdeYEeCu-5XJkHVC4g"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="__KQfFteYEeCu-5XJkHVC4g" y="40"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="__KQfEdeYEeCu-5XJkHVC4g" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="__KQfE9eYEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="__KQfEteYEeCu-5XJkHVC4g" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
-    </edges>
-    <edges xmi:id="_B8_FYNeZEeCu-5XJkHVC4g" type="Transition" element="_B88CENeZEeCu-5XJkHVC4g" source="__KOC09eYEeCu-5XJkHVC4g" target="_BetN8NeZEeCu-5XJkHVC4g">
-      <children xsi:type="notation:DecorationNode" xmi:id="_B9ATgNeZEeCu-5XJkHVC4g" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_B9ATgdeZEeCu-5XJkHVC4g"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_B9ATgteZEeCu-5XJkHVC4g" x="-14" y="57"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_B8_FYdeZEeCu-5XJkHVC4g" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_B8_scNeZEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_B8_FYteZEeCu-5XJkHVC4g" points="[5, 51, -6, -56]$[12, 100, 1, -7]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_B9980NeZEeCu-5XJkHVC4g" id="(0.559322033898305,0.2153846153846154)"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_B9980deZEeCu-5XJkHVC4g" id="(0.6101694915254238,0.1076923076923077)"/>
-    </edges>
-    <edges xmi:id="_LFb3oNeZEeCu-5XJkHVC4g" type="Transition" element="_LFZbYNeZEeCu-5XJkHVC4g" source="_BetN8NeZEeCu-5XJkHVC4g" target="__KOC09eYEeCu-5XJkHVC4g">
-      <children xsi:type="notation:DecorationNode" xmi:id="_LFdFwNeZEeCu-5XJkHVC4g" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_LFdFwdeZEeCu-5XJkHVC4g"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_LFdFwteZEeCu-5XJkHVC4g" y="40"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_LFb3odeZEeCu-5XJkHVC4g" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_LFcesNeZEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_LFb3oteZEeCu-5XJkHVC4g" points="[-9, -32, -9, 83]$[-9, -147, -9, -32]"/>
-    </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="__J6g0NeYEeCu-5XJkHVC4g" name="example" expression="interface Interface:&#xD;&#xA;&#xD;&#xA;  in event e1&#xD;&#xA;  in event e2&#xD;&#xA;  in event e3&#xD;&#xA;  in event e4&#xD;&#xA;   &#xD;&#xA;  var c : integer&#xD;&#xA;  ">
+    <scopes xsi:type="stext:InterfaceScope" xmi:id="_IngskNoeEeC1mZYRUkEwUg" name="Interface">
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IngskdoeEeC1mZYRUkEwUg" name="e1"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IngsktoeEeC1mZYRUkEwUg" name="e2"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_Ingsk9oeEeC1mZYRUkEwUg" name="e3"/>
+      <declarations xsi:type="stext:EventDefinition" xmi:id="_IngslNoeEeC1mZYRUkEwUg" name="e4"/>
+      <declarations xsi:type="stext:VariableDefinition" xmi:id="_IngsldoeEeC1mZYRUkEwUg" name="c" type="integer"/>
+    </scopes>
+    <regions xmi:id="__J7H4teYEeCu-5XJkHVC4g" name="main region">
+      <vertices xsi:type="sgraph:State" xmi:id="__KOC0teYEeCu-5XJkHVC4g" name="S1" incomingTransitions="_LFZbYNeZEeCu-5XJkHVC4g _j4SoENocEeC1mZYRUkEwUg">
+        <outgoingTransitions xmi:id="_B88CENeZEeCu-5XJkHVC4g" expression="e1" target="_BepjkNeZEeCu-5XJkHVC4g">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_InhTodoeEeC1mZYRUkEwUg">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_InhTotoeEeC1mZYRUkEwUg" event="_IngskdoeEeC1mZYRUkEwUg"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_InhToNoeEeC1mZYRUkEwUg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_BepjkNeZEeCu-5XJkHVC4g" name="S2" incomingTransitions="_B88CENeZEeCu-5XJkHVC4g" expression="entry / c += 1;">
+        <outgoingTransitions xmi:id="_LFZbYNeZEeCu-5XJkHVC4g" expression="e2" target="__KOC0teYEeCu-5XJkHVC4g">
+          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_InsSwNoeEeC1mZYRUkEwUg">
+            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_InsSwdoeEeC1mZYRUkEwUg" event="_IngsktoeEeC1mZYRUkEwUg"/>
+          </trigger>
+        </outgoingTransitions>
+        <scopes xmi:id="_InoBUNoeEeC1mZYRUkEwUg">
+          <declarations xsi:type="stext:LocalReaction" xmi:id="_InoBUdoeEeC1mZYRUkEwUg">
+            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_InoBUtoeEeC1mZYRUkEwUg">
+              <triggers xsi:type="stext:EntryEvent" xmi:id="_InoBU9oeEeC1mZYRUkEwUg"/>
+            </trigger>
+            <effect xsi:type="stext:ReactionEffect" xmi:id="_InoBVNoeEeC1mZYRUkEwUg">
+              <actions xsi:type="stext:Assignment" xmi:id="_InoBVdoeEeC1mZYRUkEwUg" varRef="_IngsldoeEeC1mZYRUkEwUg" operator="+=">
+                <expression xsi:type="stext:PrimitiveValueExpression" xmi:id="_InoBVtoeEeC1mZYRUkEwUg" value="1"/>
+              </actions>
+            </effect>
+          </declarations>
+        </scopes>
+        <subRegions xmi:id="_xNgVsNocEeC1mZYRUkEwUg">
+          <vertices xsi:type="sgraph:Entry" xmi:id="_2QGs4NocEeC1mZYRUkEwUg">
+            <outgoingTransitions xmi:id="_6FxW4NocEeC1mZYRUkEwUg" target="_3BWjoNocEeC1mZYRUkEwUg"/>
+          </vertices>
+          <vertices xsi:type="sgraph:State" xmi:id="_3BWjoNocEeC1mZYRUkEwUg" name="S3" incomingTransitions="_6FxW4NocEeC1mZYRUkEwUg _7nm9ENocEeC1mZYRUkEwUg">
+            <outgoingTransitions xmi:id="_69HOkNocEeC1mZYRUkEwUg" expression="e3" target="_4ZpzUNocEeC1mZYRUkEwUg">
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Inv9INoeEeC1mZYRUkEwUg">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Inv9IdoeEeC1mZYRUkEwUg" event="_Ingsk9oeEeC1mZYRUkEwUg"/>
+              </trigger>
+            </outgoingTransitions>
+            <scopes xmi:id="_InvWENoeEeC1mZYRUkEwUg"/>
+          </vertices>
+          <vertices xsi:type="sgraph:State" xmi:id="_4ZpzUNocEeC1mZYRUkEwUg" name="S4" incomingTransitions="_69HOkNocEeC1mZYRUkEwUg">
+            <outgoingTransitions xmi:id="_7nm9ENocEeC1mZYRUkEwUg" expression="e4" target="_3BWjoNocEeC1mZYRUkEwUg">
+              <trigger xsi:type="stext:ReactionTrigger" xmi:id="_InzngdoeEeC1mZYRUkEwUg">
+                <triggers xsi:type="stext:RegularEventSpec" xmi:id="_InzngtoeEeC1mZYRUkEwUg" event="_IngslNoeEeC1mZYRUkEwUg"/>
+              </trigger>
+            </outgoingTransitions>
+            <scopes xmi:id="_InzngNoeEeC1mZYRUkEwUg"/>
+          </vertices>
+        </subRegions>
+      </vertices>
+      <vertices xsi:type="sgraph:Entry" xmi:id="_jGDS0NocEeC1mZYRUkEwUg">
+        <outgoingTransitions xmi:id="_j4SoENocEeC1mZYRUkEwUg" target="__KOC0teYEeCu-5XJkHVC4g"/>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="__J7H4NeYEeCu-5XJkHVC4g" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="__J6g0NeYEeCu-5XJkHVC4g" measurementUnit="Pixel">
+    <children xmi:id="__J-yQNeYEeCu-5XJkHVC4g" type="Region" element="__J7H4teYEeCu-5XJkHVC4g">
+      <children xsi:type="notation:DecorationNode" xmi:id="__KMNoNeYEeCu-5XJkHVC4g" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="__KMNodeYEeCu-5XJkHVC4g"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="__KMNoteYEeCu-5XJkHVC4g"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="__KMNo9eYEeCu-5XJkHVC4g" type="RegionCompartment" fontName="Arial" fontHeight="10" lineColor="4210752">
+        <children xmi:id="__KOC09eYEeCu-5XJkHVC4g" type="State" element="__KOC0teYEeCu-5XJkHVC4g">
+          <children xsi:type="notation:DecorationNode" xmi:id="__KOp4NeYEeCu-5XJkHVC4g" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="__KOp4deYEeCu-5XJkHVC4g"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="__KOp4teYEeCu-5XJkHVC4g"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="__KOp49eYEeCu-5XJkHVC4g" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="__KOp5NeYEeCu-5XJkHVC4g" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KOp5deYEeCu-5XJkHVC4g"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="__KPQ8NeYEeCu-5XJkHVC4g" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="__KOC1NeYEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="__KOC1deYEeCu-5XJkHVC4g"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="__KPQ8deYEeCu-5XJkHVC4g"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KPQ8teYEeCu-5XJkHVC4g" x="209" y="4" height="35"/>
+        </children>
+        <children xmi:id="_BetN8NeZEeCu-5XJkHVC4g" type="State" element="_BepjkNeZEeCu-5XJkHVC4g">
+          <children xsi:type="notation:DecorationNode" xmi:id="_BevDINeZEeCu-5XJkHVC4g" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_BevDIdeZEeCu-5XJkHVC4g"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_BevDIteZEeCu-5XJkHVC4g"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_BevDI9eZEeCu-5XJkHVC4g" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_BevqMNeZEeCu-5XJkHVC4g" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_BevqMdeZEeCu-5XJkHVC4g"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_Bew4UNeZEeCu-5XJkHVC4g" type="StateFigureCompartment">
+            <children xmi:id="_xNhj0NocEeC1mZYRUkEwUg" type="Region" element="_xNgVsNocEeC1mZYRUkEwUg">
+              <children xsi:type="notation:DecorationNode" xmi:id="_xNiK4NocEeC1mZYRUkEwUg" type="RegionName">
+                <styles xsi:type="notation:ShapeStyle" xmi:id="_xNiK4docEeC1mZYRUkEwUg"/>
+                <layoutConstraint xsi:type="notation:Location" xmi:id="_xNix8NocEeC1mZYRUkEwUg"/>
+              </children>
+              <children xsi:type="notation:Shape" xmi:id="_xNix8docEeC1mZYRUkEwUg" type="RegionCompartment" fontName="Arial" fontHeight="10" lineColor="4210752">
+                <children xmi:id="_2QHT8NocEeC1mZYRUkEwUg" type="Entry" element="_2QGs4NocEeC1mZYRUkEwUg">
+                  <children xmi:id="_2QH7ANocEeC1mZYRUkEwUg" type="BorderItemLabelContainer">
+                    <children xsi:type="notation:DecorationNode" xmi:id="_2QH7A9ocEeC1mZYRUkEwUg" type="BorderItemLabel">
+                      <styles xsi:type="notation:ShapeStyle" xmi:id="_2QIiENocEeC1mZYRUkEwUg"/>
+                      <layoutConstraint xsi:type="notation:Location" xmi:id="_2QIiEdocEeC1mZYRUkEwUg"/>
+                    </children>
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_2QH7AdocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10" lineColor="4210752"/>
+                    <layoutConstraint xsi:type="notation:Bounds" xmi:id="_2QH7AtocEeC1mZYRUkEwUg"/>
+                  </children>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_2QHT8docEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10" lineColor="4210752"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_2QHT8tocEeC1mZYRUkEwUg" x="42" y="17"/>
+                </children>
+                <children xmi:id="_3BXxwNocEeC1mZYRUkEwUg" type="State" element="_3BWjoNocEeC1mZYRUkEwUg">
+                  <children xsi:type="notation:DecorationNode" xmi:id="_3BYY0NocEeC1mZYRUkEwUg" type="StateName">
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_3BYY0docEeC1mZYRUkEwUg"/>
+                    <layoutConstraint xsi:type="notation:Location" xmi:id="_3BYY0tocEeC1mZYRUkEwUg"/>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_3BYY09ocEeC1mZYRUkEwUg" type="StateTextCompartment">
+                    <children xsi:type="notation:Shape" xmi:id="_3BY_4NocEeC1mZYRUkEwUg" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_3BY_4docEeC1mZYRUkEwUg"/>
+                    </children>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_3BY_4tocEeC1mZYRUkEwUg" type="StateFigureCompartment"/>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_3BXxwdocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
+                  <styles xsi:type="notation:FontStyle" xmi:id="_3BXxwtocEeC1mZYRUkEwUg"/>
+                  <styles xsi:type="notation:BooleanValueStyle" xmi:id="_3BZm8NocEeC1mZYRUkEwUg"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_3BXxw9ocEeC1mZYRUkEwUg" x="17" y="76"/>
+                </children>
+                <children xmi:id="_4ZqaYNocEeC1mZYRUkEwUg" type="State" element="_4ZpzUNocEeC1mZYRUkEwUg">
+                  <children xsi:type="notation:DecorationNode" xmi:id="_4ZrBcNocEeC1mZYRUkEwUg" type="StateName">
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_4ZrBcdocEeC1mZYRUkEwUg"/>
+                    <layoutConstraint xsi:type="notation:Location" xmi:id="_4ZrBctocEeC1mZYRUkEwUg"/>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_4ZrogNocEeC1mZYRUkEwUg" type="StateTextCompartment">
+                    <children xsi:type="notation:Shape" xmi:id="_4ZrogdocEeC1mZYRUkEwUg" type="StateTextCompartmentExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4ZrogtocEeC1mZYRUkEwUg"/>
+                    </children>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_4ZsPkNocEeC1mZYRUkEwUg" type="StateFigureCompartment"/>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_4ZqaYdocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
+                  <styles xsi:type="notation:FontStyle" xmi:id="_4ZqaYtocEeC1mZYRUkEwUg"/>
+                  <styles xsi:type="notation:BooleanValueStyle" xmi:id="_4ZsPkdocEeC1mZYRUkEwUg"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4ZqaY9ocEeC1mZYRUkEwUg" x="143" y="73"/>
+                </children>
+                <layoutConstraint xsi:type="notation:Bounds" xmi:id="_xNix8tocEeC1mZYRUkEwUg"/>
+              </children>
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_xNhj0docEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10" fillColor="15790320" lineColor="12632256"/>
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_xNhj0tocEeC1mZYRUkEwUg"/>
+            </children>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_BetN8deZEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_BetN8teZEeCu-5XJkHVC4g"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_Bew4UdeZEeCu-5XJkHVC4g"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_BetN89eZEeCu-5XJkHVC4g" x="29" y="76" width="333" height="285"/>
+        </children>
+        <children xmi:id="_jGGWINocEeC1mZYRUkEwUg" type="Entry" element="_jGDS0NocEeC1mZYRUkEwUg">
+          <children xmi:id="_jGG9MNocEeC1mZYRUkEwUg" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_jGHkQNocEeC1mZYRUkEwUg" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_jGHkQdocEeC1mZYRUkEwUg"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_jGILUNocEeC1mZYRUkEwUg"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_jGG9MdocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_jGG9MtocEeC1mZYRUkEwUg"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_jGGWIdocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_jGGWItocEeC1mZYRUkEwUg" x="154" y="24"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KMNpNeYEeCu-5XJkHVC4g"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="__J-yQdeYEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KM0sNeYEeCu-5XJkHVC4g" x="216" y="10" width="400" height="400"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="__KRGINeYEeCu-5XJkHVC4g" type="StatechartText" fontName="Arial" fontHeight="10" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="__KRGIteYEeCu-5XJkHVC4g" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="__KRGI9eYEeCu-5XJkHVC4g"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="__KRGJNeYEeCu-5XJkHVC4g"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="__KRtMNeYEeCu-5XJkHVC4g" type="StatechartTextExpression" fontName="Arial" fontHeight="10" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KRtMdeYEeCu-5XJkHVC4g"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="__KRtMteYEeCu-5XJkHVC4g" x="10" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="__J7H4deYEeCu-5XJkHVC4g"/>
+    <edges xmi:id="_B8_FYNeZEeCu-5XJkHVC4g" type="Transition" element="_B88CENeZEeCu-5XJkHVC4g" source="__KOC09eYEeCu-5XJkHVC4g" target="_BetN8NeZEeCu-5XJkHVC4g">
+      <children xsi:type="notation:DecorationNode" xmi:id="_B9ATgNeZEeCu-5XJkHVC4g" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_B9ATgdeZEeCu-5XJkHVC4g"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_B9ATgteZEeCu-5XJkHVC4g" x="-3" y="-11"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_B8_FYdeZEeCu-5XJkHVC4g" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_B8_scNeZEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_B8_FYteZEeCu-5XJkHVC4g" points="[5, 51, -6, -56]$[12, 100, 1, -7]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_B9980NeZEeCu-5XJkHVC4g" id="(0.559322033898305,0.2153846153846154)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_B9980deZEeCu-5XJkHVC4g" id="(0.6101694915254238,0.1076923076923077)"/>
+    </edges>
+    <edges xmi:id="_LFb3oNeZEeCu-5XJkHVC4g" type="Transition" element="_LFZbYNeZEeCu-5XJkHVC4g" source="_BetN8NeZEeCu-5XJkHVC4g" target="__KOC09eYEeCu-5XJkHVC4g">
+      <children xsi:type="notation:DecorationNode" xmi:id="_LFdFwNeZEeCu-5XJkHVC4g" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_LFdFwdeZEeCu-5XJkHVC4g"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_LFdFwteZEeCu-5XJkHVC4g" x="-1" y="-13"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_LFb3odeZEeCu-5XJkHVC4g" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_LFcesNeZEeCu-5XJkHVC4g" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_LFb3oteZEeCu-5XJkHVC4g" points="[-9, -32, -9, 83]$[-9, -147, -9, -32]"/>
+    </edges>
+    <edges xmi:id="_j4VEUNocEeC1mZYRUkEwUg" type="Transition" element="_j4SoENocEeC1mZYRUkEwUg" source="_jGGWINocEeC1mZYRUkEwUg" target="__KOC09eYEeCu-5XJkHVC4g">
+      <children xsi:type="notation:DecorationNode" xmi:id="_j4WScNocEeC1mZYRUkEwUg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_j4WScdocEeC1mZYRUkEwUg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_j4WSctocEeC1mZYRUkEwUg" y="40"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_j4VEUdocEeC1mZYRUkEwUg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_j4VrYNocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_j4VEUtocEeC1mZYRUkEwUg" points="[0, 7, -10, -89]$[6, 69, -4, -27]"/>
+    </edges>
+    <edges xmi:id="_6FylANocEeC1mZYRUkEwUg" type="Transition" element="_6FxW4NocEeC1mZYRUkEwUg" source="_2QHT8NocEeC1mZYRUkEwUg" target="_3BXxwNocEeC1mZYRUkEwUg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_6FzMEdocEeC1mZYRUkEwUg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_6FzMEtocEeC1mZYRUkEwUg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_6FzME9ocEeC1mZYRUkEwUg" y="40"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_6FylAdocEeC1mZYRUkEwUg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_6FzMENocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_6FylAtocEeC1mZYRUkEwUg" points="[-2, 7, 24, -72]$[-23, 107, 3, 28]"/>
+    </edges>
+    <edges xmi:id="_69IcsNocEeC1mZYRUkEwUg" type="Transition" element="_69HOkNocEeC1mZYRUkEwUg" source="_3BXxwNocEeC1mZYRUkEwUg" target="_4ZqaYNocEeC1mZYRUkEwUg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_69JDwdocEeC1mZYRUkEwUg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_69JDwtocEeC1mZYRUkEwUg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_69JDw9ocEeC1mZYRUkEwUg" x="4" y="-10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_69IcsdocEeC1mZYRUkEwUg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_69JDwNocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_69IcstocEeC1mZYRUkEwUg" points="[20, -2, -106, 1]$[130, -30, 4, -27]"/>
+    </edges>
+    <edges xmi:id="_7noLMNocEeC1mZYRUkEwUg" type="Transition" element="_7nm9ENocEeC1mZYRUkEwUg" source="_4ZqaYNocEeC1mZYRUkEwUg" target="_3BXxwNocEeC1mZYRUkEwUg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_7noyQdocEeC1mZYRUkEwUg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_7noyQtocEeC1mZYRUkEwUg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_7noyQ9ocEeC1mZYRUkEwUg" y="-8"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_7noLMdocEeC1mZYRUkEwUg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_7noyQNocEeC1mZYRUkEwUg" fontName="Arial" fontHeight="10"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_7noLMtocEeC1mZYRUkEwUg" points="[-21, 9, 114, 0]$[-138, 16, -3, 7]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_7oUHsNocEeC1mZYRUkEwUg" id="(0.525,0.7636363636363637)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_7oUHsdocEeC1mZYRUkEwUg" id="(0.3,0.8727272727272727)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 3 - 3
test-plugins/org.yakindu.sct.generator.cpp.test/src/org/yakindu/sct/generator/cpp/test/generator/AbstractGeneratorTest.java

@@ -21,8 +21,8 @@ import org.eclipse.xpand2.output.Outlet;
 import org.eclipse.xpand2.output.OutputImpl;
 import org.eclipse.xtend.expression.Variable;
 import org.eclipse.xtend.typesystem.emf.EmfRegistryMetaModel;
+import org.yakindu.sct.model.sexec.ExecutionFlow;
 import org.yakindu.sct.model.sgraph.SGraphPackage;
-import org.yakindu.sct.model.sgraph.Statechart;
 import org.yakindu.sct.model.stext.stext.StextPackage;
 
 /**
@@ -73,7 +73,7 @@ public class AbstractGeneratorTest {
 	 * @param statechart
 	 *            the Statechart model to generate code for
 	 */
-	protected void generate(Statechart statechart, String templatePath,
+	protected void generate(ExecutionFlow flow, String templatePath,
 			IProject project) throws CoreException {
 
 		IWorkspaceRoot root = ResourcesPlugin.getWorkspace().getRoot();
@@ -100,7 +100,7 @@ public class AbstractGeneratorTest {
 
 		// generate
 		XpandFacade facade = XpandFacade.create(execCtx);
-		facade.evaluate(templatePath, statechart);
+		facade.evaluate(templatePath, flow);
 
 		// refresh the project to get external updates:
 		resource.refreshLocal(IResource.DEPTH_INFINITE,

+ 21 - 2
test-plugins/org.yakindu.sct.generator.cpp.test/src/org/yakindu/sct/generator/cpp/test/generator/CPPGeneratorTest.java

@@ -10,9 +10,16 @@ import org.eclipse.emf.common.util.URI;
 import org.eclipse.emf.ecore.resource.Resource;
 import org.eclipse.emf.ecore.resource.Resource.Factory;
 import org.eclipse.emf.ecore.resource.impl.ResourceFactoryRegistryImpl;
+import org.junit.Before;
 import org.junit.Test;
+import org.yakindu.sct.model.sexec.ExecutionFlow;
+import org.yakindu.sct.model.sexec.transformation.ModelSequencer;
 import org.yakindu.sct.model.sgraph.Statechart;
 
+import com.google.inject.Guice;
+import com.google.inject.Inject;
+import com.google.inject.Injector;
+
 /**
  * 
  * @author andreas muelder - Initial contribution and API
@@ -20,6 +27,16 @@ import org.yakindu.sct.model.sgraph.Statechart;
  */
 public class CPPGeneratorTest extends AbstractGeneratorTest {
 
+	
+	@Inject
+	private ModelSequencer sequencer;
+
+	@Before
+	public void setup() {
+		Injector injector = Guice.createInjector(new TestModule());
+		injector.injectMembers(this);
+	}
+	
 	@Test
 	public void testExecuteGenerator() throws Exception {
 
@@ -32,14 +49,16 @@ public class CPPGeneratorTest extends AbstractGeneratorTest {
 		URI uri = URI.createPlatformResourceURI(
 				target.getFullPath().toString(), true);
 
-		String templatePath = "template::Template::main";
+		String templatePath = "org::yakindu::sct::generator::cpp::templates::Main::main";
 
 		Factory factory = ResourceFactoryRegistryImpl.INSTANCE.getFactory(uri);
 		Resource resource = factory.createResource(uri);
 		resource.load(Collections.emptyMap());
 
 		Statechart statechart = (Statechart) resource.getContents().get(0);
-		generate(statechart, templatePath, project);
+		
+		ExecutionFlow flow = sequencer.transform(statechart);
+		generate(flow, templatePath, project);
 
 	}
 }

+ 17 - 0
test-plugins/org.yakindu.sct.generator.cpp.test/src/org/yakindu/sct/generator/cpp/test/generator/TestModule.java

@@ -0,0 +1,17 @@
+package org.yakindu.sct.generator.cpp.test.generator;
+
+import org.eclipse.xtext.naming.IQualifiedNameProvider;
+import org.eclipse.xtext.naming.SimpleNameProvider;
+
+import com.google.inject.Binder;
+import com.google.inject.Module;
+
+public class TestModule implements Module{
+
+	public void configure(Binder binder) {
+	
+		binder.bind(IQualifiedNameProvider.class).to(SimpleNameProvider.class);
+
+	}
+	
+}