فهرست منبع

enriched ValuedEvents Tests, Bugfix for SCTUnit Interpreter generator

bohl@itemis.de 10 سال پیش
والد
کامیت
70af065941

+ 13 - 6
test-plugins/org.yakindu.sct.generator.c.test/gtests/ValuedEvents/ValuedEvents.cc

@@ -19,13 +19,20 @@ TEST(StatemachineTest, valuedEventsTest) {
 	valuedEvents_init(&handle);
 	valuedEvents_enter(&handle);
 	valuedEvents_runCycle(&handle);
-	EXPECT_TRUE(valuedEvents_isActive(&handle, ValuedEvents_main_region_A));
-	EXPECT_TRUE(valuedEvents_isActive(&handle, ValuedEvents__region1_C));
-	EXPECT_TRUE(valuedEventsIface_get_myVar(&handle) == 42);
-	valuedEventsIface_raise_integerEvent(&handle, 23);
+	EXPECT_TRUE(strcmp(valuedEventsIface_get_myString(&handle) , ""sct"") == 0);
+	valuedEventsIface_raise_integerEvent(&handle, 23l);
+	valuedEventsIface_raise_booleanEvent(&handle, false);
+	valuedEventsIface_raise_realEvent(&handle, 20l);
+	valuedEventsIface_raise_stringEvent(&handle, "tool");
 	valuedEvents_runCycle(&handle);
-	EXPECT_TRUE(valuedEvents_isActive(&handle, ValuedEvents__region1_D));
-	EXPECT_TRUE(valuedEventsIface_get_myVar(&handle) == 23);
+	EXPECT_TRUE(valuedEvents_isActive(&handle, ValuedEvents_integer_region_D));
+	EXPECT_TRUE(valuedEvents_isActive(&handle, ValuedEvents_string_region_D));
+	EXPECT_TRUE(valuedEvents_isActive(&handle, ValuedEvents_boolean_region_D));
+	EXPECT_TRUE(valuedEvents_isActive(&handle, ValuedEvents_real_region_D));
+	EXPECT_TRUE(valuedEventsIface_get_myInt(&handle) == 23l);
+	EXPECT_TRUE(valuedEventsIface_get_myBool(&handle) == false);
+	EXPECT_TRUE(valuedEventsIface_get_myReal(&handle) == 20l);
+	EXPECT_TRUE(strcmp(valuedEventsIface_get_myString(&handle) , ""tool"") == 0);
 }
 
 		

+ 13 - 6
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/ValuedEventsTest/ValuedEventsTest.cc

@@ -17,12 +17,19 @@ TEST(StatemachineTest, valuedEventsTest) {
 	statechart->init();
 	statechart->enter();
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->isActive(ValuedEvents::main_region_A));
-	EXPECT_TRUE(statechart->isActive(ValuedEvents::_region1_C));
-	EXPECT_TRUE(statechart->getDefaultSCI()->get_myVar()== 42);
-	statechart->raise_integerEvent( 23);
+	EXPECT_TRUE(strcmp(statechart->getDefaultSCI()->get_myString(), ""sct"") == 0);
+	statechart->raise_integerEvent( 23l);
+	statechart->raise_booleanEvent( false);
+	statechart->raise_realEvent( 20l);
+	statechart->raise_stringEvent( "tool");
 	statechart->runCycle();
-	EXPECT_TRUE(statechart->isActive(ValuedEvents::_region1_D));
-	EXPECT_TRUE(statechart->getDefaultSCI()->get_myVar()== 23);
+	EXPECT_TRUE(statechart->isActive(ValuedEvents::integer_region_D));
+	EXPECT_TRUE(statechart->isActive(ValuedEvents::string_region_D));
+	EXPECT_TRUE(statechart->isActive(ValuedEvents::boolean_region_D));
+	EXPECT_TRUE(statechart->isActive(ValuedEvents::real_region_D));
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myInt()== 23l);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myBool()== false);
+	EXPECT_TRUE(statechart->getDefaultSCI()->get_myReal()== 20l);
+	EXPECT_TRUE(strcmp(statechart->getDefaultSCI()->get_myString(), ""tool"") == 0);
 	delete statechart;
 }

+ 39 - 39
test-plugins/org.yakindu.sct.generator.cpp.test/test-gen/org/yakindu/sct/generator/cpp/test/ValuedEventsTest.java

@@ -1,39 +1,39 @@
-/**
- * Copyright (c) 2015 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.generator.cpp.test;
-
-import java.util.Collection;
-
-import org.junit.Before;
-import org.junit.runner.RunWith;
-import org.yakindu.sct.generator.c.gtest.GTest;
-import org.yakindu.sct.generator.c.gtest.GTestRunner;
-import org.yakindu.sct.generator.c.gtest.GTestHelper;
-
-@GTest(sourceFile = "gtests/ValuedEventsTest/ValuedEventsTest.cc", program = "gtests/ValuedEventsTest/ValuedEvents", model = "testmodels/SCTUnit/ValuedEvents.sct")
-@RunWith(GTestRunner.class)
-public class ValuedEventsTest {
-
-	protected final GTestHelper helper = new GTestHelper(this) {
-
-		@Override
-		protected void getSourceFiles(Collection<String> files) {
-			super.getSourceFiles(files);
-			files.add(getFileName(getTestProgram()) + ".cpp");
-		}
-	};
-
-	@Before
-	public void setUp() {
-		helper.generate();
-		helper.compile();
-	}
-}
+/**
+ * Copyright (c) 2015 committers of YAKINDU and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ *     committers of YAKINDU - initial API and implementation
+ */
+package org.yakindu.sct.generator.cpp.test;
+
+import java.util.Collection;
+
+import org.junit.Before;
+import org.junit.runner.RunWith;
+import org.yakindu.sct.generator.c.gtest.GTest;
+import org.yakindu.sct.generator.c.gtest.GTestRunner;
+import org.yakindu.sct.generator.c.gtest.GTestHelper;
+
+@GTest(sourceFile = "gtests/ValuedEventsTest/ValuedEventsTest.cc", program = "gtests/ValuedEventsTest/ValuedEvents", model = "testmodels/SCTUnit/ValuedEvents.sct")
+@RunWith(GTestRunner.class)
+public class ValuedEventsTest {
+
+	protected final GTestHelper helper = new GTestHelper(this) {
+
+		@Override
+		protected void getSourceFiles(Collection<String> files) {
+			super.getSourceFiles(files);
+			files.add(getFileName(getTestProgram()) + ".cpp");
+		}
+	};
+
+	@Before
+	public void setUp() {
+		helper.generate();
+		helper.compile();
+	}
+}

+ 11 - 3
test-plugins/org.yakindu.sct.generator.java.test/src-gen/org/yakindu/scr/valuedevents/IValuedEventsStatemachine.java

@@ -2,11 +2,19 @@ package org.yakindu.scr.valuedevents;
 import org.yakindu.scr.IStatemachine;
 
 public interface IValuedEventsStatemachine extends IStatemachine {
-
 	public interface SCInterface {
 		public void raiseIntegerEvent(long value);
-		public long getMyVar();
-		public void setMyVar(long value);
+		public void raiseBooleanEvent(boolean value);
+		public void raiseRealEvent(double value);
+		public void raiseStringEvent(String value);
+		public long getMyInt();
+		public void setMyInt(long value);
+		public boolean getMyBool();
+		public void setMyBool(boolean value);
+		public double getMyReal();
+		public void setMyReal(double value);
+		public String getMyString();
+		public void setMyString(String value);
 
 	}
 

+ 588 - 90
test-plugins/org.yakindu.sct.generator.java.test/src-gen/org/yakindu/scr/valuedevents/ValuedEventsStatemachine.java

@@ -2,9 +2,6 @@ package org.yakindu.scr.valuedevents;
 
 public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 
-	static {
-	}
-
 	private final class SCInterfaceImpl implements SCInterface {
 
 		private boolean integerEvent;
@@ -23,17 +20,95 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 			return integerEventValue;
 		}
 
-		private long myVar;
-		public long getMyVar() {
-			return myVar;
+		private boolean booleanEvent;
+
+		private boolean booleanEventValue;
+
+		public void raiseBooleanEvent(boolean value) {
+			booleanEvent = true;
+			booleanEventValue = value;
+		}
+
+		private boolean getBooleanEventValue() {
+			if (!booleanEvent)
+				throw new IllegalStateException(
+						"Illegal event value acces. Event BooleanEvent is not raised!");
+			return booleanEventValue;
+		}
+
+		private boolean realEvent;
+
+		private double realEventValue;
+
+		public void raiseRealEvent(double value) {
+			realEvent = true;
+			realEventValue = value;
+		}
+
+		private double getRealEventValue() {
+			if (!realEvent)
+				throw new IllegalStateException(
+						"Illegal event value acces. Event RealEvent is not raised!");
+			return realEventValue;
+		}
+
+		private boolean stringEvent;
+
+		private String stringEventValue;
+
+		public void raiseStringEvent(String value) {
+			stringEvent = true;
+			stringEventValue = value;
+		}
+
+		private String getStringEventValue() {
+			if (!stringEvent)
+				throw new IllegalStateException(
+						"Illegal event value acces. Event StringEvent is not raised!");
+			return stringEventValue;
+		}
+
+		private long myInt;
+		public long getMyInt() {
+			return myInt;
+		}
+
+		public void setMyInt(long value) {
+			this.myInt = value;
+		}
+
+		private boolean myBool;
+		public boolean getMyBool() {
+			return myBool;
+		}
+
+		public void setMyBool(boolean value) {
+			this.myBool = value;
+		}
+
+		private double myReal;
+		public double getMyReal() {
+			return myReal;
+		}
+
+		public void setMyReal(double value) {
+			this.myReal = value;
+		}
+
+		private String myString;
+		public String getMyString() {
+			return myString;
 		}
 
-		public void setMyVar(long value) {
-			this.myVar = value;
+		public void setMyString(String value) {
+			this.myString = value;
 		}
 
 		public void clearEvents() {
 			integerEvent = false;
+			booleanEvent = false;
+			realEvent = false;
+			stringEvent = false;
 		}
 
 	}
@@ -41,10 +116,10 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 	private SCInterfaceImpl sCInterface;
 
 	public enum State {
-		main_region_A, _region1_B, _region1_C, _region1_D, $NullState$
+		main_region1_A, integer_region_B, integer_region_C, integer_region_D, boolean_region_B, boolean_region_C, boolean_region_D, real_region_B, real_region_C, real_region_D, string_region_B, string_region_C, string_region_D, $NullState$
 	};
 
-	private final State[] stateVector = new State[2];
+	private final State[] stateVector = new State[5];
 
 	private int nextStateIndex;
 
@@ -54,28 +129,46 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 	}
 
 	public void init() {
-		for (int i = 0; i < 2; i++) {
+		for (int i = 0; i < 5; i++) {
 			stateVector[i] = State.$NullState$;
 		}
 
 		clearEvents();
 		clearOutEvents();
 
-		sCInterface.myVar = 0;
+		sCInterface.myInt = 0;
+
+		sCInterface.myBool = false;
+
+		sCInterface.myReal = 0.0;
+
+		sCInterface.myString = "";
 	}
 
 	public void enter() {
 		entryAction();
 
-		enterSequence_main_region_default();
+		enterSequence_main_region1_default();
 
-		enterSequence__region1_default();
+		enterSequence_integer_region_default();
+
+		enterSequence_boolean_region_default();
+
+		enterSequence_real_region_default();
+
+		enterSequence_string_region_default();
 	}
 
 	public void exit() {
-		exitSequence_main_region();
+		exitSequence_main_region1();
+
+		exitSequence_integer_region();
 
-		exitSequence__region1();
+		exitSequence_boolean_region();
+
+		exitSequence_real_region();
+
+		exitSequence_string_region();
 
 		exitAction();
 	}
@@ -99,14 +192,32 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 	 */
 	public boolean isStateActive(State state) {
 		switch (state) {
-			case main_region_A :
-				return stateVector[0] == State.main_region_A;
-			case _region1_B :
-				return stateVector[1] == State._region1_B;
-			case _region1_C :
-				return stateVector[1] == State._region1_C;
-			case _region1_D :
-				return stateVector[1] == State._region1_D;
+			case main_region1_A :
+				return stateVector[0] == State.main_region1_A;
+			case integer_region_B :
+				return stateVector[1] == State.integer_region_B;
+			case integer_region_C :
+				return stateVector[1] == State.integer_region_C;
+			case integer_region_D :
+				return stateVector[1] == State.integer_region_D;
+			case boolean_region_B :
+				return stateVector[2] == State.boolean_region_B;
+			case boolean_region_C :
+				return stateVector[2] == State.boolean_region_C;
+			case boolean_region_D :
+				return stateVector[2] == State.boolean_region_D;
+			case real_region_B :
+				return stateVector[3] == State.real_region_B;
+			case real_region_C :
+				return stateVector[3] == State.real_region_C;
+			case real_region_D :
+				return stateVector[3] == State.real_region_D;
+			case string_region_B :
+				return stateVector[4] == State.string_region_B;
+			case string_region_C :
+				return stateVector[4] == State.string_region_C;
+			case string_region_D :
+				return stateVector[4] == State.string_region_D;
 			default :
 				return false;
 		}
@@ -119,37 +230,139 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 	public void raiseIntegerEvent(long value) {
 		sCInterface.raiseIntegerEvent(value);
 	}
+	public void raiseBooleanEvent(boolean value) {
+		sCInterface.raiseBooleanEvent(value);
+	}
+	public void raiseRealEvent(double value) {
+		sCInterface.raiseRealEvent(value);
+	}
+	public void raiseStringEvent(String value) {
+		sCInterface.raiseStringEvent(value);
+	}
+
+	public long getMyInt() {
+		return sCInterface.getMyInt();
+	}
 
-	public long getMyVar() {
-		return sCInterface.getMyVar();
+	public void setMyInt(long value) {
+		sCInterface.setMyInt(value);
+	}
+	public boolean getMyBool() {
+		return sCInterface.getMyBool();
 	}
 
-	public void setMyVar(long value) {
-		sCInterface.setMyVar(value);
+	public void setMyBool(boolean value) {
+		sCInterface.setMyBool(value);
+	}
+	public double getMyReal() {
+		return sCInterface.getMyReal();
 	}
 
-	private boolean check__region1_B_tr0() {
+	public void setMyReal(double value) {
+		sCInterface.setMyReal(value);
+	}
+	public String getMyString() {
+		return sCInterface.getMyString();
+	}
+
+	public void setMyString(String value) {
+		sCInterface.setMyString(value);
+	}
+
+	private boolean check_integer_region_B_tr0() {
 		return sCInterface.integerEvent;
 	}
 
-	private boolean check__region1_C_tr0() {
+	private boolean check_integer_region_C_tr0() {
 		return sCInterface.integerEvent;
 	}
 
-	private void effect__region1_B_tr0() {
-		exitSequence__region1_B();
+	private boolean check_boolean_region_B_tr0() {
+		return sCInterface.booleanEvent;
+	}
+
+	private boolean check_boolean_region_C_tr0() {
+		return sCInterface.booleanEvent;
+	}
+
+	private boolean check_real_region_B_tr0() {
+		return sCInterface.realEvent;
+	}
+
+	private boolean check_real_region_C_tr0() {
+		return sCInterface.realEvent;
+	}
+
+	private boolean check_string_region_B_tr0() {
+		return sCInterface.stringEvent;
+	}
+
+	private boolean check_string_region_C_tr0() {
+		return sCInterface.stringEvent;
+	}
+
+	private void effect_integer_region_B_tr0() {
+		exitSequence_integer_region_B();
+
+		sCInterface.myInt = sCInterface.integerEventValue;
+
+		enterSequence_integer_region_C_default();
+	}
+
+	private void effect_integer_region_C_tr0() {
+		exitSequence_integer_region_C();
+
+		sCInterface.myInt = sCInterface.integerEventValue;
+
+		enterSequence_integer_region_D_default();
+	}
+
+	private void effect_boolean_region_B_tr0() {
+		exitSequence_boolean_region_B();
+
+		sCInterface.myBool = sCInterface.booleanEventValue;
+
+		enterSequence_boolean_region_C_default();
+	}
+
+	private void effect_boolean_region_C_tr0() {
+		exitSequence_boolean_region_C();
+
+		sCInterface.myBool = sCInterface.booleanEventValue;
+
+		enterSequence_boolean_region_D_default();
+	}
+
+	private void effect_real_region_B_tr0() {
+		exitSequence_real_region_B();
+
+		sCInterface.myReal = sCInterface.realEventValue;
+
+		enterSequence_real_region_C_default();
+	}
+
+	private void effect_real_region_C_tr0() {
+		exitSequence_real_region_C();
+
+		sCInterface.myReal = sCInterface.realEventValue;
+
+		enterSequence_real_region_D_default();
+	}
+
+	private void effect_string_region_B_tr0() {
+		exitSequence_string_region_B();
 
-		sCInterface.myVar = sCInterface.integerEventValue;
+		sCInterface.myString = sCInterface.stringEventValue;
 
-		enterSequence__region1_C_default();
+		enterSequence_string_region_C_default();
 	}
 
-	private void effect__region1_C_tr0() {
-		exitSequence__region1_C();
+	private void effect_string_region_C_tr0() {
+		exitSequence_string_region_C();
 
-		sCInterface.myVar = sCInterface.integerEventValue;
+		sCInterface.myString = sCInterface.stringEventValue;
 
-		enterSequence__region1_D_default();
+		enterSequence_string_region_D_default();
 	}
 
 	/* Entry action for statechart 'ValuedEvents'. */
@@ -157,8 +370,14 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 	}
 
 	/* Entry action for state 'A'. */
-	private void entryAction_main_region_A() {
+	private void entryAction_main_region1_A() {
 		sCInterface.raiseIntegerEvent(2 * 21);
+
+		sCInterface.raiseRealEvent(10);
+
+		sCInterface.raiseBooleanEvent(true || false);
+
+		sCInterface.raiseStringEvent("sct");
 	}
 
 	/* Exit action for state 'ValuedEvents'. */
@@ -166,70 +385,193 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 	}
 
 	/* 'default' enter sequence for state A */
-	private void enterSequence_main_region_A_default() {
-		entryAction_main_region_A();
+	private void enterSequence_main_region1_A_default() {
+		entryAction_main_region1_A();
 
 		nextStateIndex = 0;
-		stateVector[0] = State.main_region_A;
+		stateVector[0] = State.main_region1_A;
 	}
 
 	/* 'default' enter sequence for state B */
-	private void enterSequence__region1_B_default() {
+	private void enterSequence_integer_region_B_default() {
 		nextStateIndex = 1;
-		stateVector[1] = State._region1_B;
+		stateVector[1] = State.integer_region_B;
 	}
 
 	/* 'default' enter sequence for state C */
-	private void enterSequence__region1_C_default() {
+	private void enterSequence_integer_region_C_default() {
 		nextStateIndex = 1;
-		stateVector[1] = State._region1_C;
+		stateVector[1] = State.integer_region_C;
 	}
 
 	/* 'default' enter sequence for state D */
-	private void enterSequence__region1_D_default() {
+	private void enterSequence_integer_region_D_default() {
 		nextStateIndex = 1;
-		stateVector[1] = State._region1_D;
+		stateVector[1] = State.integer_region_D;
+	}
+
+	/* 'default' enter sequence for state B */
+	private void enterSequence_boolean_region_B_default() {
+		nextStateIndex = 2;
+		stateVector[2] = State.boolean_region_B;
+	}
+
+	/* 'default' enter sequence for state C */
+	private void enterSequence_boolean_region_C_default() {
+		nextStateIndex = 2;
+		stateVector[2] = State.boolean_region_C;
+	}
+
+	/* 'default' enter sequence for state D */
+	private void enterSequence_boolean_region_D_default() {
+		nextStateIndex = 2;
+		stateVector[2] = State.boolean_region_D;
+	}
+
+	/* 'default' enter sequence for state B */
+	private void enterSequence_real_region_B_default() {
+		nextStateIndex = 3;
+		stateVector[3] = State.real_region_B;
+	}
+
+	/* 'default' enter sequence for state C */
+	private void enterSequence_real_region_C_default() {
+		nextStateIndex = 3;
+		stateVector[3] = State.real_region_C;
+	}
+
+	/* 'default' enter sequence for state D */
+	private void enterSequence_real_region_D_default() {
+		nextStateIndex = 3;
+		stateVector[3] = State.real_region_D;
 	}
 
-	/* 'default' enter sequence for region main region */
-	private void enterSequence_main_region_default() {
-		react_main_region__entry_Default();
+	/* 'default' enter sequence for state B */
+	private void enterSequence_string_region_B_default() {
+		nextStateIndex = 4;
+		stateVector[4] = State.string_region_B;
+	}
+
+	/* 'default' enter sequence for state C */
+	private void enterSequence_string_region_C_default() {
+		nextStateIndex = 4;
+		stateVector[4] = State.string_region_C;
+	}
+
+	/* 'default' enter sequence for state D */
+	private void enterSequence_string_region_D_default() {
+		nextStateIndex = 4;
+		stateVector[4] = State.string_region_D;
 	}
 
-	/* 'default' enter sequence for region null */
-	private void enterSequence__region1_default() {
-		react__region1__entry_Default();
+	/* 'default' enter sequence for region main region1 */
+	private void enterSequence_main_region1_default() {
+		react_main_region1__entry_Default();
+	}
+
+	/* 'default' enter sequence for region integer_region */
+	private void enterSequence_integer_region_default() {
+		react_integer_region__entry_Default();
+	}
+
+	/* 'default' enter sequence for region boolean_region */
+	private void enterSequence_boolean_region_default() {
+		react_boolean_region__entry_Default();
+	}
+
+	/* 'default' enter sequence for region real_region */
+	private void enterSequence_real_region_default() {
+		react_real_region__entry_Default();
+	}
+
+	/* 'default' enter sequence for region string_region */
+	private void enterSequence_string_region_default() {
+		react_string_region__entry_Default();
 	}
 
 	/* Default exit sequence for state A */
-	private void exitSequence_main_region_A() {
+	private void exitSequence_main_region1_A() {
 		nextStateIndex = 0;
 		stateVector[0] = State.$NullState$;
 	}
 
 	/* Default exit sequence for state B */
-	private void exitSequence__region1_B() {
+	private void exitSequence_integer_region_B() {
 		nextStateIndex = 1;
 		stateVector[1] = State.$NullState$;
 	}
 
 	/* Default exit sequence for state C */
-	private void exitSequence__region1_C() {
+	private void exitSequence_integer_region_C() {
 		nextStateIndex = 1;
 		stateVector[1] = State.$NullState$;
 	}
 
 	/* Default exit sequence for state D */
-	private void exitSequence__region1_D() {
+	private void exitSequence_integer_region_D() {
 		nextStateIndex = 1;
 		stateVector[1] = State.$NullState$;
 	}
 
-	/* Default exit sequence for region main region */
-	private void exitSequence_main_region() {
+	/* Default exit sequence for state B */
+	private void exitSequence_boolean_region_B() {
+		nextStateIndex = 2;
+		stateVector[2] = State.$NullState$;
+	}
+
+	/* Default exit sequence for state C */
+	private void exitSequence_boolean_region_C() {
+		nextStateIndex = 2;
+		stateVector[2] = State.$NullState$;
+	}
+
+	/* Default exit sequence for state D */
+	private void exitSequence_boolean_region_D() {
+		nextStateIndex = 2;
+		stateVector[2] = State.$NullState$;
+	}
+
+	/* Default exit sequence for state B */
+	private void exitSequence_real_region_B() {
+		nextStateIndex = 3;
+		stateVector[3] = State.$NullState$;
+	}
+
+	/* Default exit sequence for state C */
+	private void exitSequence_real_region_C() {
+		nextStateIndex = 3;
+		stateVector[3] = State.$NullState$;
+	}
+
+	/* Default exit sequence for state D */
+	private void exitSequence_real_region_D() {
+		nextStateIndex = 3;
+		stateVector[3] = State.$NullState$;
+	}
+
+	/* Default exit sequence for state B */
+	private void exitSequence_string_region_B() {
+		nextStateIndex = 4;
+		stateVector[4] = State.$NullState$;
+	}
+
+	/* Default exit sequence for state C */
+	private void exitSequence_string_region_C() {
+		nextStateIndex = 4;
+		stateVector[4] = State.$NullState$;
+	}
+
+	/* Default exit sequence for state D */
+	private void exitSequence_string_region_D() {
+		nextStateIndex = 4;
+		stateVector[4] = State.$NullState$;
+	}
+
+	/* Default exit sequence for region main region1 */
+	private void exitSequence_main_region1() {
 		switch (stateVector[0]) {
-			case main_region_A :
-				exitSequence_main_region_A();
+			case main_region1_A :
+				exitSequence_main_region1_A();
 				break;
 
 			default :
@@ -237,19 +579,79 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 		}
 	}
 
-	/* Default exit sequence for region null */
-	private void exitSequence__region1() {
+	/* Default exit sequence for region integer_region */
+	private void exitSequence_integer_region() {
 		switch (stateVector[1]) {
-			case _region1_B :
-				exitSequence__region1_B();
+			case integer_region_B :
+				exitSequence_integer_region_B();
+				break;
+
+			case integer_region_C :
+				exitSequence_integer_region_C();
+				break;
+
+			case integer_region_D :
+				exitSequence_integer_region_D();
+				break;
+
+			default :
+				break;
+		}
+	}
+
+	/* Default exit sequence for region boolean_region */
+	private void exitSequence_boolean_region() {
+		switch (stateVector[2]) {
+			case boolean_region_B :
+				exitSequence_boolean_region_B();
 				break;
 
-			case _region1_C :
-				exitSequence__region1_C();
+			case boolean_region_C :
+				exitSequence_boolean_region_C();
 				break;
 
-			case _region1_D :
-				exitSequence__region1_D();
+			case boolean_region_D :
+				exitSequence_boolean_region_D();
+				break;
+
+			default :
+				break;
+		}
+	}
+
+	/* Default exit sequence for region real_region */
+	private void exitSequence_real_region() {
+		switch (stateVector[3]) {
+			case real_region_B :
+				exitSequence_real_region_B();
+				break;
+
+			case real_region_C :
+				exitSequence_real_region_C();
+				break;
+
+			case real_region_D :
+				exitSequence_real_region_D();
+				break;
+
+			default :
+				break;
+		}
+	}
+
+	/* Default exit sequence for region string_region */
+	private void exitSequence_string_region() {
+		switch (stateVector[4]) {
+			case string_region_B :
+				exitSequence_string_region_B();
+				break;
+
+			case string_region_C :
+				exitSequence_string_region_C();
+				break;
+
+			case string_region_D :
+				exitSequence_string_region_D();
 				break;
 
 			default :
@@ -258,35 +660,104 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 	}
 
 	/* The reactions of state A. */
-	private void react_main_region_A() {
+	private void react_main_region1_A() {
+	}
+
+	/* The reactions of state B. */
+	private void react_integer_region_B() {
+		if (check_integer_region_B_tr0()) {
+			effect_integer_region_B_tr0();
+		}
+	}
+
+	/* The reactions of state C. */
+	private void react_integer_region_C() {
+		if (check_integer_region_C_tr0()) {
+			effect_integer_region_C_tr0();
+		}
+	}
+
+	/* The reactions of state D. */
+	private void react_integer_region_D() {
+	}
+
+	/* The reactions of state B. */
+	private void react_boolean_region_B() {
+		if (check_boolean_region_B_tr0()) {
+			effect_boolean_region_B_tr0();
+		}
+	}
+
+	/* The reactions of state C. */
+	private void react_boolean_region_C() {
+		if (check_boolean_region_C_tr0()) {
+			effect_boolean_region_C_tr0();
+		}
+	}
+
+	/* The reactions of state D. */
+	private void react_boolean_region_D() {
 	}
 
 	/* The reactions of state B. */
-	private void react__region1_B() {
-		if (check__region1_B_tr0()) {
-			effect__region1_B_tr0();
+	private void react_real_region_B() {
+		if (check_real_region_B_tr0()) {
+			effect_real_region_B_tr0();
 		}
 	}
 
 	/* The reactions of state C. */
-	private void react__region1_C() {
-		if (check__region1_C_tr0()) {
-			effect__region1_C_tr0();
+	private void react_real_region_C() {
+		if (check_real_region_C_tr0()) {
+			effect_real_region_C_tr0();
 		}
 	}
 
 	/* The reactions of state D. */
-	private void react__region1_D() {
+	private void react_real_region_D() {
+	}
+
+	/* The reactions of state B. */
+	private void react_string_region_B() {
+		if (check_string_region_B_tr0()) {
+			effect_string_region_B_tr0();
+		}
+	}
+
+	/* The reactions of state C. */
+	private void react_string_region_C() {
+		if (check_string_region_C_tr0()) {
+			effect_string_region_C_tr0();
+		}
+	}
+
+	/* The reactions of state D. */
+	private void react_string_region_D() {
 	}
 
 	/* Default react sequence for initial entry  */
-	private void react_main_region__entry_Default() {
-		enterSequence_main_region_A_default();
+	private void react_main_region1__entry_Default() {
+		enterSequence_main_region1_A_default();
 	}
 
 	/* Default react sequence for initial entry  */
-	private void react__region1__entry_Default() {
-		enterSequence__region1_B_default();
+	private void react_integer_region__entry_Default() {
+		enterSequence_integer_region_B_default();
+	}
+
+	/* Default react sequence for initial entry  */
+	private void react_boolean_region__entry_Default() {
+		enterSequence_boolean_region_B_default();
+	}
+
+	/* Default react sequence for initial entry  */
+	private void react_real_region__entry_Default() {
+		enterSequence_real_region_B_default();
+	}
+
+	/* Default react sequence for initial entry  */
+	private void react_string_region__entry_Default() {
+		enterSequence_string_region_B_default();
 	}
 
 	public void runCycle() {
@@ -296,17 +767,44 @@ public class ValuedEventsStatemachine implements IValuedEventsStatemachine {
 		for (nextStateIndex = 0; nextStateIndex < stateVector.length; nextStateIndex++) {
 
 			switch (stateVector[nextStateIndex]) {
-				case main_region_A :
-					react_main_region_A();
+				case main_region1_A :
+					react_main_region1_A();
+					break;
+				case integer_region_B :
+					react_integer_region_B();
+					break;
+				case integer_region_C :
+					react_integer_region_C();
+					break;
+				case integer_region_D :
+					react_integer_region_D();
+					break;
+				case boolean_region_B :
+					react_boolean_region_B();
+					break;
+				case boolean_region_C :
+					react_boolean_region_C();
+					break;
+				case boolean_region_D :
+					react_boolean_region_D();
+					break;
+				case real_region_B :
+					react_real_region_B();
+					break;
+				case real_region_C :
+					react_real_region_C();
+					break;
+				case real_region_D :
+					react_real_region_D();
 					break;
-				case _region1_B :
-					react__region1_B();
+				case string_region_B :
+					react_string_region_B();
 					break;
-				case _region1_C :
-					react__region1_C();
+				case string_region_C :
+					react_string_region_C();
 					break;
-				case _region1_D :
-					react__region1_D();
+				case string_region_D :
+					react_string_region_D();
 					break;
 				default :
 					// $NullState$

+ 13 - 6
test-plugins/org.yakindu.sct.generator.java.test/test-gen/org/yakindu/sct/generator/java/test/ValuedEventsTest.java

@@ -40,12 +40,19 @@ public class ValuedEventsTest {
 	public void testvaluedEventsTest() {
 		statemachine.enter();
 		statemachine.runCycle();
-		assertTrue(statemachine.isStateActive(State.main_region_A));
-		assertTrue(statemachine.isStateActive(State._region1_C));
-		assertTrue(statemachine.getMyVar() == 42);
-		statemachine.raiseIntegerEvent(23);
+		assertTrue(statemachine.getMyString().equals("sct"));
+		statemachine.raiseIntegerEvent(23l);
+		statemachine.raiseBooleanEvent(false);
+		statemachine.raiseRealEvent(20l);
+		statemachine.raiseStringEvent("tool");
 		statemachine.runCycle();
-		assertTrue(statemachine.isStateActive(State._region1_D));
-		assertTrue(statemachine.getMyVar() == 23);
+		assertTrue(statemachine.isStateActive(State.integer_region_D));
+		assertTrue(statemachine.isStateActive(State.string_region_D));
+		assertTrue(statemachine.isStateActive(State.boolean_region_D));
+		assertTrue(statemachine.isStateActive(State.real_region_D));
+		assertTrue(statemachine.getMyInt() == 23l);
+		assertTrue(statemachine.getMyBool() == false);
+		assertTrue(statemachine.getMyReal() == 20l);
+		assertTrue(statemachine.getMyString().equals("tool"));
 	}
 }

+ 12 - 5
test-plugins/org.yakindu.sct.simulation.core.sexec.test/test-gen/org/yakindu/sct/simulation/core/sexec/test/ValuedEventsTest.java

@@ -37,12 +37,19 @@ public class ValuedEventsTest extends AbstractExecutionFlowTest {
 	public void valuedEventsTest() throws Exception {
 		interpreter.enter();
 		interpreter.runCycle();
-		assertTrue(isActive("A"));
-		assertTrue(isActive("C"));
-		assertTrue(getInteger("myVar") == 42);
-		raiseEvent("IntegerEvent", 23);
+		assertTrue(getString("myString").equals("sct"));
+		raiseEvent("integerEvent", 23l);
+		raiseEvent("booleanEvent", false);
+		raiseEvent("realEvent", 20l);
+		raiseEvent("stringEvent", "tool");
 		interpreter.runCycle();
 		assertTrue(isActive("D"));
-		assertTrue(getInteger("myVar") == 23);
+		assertTrue(isActive("D"));
+		assertTrue(isActive("D"));
+		assertTrue(isActive("D"));
+		assertTrue(getInteger("myInt") == 23l);
+		assertTrue(getBoolean("myBool") == false);
+		assertTrue(getReal("myReal") == 20l);
+		assertTrue(getString("myString").equals("tool"));
 	}
 }

+ 366 - 19
test-plugins/org.yakindu.sct.test.models/testmodels/SCTUnit/ValuedEvents.sct

@@ -1,24 +1,60 @@
 <?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="_mYUJQHjXEeGKl8JlHfi_Yg" specification="interface:&#xD;&#xA;in event IntegerEvent : integer&#xD;&#xA;var myVar : integer" name="ValuedEvents">
-    <regions xmi:id="_mYUwUnjXEeGKl8JlHfi_Yg" name="main region">
+  <sgraph:Statechart xmi:id="_mYUJQHjXEeGKl8JlHfi_Yg" specification="interface:&#xD;&#xA;in event integerEvent : integer&#xD;&#xA;var myInt : integer&#xD;&#xA;&#xD;&#xA;in event booleanEvent : boolean&#xD;&#xA;var myBool : boolean&#xD;&#xA;&#xD;&#xA;in event realEvent : real&#xD;&#xA;var myReal : real&#xD;&#xA;&#xD;&#xA;in event stringEvent : string&#xD;&#xA;var myString : string" name="ValuedEvents">
+    <regions xmi:id="_mYUwUnjXEeGKl8JlHfi_Yg" name="main region1">
       <vertices xsi:type="sgraph:Entry" xmi:id="_mYXMkXjXEeGKl8JlHfi_Yg">
         <outgoingTransitions xmi:id="_mYcsIXjXEeGKl8JlHfi_Yg" target="_mYZo0XjXEeGKl8JlHfi_Yg"/>
       </vertices>
-      <vertices xsi:type="sgraph:State" xmi:id="_mYZo0XjXEeGKl8JlHfi_Yg" specification="entry / raise IntegerEvent : 2*21" name="A" incomingTransitions="_mYcsIXjXEeGKl8JlHfi_Yg"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_mYZo0XjXEeGKl8JlHfi_Yg" specification="entry / raise integerEvent : 2*21;&#xD;&#xA;raise realEvent : 10; &#xD;&#xA;raise booleanEvent : true || false; &#xD;&#xA;raise stringEvent : &quot;sct&quot;&#xD;&#xA;" name="A" incomingTransitions="_mYcsIXjXEeGKl8JlHfi_Yg"/>
     </regions>
-    <regions xmi:id="_4BMZkHjZEeGKl8JlHfi_Yg">
+    <regions xmi:id="_4BMZkHjZEeGKl8JlHfi_Yg" name="integer_region">
       <vertices xsi:type="sgraph:Entry" xmi:id="_4h2PkHjZEeGKl8JlHfi_Yg">
         <outgoingTransitions xmi:id="_6753MHjZEeGKl8JlHfi_Yg" specification="" target="_48UlEHjZEeGKl8JlHfi_Yg"/>
       </vertices>
       <vertices xsi:type="sgraph:State" xmi:id="_48UlEHjZEeGKl8JlHfi_Yg" name="B" incomingTransitions="_6753MHjZEeGKl8JlHfi_Yg">
-        <outgoingTransitions xmi:id="_-hBjwHjZEeGKl8JlHfi_Yg" specification="IntegerEvent / myVar = valueof(IntegerEvent)" target="_9hO6sHjZEeGKl8JlHfi_Yg"/>
+        <outgoingTransitions xmi:id="_-hBjwHjZEeGKl8JlHfi_Yg" specification="integerEvent / myInt = valueof(integerEvent)" target="_9hO6sHjZEeGKl8JlHfi_Yg"/>
       </vertices>
       <vertices xsi:type="sgraph:State" xmi:id="_9hO6sHjZEeGKl8JlHfi_Yg" name="C" incomingTransitions="_-hBjwHjZEeGKl8JlHfi_Yg">
-        <outgoingTransitions xmi:id="_gF9K0MDlEeSuvthoVZyf5Q" specification="IntegerEvent / myVar = valueof(IntegerEvent)" target="_fwcN0MDlEeSuvthoVZyf5Q"/>
+        <outgoingTransitions xmi:id="_gF9K0MDlEeSuvthoVZyf5Q" specification="integerEvent / myInt = valueof(integerEvent)" target="_fwcN0MDlEeSuvthoVZyf5Q"/>
       </vertices>
       <vertices xsi:type="sgraph:State" xmi:id="_fwcN0MDlEeSuvthoVZyf5Q" name="D" incomingTransitions="_gF9K0MDlEeSuvthoVZyf5Q"/>
     </regions>
+    <regions xmi:id="_aPhBsOKsEeS9Ecc_7JR_AQ" name="boolean_region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_aPhBseKsEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_aPhBsuKsEeS9Ecc_7JR_AQ" specification="" target="_aPhowOKsEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_aPhowOKsEeS9Ecc_7JR_AQ" name="B" incomingTransitions="_aPhBsuKsEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_aPhowuKsEeS9Ecc_7JR_AQ" specification="booleanEvent / myBool = valueof(booleanEvent)" target="_aPi24OKsEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_aPi24OKsEeS9Ecc_7JR_AQ" name="C" incomingTransitions="_aPhowuKsEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_aPi24uKsEeS9Ecc_7JR_AQ" specification="booleanEvent / myBool = valueof(booleanEvent)" target="_aPkFAOKsEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_aPkFAOKsEeS9Ecc_7JR_AQ" name="D" incomingTransitions="_aPi24uKsEeS9Ecc_7JR_AQ"/>
+    </regions>
+    <regions xmi:id="_88PfcOKsEeS9Ecc_7JR_AQ" name="real_region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_88PfceKsEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_88PfcuKsEeS9Ecc_7JR_AQ" specification="" target="_88QGgOKsEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_88QGgOKsEeS9Ecc_7JR_AQ" name="B" incomingTransitions="_88PfcuKsEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_88QGguKsEeS9Ecc_7JR_AQ" specification="realEvent / myReal = valueof(realEvent)" target="_88QtmOKsEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_88QtmOKsEeS9Ecc_7JR_AQ" name="C" incomingTransitions="_88QGguKsEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_88QtmuKsEeS9Ecc_7JR_AQ" specification="realEvent / myReal = valueof(realEvent)" target="_88RUqOKsEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_88RUqOKsEeS9Ecc_7JR_AQ" name="D" incomingTransitions="_88QtmuKsEeS9Ecc_7JR_AQ"/>
+    </regions>
+    <regions xmi:id="_OPxcwOKtEeS9Ecc_7JR_AQ" name="string_region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_OPxcweKtEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_OPxcwuKtEeS9Ecc_7JR_AQ" specification="" target="_OPxcw-KtEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_OPxcw-KtEeS9Ecc_7JR_AQ" name="B" incomingTransitions="_OPxcwuKtEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_OPyD0OKtEeS9Ecc_7JR_AQ" specification="stringEvent / myString = valueof(stringEvent)" target="_OPyD2eKtEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_OPyD2eKtEeS9Ecc_7JR_AQ" name="C" incomingTransitions="_OPyD0OKtEeS9Ecc_7JR_AQ">
+        <outgoingTransitions xmi:id="_OPyq4eKtEeS9Ecc_7JR_AQ" specification="stringEvent / myString = valueof(stringEvent)" target="_OPyq6uKtEeS9Ecc_7JR_AQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_OPyq6uKtEeS9Ecc_7JR_AQ" name="D" incomingTransitions="_OPyq4eKtEeS9Ecc_7JR_AQ"/>
+    </regions>
   </sgraph:Statechart>
   <notation:Diagram xmi:id="_mYUwUHjXEeGKl8JlHfi_Yg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_mYUJQHjXEeGKl8JlHfi_Yg" measurementUnit="Pixel">
     <children xmi:id="_mYVXYHjXEeGKl8JlHfi_Yg" type="Region" element="_mYUwUnjXEeGKl8JlHfi_Yg">
@@ -37,7 +73,7 @@
             <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYYasnjXEeGKl8JlHfi_Yg"/>
           </children>
           <styles xsi:type="notation:ShapeStyle" xmi:id="_mYXMk3jXEeGKl8JlHfi_Yg" fontName="Verdana" lineColor="4210752"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYZo0HjXEeGKl8JlHfi_Yg" x="70" y="20"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYZo0HjXEeGKl8JlHfi_Yg" x="-138" y="-14"/>
         </children>
         <children xmi:id="_mYaP4HjXEeGKl8JlHfi_Yg" type="State" element="_mYZo0XjXEeGKl8JlHfi_Yg">
           <children xsi:type="notation:DecorationNode" xmi:id="_mYa28HjXEeGKl8JlHfi_Yg" type="StateName">
@@ -53,12 +89,12 @@
           <styles xsi:type="notation:ShapeStyle" xmi:id="_mYaP4XjXEeGKl8JlHfi_Yg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
           <styles xsi:type="notation:FontStyle" xmi:id="_mYaP4njXEeGKl8JlHfi_Yg"/>
           <styles xsi:type="notation:BooleanValueStyle" xmi:id="_mYcFEXjXEeGKl8JlHfi_Yg"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYcsIHjXEeGKl8JlHfi_Yg" x="9" y="79" width="176" height="76"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYcsIHjXEeGKl8JlHfi_Yg" x="-263" y="107" width="270" height="111"/>
         </children>
         <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYWlgXjXEeGKl8JlHfi_Yg"/>
       </children>
       <styles xsi:type="notation:ShapeStyle" xmi:id="_mYVXYXjXEeGKl8JlHfi_Yg" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYXMkHjXEeGKl8JlHfi_Yg" x="265" y="10" width="211" height="206"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYXMkHjXEeGKl8JlHfi_Yg" x="20" y="395" width="292" height="296"/>
     </children>
     <children xsi:type="notation:Shape" xmi:id="_mYehUHjXEeGKl8JlHfi_Yg" type="StatechartText" fontName="Verdana" lineColor="4210752">
       <children xsi:type="notation:DecorationNode" xmi:id="_mYfIYHjXEeGKl8JlHfi_Yg" type="StatechartName">
@@ -68,7 +104,7 @@
       <children xsi:type="notation:Shape" xmi:id="_mYfvcHjXEeGKl8JlHfi_Yg" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
         <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYfvcXjXEeGKl8JlHfi_Yg"/>
       </children>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYgWgHjXEeGKl8JlHfi_Yg" x="20" y="10" width="236" height="91"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_mYgWgHjXEeGKl8JlHfi_Yg" x="20" y="10" width="236" height="381"/>
     </children>
     <children xmi:id="_4BWxoHjZEeGKl8JlHfi_Yg" type="Region" element="_4BMZkHjZEeGKl8JlHfi_Yg">
       <children xsi:type="notation:DecorationNode" xmi:id="_4BX_wHjZEeGKl8JlHfi_Yg" type="RegionName">
@@ -86,7 +122,7 @@
             <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4iHVUnjZEeGKl8JlHfi_Yg"/>
           </children>
           <styles xsi:type="notation:ShapeStyle" xmi:id="_4iGHMXjZEeGKl8JlHfi_Yg" fontName="Verdana" lineColor="4210752"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4iGHMnjZEeGKl8JlHfi_Yg" x="93" y="14"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4iGHMnjZEeGKl8JlHfi_Yg" x="48" y="2"/>
         </children>
         <children xmi:id="_48tmoHjZEeGKl8JlHfi_Yg" type="State" element="_48UlEHjZEeGKl8JlHfi_Yg">
           <children xsi:type="notation:DecorationNode" xmi:id="_48wC4HjZEeGKl8JlHfi_Yg" type="StateName">
@@ -102,7 +138,7 @@
           <styles xsi:type="notation:ShapeStyle" xmi:id="_48tmoXjZEeGKl8JlHfi_Yg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
           <styles xsi:type="notation:FontStyle" xmi:id="_48tmonjZEeGKl8JlHfi_Yg"/>
           <styles xsi:type="notation:BooleanValueStyle" xmi:id="_48yfIHjZEeGKl8JlHfi_Yg"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_48tmo3jZEeGKl8JlHfi_Yg" x="107" y="74" width="111" height="66"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_48tmo3jZEeGKl8JlHfi_Yg" x="3" y="67" width="111" height="66"/>
         </children>
         <children xmi:id="_9hmHEHjZEeGKl8JlHfi_Yg" type="State" element="_9hO6sHjZEeGKl8JlHfi_Yg">
           <children xsi:type="notation:DecorationNode" xmi:id="_9hn8QHjZEeGKl8JlHfi_Yg" type="StateName">
@@ -118,7 +154,7 @@
           <styles xsi:type="notation:ShapeStyle" xmi:id="_9hmuIHjZEeGKl8JlHfi_Yg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
           <styles xsi:type="notation:FontStyle" xmi:id="_9hmuIXjZEeGKl8JlHfi_Yg"/>
           <styles xsi:type="notation:BooleanValueStyle" xmi:id="_9hpxcHjZEeGKl8JlHfi_Yg"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_9hmuInjZEeGKl8JlHfi_Yg" x="114" y="209" width="96" height="61"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_9hmuInjZEeGKl8JlHfi_Yg" x="3" y="227" width="96" height="61"/>
         </children>
         <children xmi:id="_fwkwsMDlEeSuvthoVZyf5Q" type="State" element="_fwcN0MDlEeSuvthoVZyf5Q">
           <children xsi:type="notation:DecorationNode" xmi:id="_fwsFcMDlEeSuvthoVZyf5Q" type="StateName">
@@ -134,12 +170,225 @@
           <styles xsi:type="notation:ShapeStyle" xmi:id="_fwkwscDlEeSuvthoVZyf5Q" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
           <styles xsi:type="notation:FontStyle" xmi:id="_fwkwssDlEeSuvthoVZyf5Q"/>
           <styles xsi:type="notation:BooleanValueStyle" xmi:id="_fwvv0cDlEeSuvthoVZyf5Q" name="isHorizontal" booleanValue="true"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_fwkws8DlEeSuvthoVZyf5Q" x="59" y="477" width="231"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_fwkws8DlEeSuvthoVZyf5Q" x="-6" y="477" width="231"/>
         </children>
         <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4BYm0XjZEeGKl8JlHfi_Yg"/>
       </children>
       <styles xsi:type="notation:ShapeStyle" xmi:id="_4BWxoXjZEeGKl8JlHfi_Yg" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4BWxonjZEeGKl8JlHfi_Yg" x="485" y="10" width="326" height="676"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4BWxonjZEeGKl8JlHfi_Yg" x="320" y="15" width="356" height="676"/>
+    </children>
+    <children xmi:id="_aPd-YOKsEeS9Ecc_7JR_AQ" type="Region" element="_aPhBsOKsEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_aPd-YeKsEeS9Ecc_7JR_AQ" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_aPd-YuKsEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_aPd-Y-KsEeS9Ecc_7JR_AQ"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_aPd-ZOKsEeS9Ecc_7JR_AQ" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_aPd-ZeKsEeS9Ecc_7JR_AQ" type="Entry" element="_aPhBseKsEeS9Ecc_7JR_AQ">
+          <children xmi:id="_aPd-ZuKsEeS9Ecc_7JR_AQ" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_aPd-Z-KsEeS9Ecc_7JR_AQ" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_aPd-aOKsEeS9Ecc_7JR_AQ"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_aPd-aeKsEeS9Ecc_7JR_AQ"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_aPelcOKsEeS9Ecc_7JR_AQ" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPelceKsEeS9Ecc_7JR_AQ"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_aPelcuKsEeS9Ecc_7JR_AQ" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPelc-KsEeS9Ecc_7JR_AQ" x="48" y="2"/>
+        </children>
+        <children xmi:id="_aPeldOKsEeS9Ecc_7JR_AQ" type="State" element="_aPhowOKsEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_aPeldeKsEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_aPelduKsEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_aPeld-KsEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_aPeleOKsEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_aPeleeKsEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPeleuKsEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_aPele-KsEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_aPelfOKsEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_aPelfeKsEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_aPelfuKsEeS9Ecc_7JR_AQ"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPelf-KsEeS9Ecc_7JR_AQ" x="-6" y="72" width="111" height="66"/>
+        </children>
+        <children xmi:id="_aPelgOKsEeS9Ecc_7JR_AQ" type="State" element="_aPi24OKsEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_aPelgeKsEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_aPelguKsEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_aPelg-KsEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_aPelhOKsEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_aPelheKsEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPelhuKsEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_aPelh-KsEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_aPeliOKsEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_aPelieKsEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_aPeliuKsEeS9Ecc_7JR_AQ"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPeli-KsEeS9Ecc_7JR_AQ" x="-6" y="227" width="96" height="61"/>
+        </children>
+        <children xmi:id="_aPeljOKsEeS9Ecc_7JR_AQ" type="State" element="_aPkFAOKsEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_aPeljeKsEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_aPeljuKsEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_aPelj-KsEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_aPelkOKsEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_aPelkeKsEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPelkuKsEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_aPelk-KsEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_aPellOKsEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_aPelleKsEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_aPelluKsEeS9Ecc_7JR_AQ" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPell-KsEeS9Ecc_7JR_AQ" x="-6" y="477" width="231"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPelmOKsEeS9Ecc_7JR_AQ"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_aPelmeKsEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aPelmuKsEeS9Ecc_7JR_AQ" x="1355" y="15" width="356" height="676"/>
+    </children>
+    <children xmi:id="_88NqQOKsEeS9Ecc_7JR_AQ" type="Region" element="_88PfcOKsEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_88NqQeKsEeS9Ecc_7JR_AQ" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqQuKsEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_88NqQ-KsEeS9Ecc_7JR_AQ"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_88NqROKsEeS9Ecc_7JR_AQ" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_88NqReKsEeS9Ecc_7JR_AQ" type="Entry" element="_88PfceKsEeS9Ecc_7JR_AQ">
+          <children xmi:id="_88NqRuKsEeS9Ecc_7JR_AQ" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_88NqR-KsEeS9Ecc_7JR_AQ" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqSOKsEeS9Ecc_7JR_AQ"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_88NqSeKsEeS9Ecc_7JR_AQ"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqSuKsEeS9Ecc_7JR_AQ" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqS-KsEeS9Ecc_7JR_AQ"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqTOKsEeS9Ecc_7JR_AQ" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqTeKsEeS9Ecc_7JR_AQ" x="48" y="2"/>
+        </children>
+        <children xmi:id="_88NqTuKsEeS9Ecc_7JR_AQ" type="State" element="_88QGgOKsEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_88NqT-KsEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqUOKsEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_88NqUeKsEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_88NqUuKsEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_88NqU-KsEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqVOKsEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_88NqVeKsEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqVuKsEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_88NqV-KsEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_88NqWOKsEeS9Ecc_7JR_AQ"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqWeKsEeS9Ecc_7JR_AQ" x="-6" y="72" width="111" height="66"/>
+        </children>
+        <children xmi:id="_88NqWuKsEeS9Ecc_7JR_AQ" type="State" element="_88QtmOKsEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_88NqW-KsEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqXOKsEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_88NqXeKsEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_88NqXuKsEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_88NqX-KsEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqYOKsEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_88NqYeKsEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqYuKsEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_88NqY-KsEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_88NqZOKsEeS9Ecc_7JR_AQ"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqZeKsEeS9Ecc_7JR_AQ" x="-6" y="227" width="96" height="61"/>
+        </children>
+        <children xmi:id="_88NqZuKsEeS9Ecc_7JR_AQ" type="State" element="_88RUqOKsEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_88NqZ-KsEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqaOKsEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_88NqaeKsEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_88NqauKsEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_88Nqa-KsEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqbOKsEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_88NqbeKsEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_88NqbuKsEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_88Nqb-KsEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_88NqcOKsEeS9Ecc_7JR_AQ" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqceKsEeS9Ecc_7JR_AQ" x="-6" y="477" width="231"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88NqcuKsEeS9Ecc_7JR_AQ"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_88ORUOKsEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_88ORUeKsEeS9Ecc_7JR_AQ" x="1045" y="15" width="301" height="676"/>
+    </children>
+    <children xmi:id="_OPwOoeKtEeS9Ecc_7JR_AQ" type="Region" element="_OPxcwOKtEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_OPwOouKtEeS9Ecc_7JR_AQ" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOo-KtEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_OPwOpOKtEeS9Ecc_7JR_AQ"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_OPwOpeKtEeS9Ecc_7JR_AQ" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_OPwOpuKtEeS9Ecc_7JR_AQ" type="Entry" element="_OPxcweKtEeS9Ecc_7JR_AQ">
+          <children xmi:id="_OPwOp-KtEeS9Ecc_7JR_AQ" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_OPwOqOKtEeS9Ecc_7JR_AQ" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOqeKtEeS9Ecc_7JR_AQ"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_OPwOquKtEeS9Ecc_7JR_AQ"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOq-KtEeS9Ecc_7JR_AQ" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwOrOKtEeS9Ecc_7JR_AQ"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOreKtEeS9Ecc_7JR_AQ" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwOruKtEeS9Ecc_7JR_AQ" x="48" y="2"/>
+        </children>
+        <children xmi:id="_OPwOr-KtEeS9Ecc_7JR_AQ" type="State" element="_OPxcw-KtEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_OPwOsOKtEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOseKtEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_OPwOsuKtEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_OPwOs-KtEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_OPwOtOKtEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwOteKtEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_OPwOtuKtEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOt-KtEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_OPwOuOKtEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_OPwOueKtEeS9Ecc_7JR_AQ"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwOuuKtEeS9Ecc_7JR_AQ" x="-6" y="72" width="111" height="66"/>
+        </children>
+        <children xmi:id="_OPwOu-KtEeS9Ecc_7JR_AQ" type="State" element="_OPyD2eKtEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_OPwOvOKtEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOveKtEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_OPwOvuKtEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_OPwOv-KtEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_OPwOwOKtEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwOweKtEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_OPwOwuKtEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOw-KtEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_OPwOxOKtEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_OPwOxeKtEeS9Ecc_7JR_AQ"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwOxuKtEeS9Ecc_7JR_AQ" x="-6" y="227" width="96" height="61"/>
+        </children>
+        <children xmi:id="_OPwOx-KtEeS9Ecc_7JR_AQ" type="State" element="_OPyq6uKtEeS9Ecc_7JR_AQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_OPwOyOKtEeS9Ecc_7JR_AQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOyeKtEeS9Ecc_7JR_AQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_OPwOyuKtEeS9Ecc_7JR_AQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_OPwOy-KtEeS9Ecc_7JR_AQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_OPwOzOKtEeS9Ecc_7JR_AQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwOzeKtEeS9Ecc_7JR_AQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_OPwOzuKtEeS9Ecc_7JR_AQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwOz-KtEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_OPwO0OKtEeS9Ecc_7JR_AQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_OPwO0eKtEeS9Ecc_7JR_AQ" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwO0uKtEeS9Ecc_7JR_AQ" x="-6" y="477" width="231"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwO0-KtEeS9Ecc_7JR_AQ"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_OPwO1OKtEeS9Ecc_7JR_AQ" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OPwO1eKtEeS9Ecc_7JR_AQ" x="680" y="15" width="356" height="676"/>
     </children>
     <styles xsi:type="notation:DiagramStyle" xmi:id="_mYUwUXjXEeGKl8JlHfi_Yg"/>
     <edges xmi:id="_mYdTMHjXEeGKl8JlHfi_Yg" type="Transition" element="_mYcsIXjXEeGKl8JlHfi_Yg" source="_mYXMknjXEeGKl8JlHfi_Yg" target="_mYaP4HjXEeGKl8JlHfi_Yg">
@@ -159,27 +408,125 @@
       <styles xsi:type="notation:ConnectorStyle" xmi:id="_68GrgXjZEeGKl8JlHfi_Yg" lineColor="4210752"/>
       <styles xsi:type="notation:FontStyle" xmi:id="_68HSkHjZEeGKl8JlHfi_Yg" fontName="Verdana"/>
       <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_68GrgnjZEeGKl8JlHfi_Yg" points="[0, 8, 5, -44]$[0, 27, 5, -25]"/>
-      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_8mAokHjZEeGKl8JlHfi_Yg" id="(0.36036036036036034,0.07575757575757576)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_8mAokHjZEeGKl8JlHfi_Yg" id="(0.5495495495495496,0.045454545454545456)"/>
     </edges>
     <edges xmi:id="_-hO_IHjZEeGKl8JlHfi_Yg" type="Transition" element="_-hBjwHjZEeGKl8JlHfi_Yg" source="_48tmoHjZEeGKl8JlHfi_Yg" target="_9hmHEHjZEeGKl8JlHfi_Yg">
       <children xsi:type="notation:DecorationNode" xmi:id="_-hQNQHjZEeGKl8JlHfi_Yg" type="TransitionExpression">
         <styles xsi:type="notation:ShapeStyle" xmi:id="_-hQNQXjZEeGKl8JlHfi_Yg"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_-hQNQnjZEeGKl8JlHfi_Yg" x="2" y="-4"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_-hQNQnjZEeGKl8JlHfi_Yg" x="-3" y="-153"/>
       </children>
       <styles xsi:type="notation:ConnectorStyle" xmi:id="_-hO_IXjZEeGKl8JlHfi_Yg" lineColor="4210752"/>
       <styles xsi:type="notation:FontStyle" xmi:id="_-hPmMHjZEeGKl8JlHfi_Yg" fontName="Verdana"/>
       <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_-hO_InjZEeGKl8JlHfi_Yg" points="[26, 3, -70, 2]$[97, -15, 1, -16]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_-hrrEHjZEeGKl8JlHfi_Yg" id="(0.7567567567567568,0.30303030303030304)"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_-hrrEHjZEeGKl8JlHfi_Yg" id="(0.1891891891891892,0.8787878787878788)"/>
       <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_-hrrEXjZEeGKl8JlHfi_Yg" id="(0.17708333333333334,0.29508196721311475)"/>
     </edges>
     <edges xmi:id="_gGDRcMDlEeSuvthoVZyf5Q" type="Transition" element="_gF9K0MDlEeSuvthoVZyf5Q" source="_9hmHEHjZEeGKl8JlHfi_Yg" target="_fwkwsMDlEeSuvthoVZyf5Q">
       <children xsi:type="notation:DecorationNode" xmi:id="_gGFGoMDlEeSuvthoVZyf5Q" type="TransitionExpression">
         <styles xsi:type="notation:ShapeStyle" xmi:id="_gGFGocDlEeSuvthoVZyf5Q"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_gGFtsMDlEeSuvthoVZyf5Q" y="10"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_gGFtsMDlEeSuvthoVZyf5Q" x="-5" y="-153"/>
       </children>
       <styles xsi:type="notation:ConnectorStyle" xmi:id="_gGDRccDlEeSuvthoVZyf5Q" lineColor="4210752"/>
       <styles xsi:type="notation:FontStyle" xmi:id="_gGEfkMDlEeSuvthoVZyf5Q" fontName="Verdana"/>
       <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_gGDRcsDlEeSuvthoVZyf5Q" points="[-2, 28, 13, -259]$[-22, 311, -7, 24]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_85wooOKrEeS9Ecc_7JR_AQ" id="(0.21875,0.9344262295081968)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_8nTmsOKrEeS9Ecc_7JR_AQ" id="(0.1471861471861472,0.03773584905660377)"/>
+    </edges>
+    <edges xmi:id="_aPrZwOKsEeS9Ecc_7JR_AQ" type="Transition" element="_aPhBsuKsEeS9Ecc_7JR_AQ" source="_aPd-ZeKsEeS9Ecc_7JR_AQ" target="_aPeldOKsEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_aPrZweKsEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_aPrZwuKsEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_aPrZw-KsEeS9Ecc_7JR_AQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_aPrZxOKsEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_aPrZxeKsEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_aPrZxuKsEeS9Ecc_7JR_AQ" points="[0, 8, 5, -44]$[0, 27, 5, -25]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aPrZx-KsEeS9Ecc_7JR_AQ" id="(0.5495495495495496,0.045454545454545456)"/>
+    </edges>
+    <edges xmi:id="_aPsA0OKsEeS9Ecc_7JR_AQ" type="Transition" element="_aPhowuKsEeS9Ecc_7JR_AQ" source="_aPeldOKsEeS9Ecc_7JR_AQ" target="_aPelgOKsEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_aPsA0eKsEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_aPsA0uKsEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_aPsA0-KsEeS9Ecc_7JR_AQ" x="-3" y="-163"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_aPsA1OKsEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_aPsA1eKsEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_aPsA1uKsEeS9Ecc_7JR_AQ" points="[26, 3, -70, 2]$[97, -15, 1, -16]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aPsA1-KsEeS9Ecc_7JR_AQ" id="(0.1891891891891892,0.8787878787878788)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aPsA2OKsEeS9Ecc_7JR_AQ" id="(0.17708333333333334,0.29508196721311475)"/>
+    </edges>
+    <edges xmi:id="_aPsn4OKsEeS9Ecc_7JR_AQ" type="Transition" element="_aPi24uKsEeS9Ecc_7JR_AQ" source="_aPelgOKsEeS9Ecc_7JR_AQ" target="_aPeljOKsEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_aPsn4eKsEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_aPsn4uKsEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_aPsn4-KsEeS9Ecc_7JR_AQ" x="-5" y="-161"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_aPsn5OKsEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_aPsn5eKsEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_aPsn5uKsEeS9Ecc_7JR_AQ" points="[-2, 28, 13, -259]$[-22, 311, -7, 24]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aPsn5-KsEeS9Ecc_7JR_AQ" id="(0.21875,0.9344262295081968)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aPsn6OKsEeS9Ecc_7JR_AQ" id="(0.07792207792207792,0.07547169811320754)"/>
+    </edges>
+    <edges xmi:id="_88UX8OKsEeS9Ecc_7JR_AQ" type="Transition" element="_88PfcuKsEeS9Ecc_7JR_AQ" source="_88NqReKsEeS9Ecc_7JR_AQ" target="_88NqTuKsEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_88UX8eKsEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_88UX8uKsEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_88UX8-KsEeS9Ecc_7JR_AQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_88UX9OKsEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_88UX9eKsEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_88UX9uKsEeS9Ecc_7JR_AQ" points="[0, 8, 5, -44]$[0, 27, 5, -25]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_88UX9-KsEeS9Ecc_7JR_AQ" id="(0.5495495495495496,0.045454545454545456)"/>
+    </edges>
+    <edges xmi:id="_88U_AOKsEeS9Ecc_7JR_AQ" type="Transition" element="_88QGguKsEeS9Ecc_7JR_AQ" source="_88NqTuKsEeS9Ecc_7JR_AQ" target="_88NqWuKsEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_88U_AeKsEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_88U_AuKsEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_88U_A-KsEeS9Ecc_7JR_AQ" x="-5" y="-135"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_88U_BOKsEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_88U_BeKsEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_88U_BuKsEeS9Ecc_7JR_AQ" points="[26, 3, -70, 2]$[97, -15, 1, -16]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_88U_B-KsEeS9Ecc_7JR_AQ" id="(0.1891891891891892,0.8787878787878788)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_88U_COKsEeS9Ecc_7JR_AQ" id="(0.17708333333333334,0.29508196721311475)"/>
+    </edges>
+    <edges xmi:id="_88U_CeKsEeS9Ecc_7JR_AQ" type="Transition" element="_88QtmuKsEeS9Ecc_7JR_AQ" source="_88NqWuKsEeS9Ecc_7JR_AQ" target="_88NqZuKsEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_88U_CuKsEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_88U_C-KsEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_88U_DOKsEeS9Ecc_7JR_AQ" x="-5" y="-139"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_88U_DeKsEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_88U_DuKsEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_88U_D-KsEeS9Ecc_7JR_AQ" points="[-2, 28, 13, -259]$[-22, 311, -7, 24]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_88U_EOKsEeS9Ecc_7JR_AQ" id="(0.21875,0.9344262295081968)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_88U_EeKsEeS9Ecc_7JR_AQ" id="(0.07792207792207792,0.07547169811320754)"/>
+    </edges>
+    <edges xmi:id="_OP2VQOKtEeS9Ecc_7JR_AQ" type="Transition" element="_OPxcwuKtEeS9Ecc_7JR_AQ" source="_OPwOpuKtEeS9Ecc_7JR_AQ" target="_OPwOr-KtEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_OP2VQeKtEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_OP2VQuKtEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_OP2VQ-KtEeS9Ecc_7JR_AQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_OP2VROKtEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_OP2VReKtEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_OP2VRuKtEeS9Ecc_7JR_AQ" points="[0, 8, 5, -44]$[0, 27, 5, -25]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_OP2VR-KtEeS9Ecc_7JR_AQ" id="(0.5495495495495496,0.045454545454545456)"/>
+    </edges>
+    <edges xmi:id="_OP28UOKtEeS9Ecc_7JR_AQ" type="Transition" element="_OPyD0OKtEeS9Ecc_7JR_AQ" source="_OPwOr-KtEeS9Ecc_7JR_AQ" target="_OPwOu-KtEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_OP28UeKtEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_OP28UuKtEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_OP28U-KtEeS9Ecc_7JR_AQ" x="-5" y="-157"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_OP28VOKtEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_OP28VeKtEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_OP28VuKtEeS9Ecc_7JR_AQ" points="[26, 3, -70, 2]$[97, -15, 1, -16]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_OP28V-KtEeS9Ecc_7JR_AQ" id="(0.1891891891891892,0.8787878787878788)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_OP28WOKtEeS9Ecc_7JR_AQ" id="(0.17708333333333334,0.29508196721311475)"/>
+    </edges>
+    <edges xmi:id="_OP28WeKtEeS9Ecc_7JR_AQ" type="Transition" element="_OPyq4eKtEeS9Ecc_7JR_AQ" source="_OPwOu-KtEeS9Ecc_7JR_AQ" target="_OPwOx-KtEeS9Ecc_7JR_AQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_OP28WuKtEeS9Ecc_7JR_AQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_OP28W-KtEeS9Ecc_7JR_AQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_OP28XOKtEeS9Ecc_7JR_AQ" x="-5" y="-161"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_OP28XeKtEeS9Ecc_7JR_AQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_OP28XuKtEeS9Ecc_7JR_AQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_OP28X-KtEeS9Ecc_7JR_AQ" points="[-2, 28, 13, -259]$[-22, 311, -7, 24]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_OP28YOKtEeS9Ecc_7JR_AQ" id="(0.21875,0.9344262295081968)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_OP28YeKtEeS9Ecc_7JR_AQ" id="(0.07792207792207792,0.07547169811320754)"/>
     </edges>
   </notation:Diagram>
 </xmi:XMI>

+ 25 - 6
test-plugins/org.yakindu.sct.test.models/tests/ValuedEvents.sctunit

@@ -3,15 +3,34 @@ testgroup ValuedEvents for statechart ValuedEvents {
 		
 		enter
 		cycle
-		assert active(ValuedEvents.main_region.A)
-		assert active (ValuedEvents._region1.C)
-		assert myVar == 42
+//		assert active(ValuedEvents.main_region1.A)
+//		assert active (ValuedEvents.integer_region.C)
+//		assert active (ValuedEvents.string_region.C)
+//		assert active (ValuedEvents.boolean_region.C)
+//		assert active (ValuedEvents.real_region.C)
+//		assert myInt == 42
+//		assert myBool == true
+//		assert myReal == 10
+		assert myString == "sct"
+		
+		raise integerEvent : 23
+		raise booleanEvent : false
+		raise realEvent : 20
+		raise stringEvent : "tool"
 		
-		raise IntegerEvent : 23
 		cycle
+		assert active (ValuedEvents.integer_region.D)
+		assert active (ValuedEvents.string_region.D)
+		assert active (ValuedEvents.boolean_region.D)
+		assert active (ValuedEvents.real_region.D)
+		
+		assert myInt == 23
+		assert myBool == false
+		assert myReal == 20
+		assert myString == "tool"
+		
 		
-		assert active (ValuedEvents._region1.D)
-		assert myVar == 23
+
 		 
 	}
 }