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

Added base types to sgen meta model

Andreas Mülder 14 лет назад
Родитель
Сommit
846ffc3e2a

BIN
test-plugins/org.yakindu.sct.model.sexec.interpreter.test/images/StatechartLocalReactions.png


+ 12 - 0
test-plugins/org.yakindu.sct.model.sexec.interpreter.test/src/org/yakindu/sct/model/sexec/interpreter/test/ExecutionFlowInterpreterTest.java

@@ -116,5 +116,17 @@ public class ExecutionFlowInterpreterTest extends AbstractExecutionFlowTest {
 		assertIsActive("B");
 		assertVarValue("MyInterface.myInt", 42);
 	}
+//	@Test
+//	public void testStatechartLocalReactionsCall() throws Exception {
+//		loadAndconfigureInterpreter(models.createStatechartLocalReactionsModel());
+//		assertIsActive("S1");
+//		assertVarValue("myInt", 0);
+//		interpreter.runCycle();
+//		assertVarValue("myInt", 1);
+//		interpreter.runCycle();
+//		assertVarValue("myInt", 2);
+//		interpreter.runCycle();
+//		assertVarValue("myInt", 3);
+//	}
 
 }

+ 10 - 0
test-plugins/org.yakindu.sct.model.sexec.interpreter.test/src/util/TestModels.java

@@ -42,6 +42,7 @@ public class TestModels {
 	private static final String STATE_ACTIVE = "StateIsActive.sct";
 	private static final String VALUED_EVENTS = "ValuedEvents.sct";
 	private static final String FEATURE_CALLS = "FeatureCalls.sct";
+	private static final String STATECHART_LOCAL_REACTIONS = "StatechartLocalReactions.sct";
 
 	@Inject
 	private ModelSequencer sequencer;
@@ -104,6 +105,15 @@ public class TestModels {
 	public ExecutionFlow createFeatureCallModel() throws IOException {
 		return loadFromResource(FEATURE_CALLS);
 	}
+	/**
+	 * <img src="../../images/StatechartLocalReactions.png" /> <br />
+	 * 
+	 * @return the {@link ExecutionFlow}
+	 * @throws IOException
+	 */
+	public ExecutionFlow createStatechartLocalReactionsModel() throws IOException {
+		return loadFromResource(STATECHART_LOCAL_REACTIONS);
+	}
 
 	/**
 	 * Helper method - loads a testmodel from the Testmodel directory

+ 113 - 0
test-plugins/org.yakindu.sct.model.sexec.interpreter.test/testmodels/StatechartLocalReactions.sct

@@ -0,0 +1,113 @@
+<?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="_RFTg0In9EeGKqoh-gt8EXQ" specification="internal:&#xD;&#xA;var myInt : integer&#xD;&#xA;oncycle / myInt+=1&#xD;&#xA;" name="StatechartLocalReactions">
+    <regions xmi:id="_RFWkIon9EeGKqoh-gt8EXQ" name="main region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_RGUNcIn9EeGKqoh-gt8EXQ">
+        <outgoingTransitions xmi:id="_RGfMkYn9EeGKqoh-gt8EXQ" target="_RGZtAYn9EeGKqoh-gt8EXQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_RGZtAYn9EeGKqoh-gt8EXQ" name="S1" incomingTransitions="_RGfMkYn9EeGKqoh-gt8EXQ _UvZM8In9EeGKqoh-gt8EXQ">
+        <outgoingTransitions xmi:id="_TsF84In9EeGKqoh-gt8EXQ" specification="" target="_TB-B0In9EeGKqoh-gt8EXQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_TB-B0In9EeGKqoh-gt8EXQ" name="S2" incomingTransitions="_TsF84In9EeGKqoh-gt8EXQ">
+        <outgoingTransitions xmi:id="_UvZM8In9EeGKqoh-gt8EXQ" specification="" target="_RGZtAYn9EeGKqoh-gt8EXQ"/>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_RFWkIIn9EeGKqoh-gt8EXQ" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_RFTg0In9EeGKqoh-gt8EXQ" measurementUnit="Pixel">
+    <children xmi:id="_RFixYIn9EeGKqoh-gt8EXQ" type="Region" element="_RFWkIon9EeGKqoh-gt8EXQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_RGQjEIn9EeGKqoh-gt8EXQ" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_RGQjEYn9EeGKqoh-gt8EXQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_RGQjEon9EeGKqoh-gt8EXQ"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_RGRKIIn9EeGKqoh-gt8EXQ" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_RGWCoIn9EeGKqoh-gt8EXQ" type="Entry" element="_RGUNcIn9EeGKqoh-gt8EXQ">
+          <children xmi:id="_RGYe4In9EeGKqoh-gt8EXQ" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_RGZF8In9EeGKqoh-gt8EXQ" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_RGZF8Yn9EeGKqoh-gt8EXQ"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_RGZF8on9EeGKqoh-gt8EXQ"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_RGYe4Yn9EeGKqoh-gt8EXQ" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RGYe4on9EeGKqoh-gt8EXQ"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_RGWCoYn9EeGKqoh-gt8EXQ" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RGZtAIn9EeGKqoh-gt8EXQ" x="70" y="20"/>
+        </children>
+        <children xmi:id="_RGbiMIn9EeGKqoh-gt8EXQ" type="State" element="_RGZtAYn9EeGKqoh-gt8EXQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_RGcJQIn9EeGKqoh-gt8EXQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_RGcJQYn9EeGKqoh-gt8EXQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_RGcJQon9EeGKqoh-gt8EXQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_RGdXYIn9EeGKqoh-gt8EXQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_RGdXYYn9EeGKqoh-gt8EXQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RGd-cIn9EeGKqoh-gt8EXQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_RGd-cYn9EeGKqoh-gt8EXQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_RGbiMYn9EeGKqoh-gt8EXQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_RGbiMon9EeGKqoh-gt8EXQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_RGelgIn9EeGKqoh-gt8EXQ"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RGfMkIn9EeGKqoh-gt8EXQ" x="60" y="79"/>
+        </children>
+        <children xmi:id="_TCY4kIn9EeGKqoh-gt8EXQ" type="State" element="_TB-B0In9EeGKqoh-gt8EXQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_TCaGsIn9EeGKqoh-gt8EXQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_TCaGsYn9EeGKqoh-gt8EXQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_TCaGson9EeGKqoh-gt8EXQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_TCaGs4n9EeGKqoh-gt8EXQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_TCatwIn9EeGKqoh-gt8EXQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_TCatwYn9EeGKqoh-gt8EXQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_TCbU0In9EeGKqoh-gt8EXQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_TCY4kYn9EeGKqoh-gt8EXQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_TCY4kon9EeGKqoh-gt8EXQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_TCbU0Yn9EeGKqoh-gt8EXQ"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_TCY4k4n9EeGKqoh-gt8EXQ" x="247" y="87"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RGRKIYn9EeGKqoh-gt8EXQ"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_RFixYYn9EeGKqoh-gt8EXQ" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RGTmYIn9EeGKqoh-gt8EXQ" x="220" y="10" width="400" height="196"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_RGkFEIn9EeGKqoh-gt8EXQ" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_RGksIIn9EeGKqoh-gt8EXQ" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_RGksIYn9EeGKqoh-gt8EXQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_RGksIon9EeGKqoh-gt8EXQ"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_RGlTMIn9EeGKqoh-gt8EXQ" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RGlTMYn9EeGKqoh-gt8EXQ"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RGl6QIn9EeGKqoh-gt8EXQ" x="10" y="10" width="200" height="201"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_RFWkIYn9EeGKqoh-gt8EXQ"/>
+    <edges xmi:id="_RGho0In9EeGKqoh-gt8EXQ" type="Transition" element="_RGfMkYn9EeGKqoh-gt8EXQ" source="_RGWCoIn9EeGKqoh-gt8EXQ" target="_RGbiMIn9EeGKqoh-gt8EXQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_RGi28Yn9EeGKqoh-gt8EXQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_RGi28on9EeGKqoh-gt8EXQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_RGjeAIn9EeGKqoh-gt8EXQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_RGho0Yn9EeGKqoh-gt8EXQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_RGi28In9EeGKqoh-gt8EXQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_RGho0on9EeGKqoh-gt8EXQ" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+    <edges xmi:id="_TsKOUIn9EeGKqoh-gt8EXQ" type="Transition" element="_TsF84In9EeGKqoh-gt8EXQ" source="_RGbiMIn9EeGKqoh-gt8EXQ" target="_TCY4kIn9EeGKqoh-gt8EXQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_TsK1YIn9EeGKqoh-gt8EXQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_TsK1YYn9EeGKqoh-gt8EXQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_TsK1Yon9EeGKqoh-gt8EXQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_TsKOUYn9EeGKqoh-gt8EXQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_TsKOU4n9EeGKqoh-gt8EXQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_TsKOUon9EeGKqoh-gt8EXQ" points="[18, 1, -162, -19]$[177, -5, -3, -25]"/>
+    </edges>
+    <edges xmi:id="_UvfTkIn9EeGKqoh-gt8EXQ" type="Transition" element="_UvZM8In9EeGKqoh-gt8EXQ" source="_TCY4kIn9EeGKqoh-gt8EXQ" target="_RGbiMIn9EeGKqoh-gt8EXQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_Uvf6oIn9EeGKqoh-gt8EXQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_Uvf6oYn9EeGKqoh-gt8EXQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_Uvf6oon9EeGKqoh-gt8EXQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_UvfTkYn9EeGKqoh-gt8EXQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_UvfTk4n9EeGKqoh-gt8EXQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_UvfTkon9EeGKqoh-gt8EXQ" points="[-19, -3, 176, 1]$[-193, -12, 2, -8]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_UwYEYIn9EeGKqoh-gt8EXQ" id="(0.55,0.08928571428571429)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_UwYEYYn9EeGKqoh-gt8EXQ" id="(0.325,0.16071428571428573)"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>