Browse Source

Refactoring of C and C++ generators to support new type system
Refactoring of test models.

markus.muehlbrandt@itemis.de 13 years ago
parent
commit
6bcfb2b490

+ 195 - 305
TestScenarios/TestModels/InterfaceTest.sct

@@ -1,305 +1,195 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:notation="http://www.eclipse.org/gmf/runtime/1.0.2/notation" xmlns:sgraph="http://www.yakindu.org/sct/sgraph/2.0.0" xmlns:stext="http://www.yakindu.org/sct/statechart/SText">
-  <sgraph:Statechart xmi:id="_p-KfMAn1EeGuZq6TN7cDtg" name="InterfaceTest" specification="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="_HjOEUCG3EeGI0q-nGwuxGQ">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_HjOEUSG3EeGI0q-nGwuxGQ" name="event1" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_HjOEUiG3EeGI0q-nGwuxGQ" name="event2" direction="out" type="integer"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_HjOEUyG3EeGI0q-nGwuxGQ" name="var1" type="boolean"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_HjOEVCG3EeGI0q-nGwuxGQ" name="var2" type="real">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_HjOEVSG3EeGI0q-nGwuxGQ">
-          <value xsi:type="stext:RealLiteral" xmi:id="_HjOEViG3EeGI0q-nGwuxGQ" value="2.3"/>
-        </initialValue>
-      </declarations>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_HjOEVyG3EeGI0q-nGwuxGQ" name="var3" type="integer">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_HjOEWCG3EeGI0q-nGwuxGQ">
-          <value xsi:type="stext:IntLiteral" xmi:id="_HjOEWSG3EeGI0q-nGwuxGQ" value="1"/>
-        </initialValue>
-      </declarations>
-    </scopes>
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_HjOEWiG3EeGI0q-nGwuxGQ" name="other">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_HjOEWyG3EeGI0q-nGwuxGQ" name="event3" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_HjOEXCG3EeGI0q-nGwuxGQ" name="event4" direction="out"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_HjOEXSG3EeGI0q-nGwuxGQ" name="v1" type="integer">
-        <initialValue xsi:type="stext:PrimitiveValueExpression" xmi:id="_HjOEXiG3EeGI0q-nGwuxGQ">
-          <value xsi:type="stext:IntLiteral" xmi:id="_HjOEXyG3EeGI0q-nGwuxGQ" value="5"/>
-        </initialValue>
-      </declarations>
-    </scopes>
-    <scopes xsi:type="stext:InterfaceScope" xmi:id="_HjOEYCG3EeGI0q-nGwuxGQ" name="third">
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_HjOrYCG3EeGI0q-nGwuxGQ" name="event5" direction="in"/>
-      <declarations xsi:type="stext:EventDefinition" xmi:id="_HjOrYSG3EeGI0q-nGwuxGQ" name="event6" direction="out" type="boolean"/>
-      <declarations xsi:type="stext:VariableDefinition" xmi:id="_HjOrYiG3EeGI0q-nGwuxGQ" 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" specification="" target="_p-Rz9wn1EeGuZq6TN7cDtg"/>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_p-Rz9wn1EeGuZq6TN7cDtg" specification="" name="state1" incomingTransitions="_p-TpIwn1EeGuZq6TN7cDtg _IduY8An2EeGuZq6TN7cDtg _aUmT4An2EeGuZq6TN7cDtg _ezdE0An2EeGuZq6TN7cDtg">
-        <scopes xmi:id="_HjPScCG3EeGI0q-nGwuxGQ"/>
-        <outgoingTransitions xmi:id="_Fp0t8An2EeGuZq6TN7cDtg" specification="event1[var2 > 0]" target="_DQwk0An2EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_HjPScSG3EeGI0q-nGwuxGQ">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_HjPSciG3EeGI0q-nGwuxGQ" event="_HjOEUSG3EeGI0q-nGwuxGQ"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_HjPScyG3EeGI0q-nGwuxGQ" operator=">">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_HjPSdCG3EeGI0q-nGwuxGQ" value="_HjOEVCG3EeGI0q-nGwuxGQ"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_HjPSdSG3EeGI0q-nGwuxGQ">
-                <value xsi:type="stext:IntLiteral" xmi:id="_HjPSdiG3EeGI0q-nGwuxGQ"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_Wx7eYAn2EeGuZq6TN7cDtg" specification="other.event3[var3 == 1]" target="_N8IiYAn2EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_HjUyACG3EeGI0q-nGwuxGQ">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_HjUyASG3EeGI0q-nGwuxGQ" event="_HjOEWyG3EeGI0q-nGwuxGQ"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_HjUyAiG3EeGI0q-nGwuxGQ" operator="==">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_HjUyAyG3EeGI0q-nGwuxGQ" value="_HjOEVyG3EeGI0q-nGwuxGQ"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_HjUyBCG3EeGI0q-nGwuxGQ">
-                <value xsi:type="stext:IntLiteral" xmi:id="_HjUyBSG3EeGI0q-nGwuxGQ" value="1"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-        <outgoingTransitions xmi:id="_dQp1UAn2EeGuZq6TN7cDtg" specification="third.event5[var1 == true]" target="_b6-b0An2EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_HjZqgCG3EeGI0q-nGwuxGQ">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_HjZqgSG3EeGI0q-nGwuxGQ" event="_HjOrYCG3EeGI0q-nGwuxGQ"/>
-            <guardExpression xsi:type="stext:LogicalRelationExpression" xmi:id="_HjZqgiG3EeGI0q-nGwuxGQ" operator="==">
-              <leftOperand xsi:type="stext:ElementReferenceExpression" xmi:id="_HjZqgyG3EeGI0q-nGwuxGQ" value="_HjOEUyG3EeGI0q-nGwuxGQ"/>
-              <rightOperand xsi:type="stext:PrimitiveValueExpression" xmi:id="_HjZqhCG3EeGI0q-nGwuxGQ">
-                <value xsi:type="stext:BoolLiteral" xmi:id="_HjZqhSG3EeGI0q-nGwuxGQ" value="true"/>
-              </rightOperand>
-            </guardExpression>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_DQwk0An2EeGuZq6TN7cDtg" specification="entry / raise event2 : 22;" name="state2" incomingTransitions="_Fp0t8An2EeGuZq6TN7cDtg">
-        <scopes xmi:id="_Hjd78CG3EeGI0q-nGwuxGQ">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_Hjd78SG3EeGI0q-nGwuxGQ">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Hjd78iG3EeGI0q-nGwuxGQ">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_Hjd78yG3EeGI0q-nGwuxGQ"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_Hjd79CG3EeGI0q-nGwuxGQ">
-              <actions xsi:type="stext:EventRaising" xmi:id="_Hjd79SG3EeGI0q-nGwuxGQ" event="_HjOEUiG3EeGI0q-nGwuxGQ">
-                <value xsi:type="stext:PrimitiveValueExpression" xmi:id="_Hjd79iG3EeGI0q-nGwuxGQ">
-                  <value xsi:type="stext:IntLiteral" xmi:id="_Hjd79yG3EeGI0q-nGwuxGQ" value="22"/>
-                </value>
-              </actions>
-            </effect>
-          </declarations>
-        </scopes>
-        <outgoingTransitions xmi:id="_IduY8An2EeGuZq6TN7cDtg" specification="event1" target="_p-Rz9wn1EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Hjg_QCG3EeGI0q-nGwuxGQ">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Hjg_QSG3EeGI0q-nGwuxGQ" event="_HjOEUSG3EeGI0q-nGwuxGQ"/>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_N8IiYAn2EeGuZq6TN7cDtg" specification="entry / raise other.event4;" name="state3" incomingTransitions="_Wx7eYAn2EeGuZq6TN7cDtg">
-        <scopes xmi:id="_HjkCkCG3EeGI0q-nGwuxGQ">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_HjkCkSG3EeGI0q-nGwuxGQ">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_HjkCkiG3EeGI0q-nGwuxGQ">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_HjkCkyG3EeGI0q-nGwuxGQ"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_HjkClCG3EeGI0q-nGwuxGQ">
-              <actions xsi:type="stext:EventRaising" xmi:id="_HjkClSG3EeGI0q-nGwuxGQ" event="_HjOEXCG3EeGI0q-nGwuxGQ"/>
-            </effect>
-          </declarations>
-        </scopes>
-        <outgoingTransitions xmi:id="_aUmT4An2EeGuZq6TN7cDtg" specification="other.event3" target="_p-Rz9wn1EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Hjme0CG3EeGI0q-nGwuxGQ">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Hjme0SG3EeGI0q-nGwuxGQ" event="_HjOEWyG3EeGI0q-nGwuxGQ"/>
-          </trigger>
-        </outgoingTransitions>
-      </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_b6-b0An2EeGuZq6TN7cDtg" specification="entry / raise third.event6 : true;" name="state4" incomingTransitions="_dQp1UAn2EeGuZq6TN7cDtg">
-        <scopes xmi:id="_Hjo7ECG3EeGI0q-nGwuxGQ">
-          <declarations xsi:type="stext:LocalReaction" xmi:id="_Hjo7ESG3EeGI0q-nGwuxGQ">
-            <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Hjo7EiG3EeGI0q-nGwuxGQ">
-              <triggers xsi:type="stext:EntryEvent" xmi:id="_Hjo7EyG3EeGI0q-nGwuxGQ"/>
-            </trigger>
-            <effect xsi:type="stext:ReactionEffect" xmi:id="_Hjo7FCG3EeGI0q-nGwuxGQ">
-              <actions xsi:type="stext:EventRaising" xmi:id="_Hjo7FSG3EeGI0q-nGwuxGQ" event="_HjOrYSG3EeGI0q-nGwuxGQ">
-                <value xsi:type="stext:PrimitiveValueExpression" xmi:id="_Hjo7FiG3EeGI0q-nGwuxGQ">
-                  <value xsi:type="stext:BoolLiteral" xmi:id="_Hjo7FyG3EeGI0q-nGwuxGQ" value="true"/>
-                </value>
-              </actions>
-            </effect>
-          </declarations>
-        </scopes>
-        <outgoingTransitions xmi:id="_ezdE0An2EeGuZq6TN7cDtg" specification="third.event5" target="_p-Rz9wn1EeGuZq6TN7cDtg">
-          <trigger xsi:type="stext:ReactionTrigger" xmi:id="_Hjr-YCG3EeGI0q-nGwuxGQ">
-            <triggers xsi:type="stext:RegularEventSpec" xmi:id="_Hjr-YSG3EeGI0q-nGwuxGQ" event="_HjOrYCG3EeGI0q-nGwuxGQ"/>
-          </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="94" y="69"/>
-        </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="49" y="-89"/>
-      </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/sgraph/2.0.0">
+  <sgraph:Statechart xmi:id="_p-KfMAn1EeGuZq6TN7cDtg" name="InterfaceTest" specification="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">
+    <regions xmi:id="_p-LtUgn1EeGuZq6TN7cDtg" name="main region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_p-RM4Qn1EeGuZq6TN7cDtg">
+        <outgoingTransitions xmi:id="_p-TpIwn1EeGuZq6TN7cDtg" specification="" target="_p-Rz9wn1EeGuZq6TN7cDtg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_p-Rz9wn1EeGuZq6TN7cDtg" specification="" name="state1" incomingTransitions="_p-TpIwn1EeGuZq6TN7cDtg _IduY8An2EeGuZq6TN7cDtg _aUmT4An2EeGuZq6TN7cDtg _ezdE0An2EeGuZq6TN7cDtg">
+        <outgoingTransitions xmi:id="_Fp0t8An2EeGuZq6TN7cDtg" specification="event1[var2 > 0]" target="_DQwk0An2EeGuZq6TN7cDtg"/>
+        <outgoingTransitions xmi:id="_Wx7eYAn2EeGuZq6TN7cDtg" specification="other.event3[var3 == 1]" target="_N8IiYAn2EeGuZq6TN7cDtg"/>
+        <outgoingTransitions xmi:id="_dQp1UAn2EeGuZq6TN7cDtg" specification="third.event5[var1 == true]" target="_b6-b0An2EeGuZq6TN7cDtg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_DQwk0An2EeGuZq6TN7cDtg" specification="entry / raise event2 : 22;" name="state2" incomingTransitions="_Fp0t8An2EeGuZq6TN7cDtg">
+        <outgoingTransitions xmi:id="_IduY8An2EeGuZq6TN7cDtg" specification="event1" target="_p-Rz9wn1EeGuZq6TN7cDtg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_N8IiYAn2EeGuZq6TN7cDtg" specification="entry / raise other.event4;" name="state3" incomingTransitions="_Wx7eYAn2EeGuZq6TN7cDtg">
+        <outgoingTransitions xmi:id="_aUmT4An2EeGuZq6TN7cDtg" specification="other.event3" target="_p-Rz9wn1EeGuZq6TN7cDtg"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_b6-b0An2EeGuZq6TN7cDtg" specification="entry / raise third.event6 : true;" name="state4" incomingTransitions="_dQp1UAn2EeGuZq6TN7cDtg">
+        <outgoingTransitions xmi:id="_ezdE0An2EeGuZq6TN7cDtg" specification="third.event5" target="_p-Rz9wn1EeGuZq6TN7cDtg"/>
+      </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="94" y="69"/>
+        </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="49" y="-89"/>
+      </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>

+ 2 - 1
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/templates/CustomEventH.xpt

@@ -11,6 +11,7 @@ Templates for the main statechart cpp file.
 «IMPORT sgraph»
 
 «EXTENSION org::yakindu::sct::generator::c::templates::Expression»
+«EXTENSION org::yakindu::sct::generator::c::templates::TypeModelExtensions»
 «EXTENSION org::yakindu::sct::generator::c::templates::Naming»
 
 
@@ -41,7 +42,7 @@ typedef enum {
 «FOREACH this.declaredEvents() AS ev»
 typedef struct { 
   _Event baseEvent;
-  «IF ((EventDefinition)ev).type != Type::void
+  «IF !((EventDefinition)ev).type.isVoid()
   «eventTypeToString(((EventDefinition)ev).type)» value;    
   «ENDIF -»
 } «((EventDefinition)ev).getEventName()»;

+ 8 - 6
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/templates/Expression.ext

@@ -2,6 +2,7 @@ import stext;
 import sexec;
 import ecore;
 import sgraph;
+import types;
 
 extension org::yakindu::sct::generator::c::templates::Naming;
 
@@ -142,12 +143,13 @@ String getOperator(RelationalOperator operator) :
 	};
 
 String eventTypeToString(Type type) : 
-  switch (type) {
-  case (Type::void) : "void"
-  case (Type::real) : "real"
-  case (Type::integer) : "integer"
-  case (Type::boolean) : "boolean"
-  case (Type::string)  : "string"
+  switch (type.name) {
+  case null : "void"
+  case "void" : "void"
+  case "real" : "real"
+  case "integer" : "integer"
+  case "boolean" : "boolean"
+  case "string"  : "string"
   default : "unknownType"
  };
 

+ 7 - 6
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/templates/Interfaces.xpt

@@ -11,6 +11,7 @@ Templates for the main statechart cpp file.
 «IMPORT sgraph»
 
 «EXTENSION org::yakindu::sct::generator::c::templates::Expression»
+«EXTENSION org::yakindu::sct::generator::c::templates::TypeModelExtensions»
 «EXTENSION org::yakindu::sct::generator::c::templates::Naming»
 
 
@@ -83,12 +84,12 @@ extern void 
 		
 «FOREACH interface.getOutEvents() AS event -»
 extern boolean «interface.interfaceName()»_is_«event.name»_raised(«handleInterfaceAddition(interface, genEntry)»«
-IF event.type != Type::void -»«IF isSingleton(genEntry) == false -», «ENDIF»«event.type.eventTypeToString()»* value«ENDIF» );
+IF !event.type.isVoid() -»«IF isSingleton(genEntry) == false -», «ENDIF»«event.type.eventTypeToString()»* value«ENDIF» );
 «ENDFOREACH»
 
 «FOREACH interface.getInEvents() AS event -»
 extern void «interface.interfaceName()»_raise_«event.name»(«handleInterfaceAddition(interface, genEntry)»«
-IF event.type != Type::void -»«IF isSingleton(genEntry) == false -», «ENDIF»«event.type.eventTypeToString()» value «ENDIF»);
+IF !event.type.isVoid() -»«IF isSingleton(genEntry) == false -», «ENDIF»«event.type.eventTypeToString()» value «ENDIF»);
 «ENDFOREACH» 
 
 #endif // INTERFACE_LISTENER
@@ -195,11 +196,11 @@ void 
 
 «FOREACH interface.getOutEvents() AS event -»
 extern boolean «interface.interfaceName()»_is_«event.name»_raised(«handleInterfaceAddition(interface, genEntry)»«
-IF event.type != Type::void -»«IF isSingleton(genEntry) == false -», «ENDIF»«event.type.eventTypeToString()»* value«ENDIF») 
+IF !event.type.isVoid() -»«IF isSingleton(genEntry) == false -», «ENDIF»«event.type.eventTypeToString()»* value«ENDIF») 
 {
 	boolean ret = bool_false;
 	if (eventSet_check(handle->eventSet,«event.getEventEnumName()»)) {
-«IF event.type != Type::void
+«IF !event.type.isVoid()
 		*value = ((«event.getEventName()»*)handle->«event.getEventName()»)->value;
 «ENDIF»
 		ret = bool_true;
@@ -211,12 +212,12 @@ IF event.type != Type::void -
 
 «FOREACH interface.getInEvents() AS event -»
 extern void «interface.interfaceName()»_raise_«event.name»(«handleInterfaceAddition(interface, genEntry)»«
-IF event.type != Type::void -»«IF isSingleton(genEntry) == false -», «ENDIF»«event.type.eventTypeToString()» value«
+IF !event.type.isVoid() -»«IF isSingleton(genEntry) == false -», «ENDIF»«event.type.eventTypeToString()» value«
 ENDIF»)
 {
 	_Event* ev = eventPool_createEvent(handle->eventPool, «event.getEventEnumName()»);
 
-«IF event.type != Type::void
+«IF !event.type.isVoid()
 	((«event.getEventName()»*)ev)->value = value;
 «ENDIF»
 

+ 13 - 0
plugins/org.yakindu.sct.generator.c/src/org/yakindu/sct/generator/c/templates/TypeModelExtensions.ext

@@ -0,0 +1,13 @@
+/*
+  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:
+  	Markus Muehlbrandt - Initial contribution and API
+ */
+import types;
+
+boolean isVoid(Type this) :
+	name == null || name == "void";

+ 3 - 2
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/templates/CustomStatemachine_cyCPP.xpt

@@ -13,6 +13,7 @@ Templates for the main statechart cpp file.
 
 «IMPORT org::yakindu::sct::generator::cpp::templates»
 «EXTENSION org::yakindu::sct::generator::cpp::templates::Expression»
+«EXTENSION org::yakindu::sct::generator::cpp::templates::TypeModelExtensions»
 «EXTENSION org::yakindu::sct::generator::cpp::templates::Naming»
 
 «DEFINE ActionCode FOR Step»
@@ -138,7 +139,7 @@ void 
 }
 
 «FOREACH declaredEvents() AS event -»
-«IF (((EventDefinition)event).type == Type::void) -»
+«IF (((EventDefinition)event).type.isVoid()) -»
 void set«((EventDefinition)event).name.toFirstUpper()»()
 «ELSE -»
 void set«((EventDefinition)event).name.toFirstUpper()»(«eventTypeToString(((EventDefinition)event).type)» value)
@@ -146,7 +147,7 @@ void set
 {
 	«((EventDefinition)event).name»* ev(new «((EventDefinition)event).name»);
 
-«IF (((EventDefinition)event).type != Type::void) -»
+«IF (((EventDefinition)event).type.isVoid()) -»
 	ev->value = value;
 «ENDIF -»
 	queueEvent(ev);

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

@@ -11,6 +11,7 @@ Templates for the main statechart cpp file.
 «IMPORT sgraph»
 
 «EXTENSION org::yakindu::sct::generator::cpp::templates::Expression»
+«EXTENSION org::yakindu::sct::generator::cpp::templates::TypeModelExtensions»
 «EXTENSION org::yakindu::sct::generator::cpp::templates::Naming»
 
 «DEFINE file FOR ExecutionFlow»
@@ -82,7 +83,7 @@ public:
 	virtual void init();
 
 	«FOREACH declaredEvents() AS event -»
-	«IF (((EventDefinition)event).type == Type::void) -»
+	«IF (((EventDefinition)event).type.isVoid()) -»
 	void set«((EventDefinition)event).name.toFirstUpper()»();
 	«ELSE -»
 	void set«((EventDefinition)event).name.toFirstUpper()»(«eventTypeToString(((EventDefinition)event).type)» value);

+ 8 - 6
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/templates/Expression.ext

@@ -2,6 +2,7 @@ import stext;
 import sexec;
 import ecore;
 import sgraph;
+import types;
 
 toCppCode(Void void) :
 	"/*toCppCode() called with NULL element. Polymorphic resolver could not match callable method!*/";
@@ -113,12 +114,13 @@ String getOperator(RelationalOperator operator) :
 	};
 
 String eventTypeToString(Type type) : 
-  switch (type) {
-  case (Type::void) : "void"
-  case (Type::real) : "real"
-  case (Type::integer) : "integer"
-  case (Type::boolean) : "boolean"
-  case (Type::string)  : "strng"
+  switch (type.name) {
+  case null : "void"
+  case "void" : "void"
+  case "real" : "real"
+  case "integer" : "integer"
+  case "boolean" : "boolean"
+  case "string"  : "strng"
   default : "unknownType"
   };
   

+ 6 - 5
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/templates/Interfaces.xpt

@@ -11,6 +11,7 @@ Templates for the main statechart cpp file.
 «IMPORT sgraph»
 
 «EXTENSION org::yakindu::sct::generator::cpp::templates::Expression»
+«EXTENSION org::yakindu::sct::generator::cpp::templates::TypeModelExtensions»
 «EXTENSION org::yakindu::sct::generator::cpp::templates::Naming»
 
 
@@ -62,12 +63,12 @@ public:
 	
 	«FOREACH interface.getOutEvents() AS event -»
 	boolean is_«event.name»_raised(«
-	IF event.type != Type::void -» «event.type.eventTypeToString()»* value«ENDIF» );
+	IF !event.type.isVoid() -» «event.type.eventTypeToString()»* value«ENDIF» );
 	«ENDFOREACH»
 
 	«FOREACH interface.getInEvents() AS event -»
 	void raise_«event.name»(«
-	IF event.type != Type::void -» «event.type.eventTypeToString()» value «ENDIF»);
+	IF !event.type.isVoid() -» «event.type.eventTypeToString()» value «ENDIF»);
 	«ENDFOREACH» 
 	
 
@@ -110,12 +111,12 @@ void 
 	
 «FOREACH interface.getOutEvents() AS event -»
 boolean «interfaceClassName(interface)»::is_«event.name»_raised(«
-	IF event.type != Type::void -» «event.type.eventTypeToString()»* value«ENDIF» )
+	IF !event.type.isVoid() -» «event.type.eventTypeToString()»* value«ENDIF» )
 {
 	std::vector<Event>::const_iterator cit(outEventList.begin());
 	for(; cit != outEventList.end(); ++cit)
 	  if (cit->getID() == (uint32_t)«event.getEventEnumName()») {
-	  	«IF event.type != Type::void
+	  	«IF !event.type.isVoid()
 	  	*value = static_cast<«event.name»*>(cit)->value;
 	  	«ENDIF»
 	  	return true;
@@ -127,7 +128,7 @@ boolean 
 
 «FOREACH interface.getInEvents() AS event -»
 void «interfaceClassName(interface)»::raise_«event.name»(«
-	IF event.type != Type::void -» «event.type.eventTypeToString()» value «ENDIF»)
+	IF !event.type.isVoid() -» «event.type.eventTypeToString()» value «ENDIF»)
 {
 	Event ev = new «event.name»;
 	statemachine.setEvent(ev);

+ 13 - 0
plugins/org.yakindu.sct.generator.cpp/src/org/yakindu/sct/generator/cpp/templates/TypeModelExtensions.ext

@@ -0,0 +1,13 @@
+/*
+  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:
+  	Markus Muehlbrandt - Initial contribution and API
+ */
+import types;
+
+boolean isVoid(Type this) :
+	name == null || name == "void";

+ 4 - 19
plugins/org.yakindu.sct.ui.navigator/META-INF/MANIFEST.MF

@@ -5,26 +5,11 @@ Bundle-SymbolicName: org.yakindu.sct.ui.navigator;singleton:=true
 Bundle-Version: 1.0.0.qualifier
 Bundle-Activator: org.yakindu.sct.ui.UIActivator
 Bundle-Vendor: YAKINDU
-Require-Bundle: org.eclipse.ui,
- org.eclipse.core.runtime,
- org.eclipse.ui.navigator;bundle-version="3.5.100",
- org.eclipse.core.resources;bundle-version="3.7.100",
- org.eclipse.emf;bundle-version="2.6.0",
- org.eclipse.emf.ecore;bundle-version="2.7.0",
- org.eclipse.emf.edit;bundle-version="2.7.0",
+Require-Bundle: org.eclipse.ui.navigator;bundle-version="3.5.100",
  org.eclipse.emf.edit.ui;bundle-version="2.7.0",
- org.eclipse.emf.transaction;bundle-version="1.4.0",
- org.eclipse.emf.workspace;bundle-version="1.4.0",
- org.eclipse.gmf.runtime.emf.core;bundle-version="1.4.1",
- org.eclipse.ui.views.properties.tabbed;bundle-version="3.5.200",
- org.yakindu.sct.model.sgraph;bundle-version="1.0.0",
- org.yakindu.sct.model.stext;bundle-version="1.0.0",
- org.yakindu.sct.ui.editor;bundle-version="1.0.0",
- org.eclipse.gmf.runtime.diagram.core;bundle-version="1.4.1",
- org.eclipse.gmf.runtime.diagram.ui;bundle-version="1.5.0",
- org.eclipse.ui.ide;bundle-version="3.7.0",
- org.eclipse.gmf.runtime.diagram.ui.resources.editor;bundle-version="1.4.1",
  de.itemis.xtext.utils.jface;bundle-version="1.0.0",
- org.yakindu.sct.model.sgraph.edit;bundle-version="1.0.0"
+ org.yakindu.sct.model.stext;bundle-version="1.0.0",
+ org.yakindu.sct.model.sgraph.edit;bundle-version="1.0.0",
+ org.yakindu.sct.ui.editor;bundle-version="1.0.0"
 Bundle-RequiredExecutionEnvironment: JavaSE-1.6
 Bundle-ActivationPolicy: lazy