Browse Source

fixed bug #1014 - "Initial Entry Action (hierarchical states)"

terfloth@itemis.de 11 years ago
parent
commit
1c1662dc23
25 changed files with 1016 additions and 77 deletions
  1. 35 0
      test-plugins/org.yakindu.sct.generator.c.test/gtests/DeepEntry/DeepEntry.cc
  2. 8 0
      test-plugins/org.yakindu.sct.generator.c.test/gtests/DeepEntry/DeepEntry.sgen
  3. 22 22
      test-plugins/org.yakindu.sct.generator.c.test/gtests/EntryChoice/EntryChoice.cc
  4. 8 8
      test-plugins/org.yakindu.sct.generator.c.test/gtests/EntryChoice/EntryChoice.sgen
  5. 8 0
      test-plugins/org.yakindu.sct.generator.c.test/model/test.sgen
  6. 4 4
      test-plugins/org.yakindu.sct.generator.c.test/test-gen/org/yakindu/sct/generator/c/test/AllTests.java
  7. 39 0
      test-plugins/org.yakindu.sct.generator.c.test/test-gen/org/yakindu/sct/generator/c/test/DeepEntry.java
  8. 39 39
      test-plugins/org.yakindu.sct.generator.c.test/test-gen/org/yakindu/sct/generator/c/test/EntryChoice.java
  9. 8 0
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/DeepEntryTest/DeepEntry.sgen
  10. 36 0
      test-plugins/org.yakindu.sct.generator.cpp.test/gtests/DeepEntryTest/DeepEntryTest.cc
  11. 9 1
      test-plugins/org.yakindu.sct.generator.cpp.test/model/test.sgen
  12. 1 1
      test-plugins/org.yakindu.sct.generator.cpp.test/test-gen/org/yakindu/sct/generator/cpp/test/AllTestsTest.java
  13. 39 0
      test-plugins/org.yakindu.sct.generator.cpp.test/test-gen/org/yakindu/sct/generator/cpp/test/DeepEntryTest.java
  14. 11 0
      test-plugins/org.yakindu.sct.generator.java.test/model/model.sgen
  15. 8 0
      test-plugins/org.yakindu.sct.generator.java.test/model/test.sgen
  16. 1 1
      test-plugins/org.yakindu.sct.generator.java.test/test-gen/org/yakindu/sct/generator/java/test/AllTestsTest.java
  17. 59 0
      test-plugins/org.yakindu.sct.generator.java.test/test-gen/org/yakindu/sct/generator/java/test/DeepEntryTest.java
  18. 8 0
      test-plugins/org.yakindu.sct.simulation.core.sexec.test/model/test.sgen
  19. 1 1
      test-plugins/org.yakindu.sct.simulation.core.sexec.test/test-gen/org/yakindu/sct/simulation/core/sexec/test/AllTestsTest.java
  20. 58 0
      test-plugins/org.yakindu.sct.simulation.core.sexec.test/test-gen/org/yakindu/sct/simulation/core/sexec/test/DeepEntryTest.java
  21. 2 0
      test-plugins/org.yakindu.sct.test.models/.settings/org.eclipse.core.resources.prefs
  22. 455 0
      test-plugins/org.yakindu.sct.test.models/testmodels/SCTUnit/DeepEntry.sct
  23. 128 0
      test-plugins/org.yakindu.sct.test.models/testmodels/validation/RegionCantBeEnteredUsingShallowHistory.sct
  24. 1 0
      test-plugins/org.yakindu.sct.test.models/tests/AllTests.sctunit
  25. 28 0
      test-plugins/org.yakindu.sct.test.models/tests/DeepEntry.sctunit

+ 35 - 0
test-plugins/org.yakindu.sct.generator.c.test/gtests/DeepEntry/DeepEntry.cc

@@ -0,0 +1,35 @@
+/**
+* Copyright (c) 2013 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
+*/
+#include <string>
+#include "gtest/gtest.h"
+#include "DeepEntry.h"
+
+TEST(StatemachineTest, enterToSubstate) {
+	DeepEntry handle;
+	deepEntry_init(&handle);
+	EXPECT_TRUE(deepEntryIface_get_x(&handle) == 0);
+	EXPECT_TRUE(deepEntryIface_get_y(&handle) == 0);
+	EXPECT_TRUE(deepEntryIface_get_z(&handle) == 0);
+	deepEntry_enter(&handle);
+	EXPECT_TRUE(deepEntryIface_get_x(&handle) == 1);
+	EXPECT_TRUE(deepEntryIface_get_y(&handle) == 1);
+	EXPECT_TRUE(deepEntryIface_get_z(&handle) == 2);
+	deepEntryIface_raise_e(&handle);
+	deepEntry_runCycle(&handle);
+	EXPECT_TRUE(deepEntry_isActive(&handle, DeepEntry_r2_B_r_BB));
+	deepEntryIface_raise_f(&handle);
+	deepEntry_runCycle(&handle);
+	EXPECT_TRUE(deepEntry_isActive(&handle, DeepEntry_r2_C));
+	deepEntryIface_raise_f(&handle);
+	deepEntry_runCycle(&handle);
+	EXPECT_TRUE(deepEntry_isActive(&handle, DeepEntry_r2_B_r_BB));
+	EXPECT_TRUE(deepEntryIface_get_y(&handle) == 1);
+}

+ 8 - 0
test-plugins/org.yakindu.sct.generator.c.test/gtests/DeepEntry/DeepEntry.sgen

@@ -0,0 +1,8 @@
+GeneratorModel for yakindu::c {
+	statechart DeepEntry {
+		feature Outlet {
+			targetProject = "gtests"
+			targetFolder = "DeepEntry"
+		}
+	}
+}

+ 22 - 22
test-plugins/org.yakindu.sct.generator.c.test/gtests/EntryChoice/EntryChoice.cc

@@ -1,22 +1,22 @@
-/**
-* Copyright (c) 2013 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
-*/
-#include <string>
-#include "gtest/gtest.h"
-#include "EntryChoice.h"
-
-TEST(StatemachineTest, EntryChoiceTest) {
-	EntryChoice handle;
-	entryChoice_init(&handle);
-	entryChoice_enter(&handle);
-	entryChoice_runCycle(&handle);
-	entryChoice_runCycle(&handle);
-	EXPECT_TRUE(entryChoice_isActive(&handle, EntryChoice_main_region_A));
-}
+/**
+* Copyright (c) 2013 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
+*/
+#include <string>
+#include "gtest/gtest.h"
+#include "EntryChoice.h"
+
+TEST(StatemachineTest, EntryChoiceTest) {
+	EntryChoice handle;
+	entryChoice_init(&handle);
+	entryChoice_enter(&handle);
+	entryChoice_runCycle(&handle);
+	entryChoice_runCycle(&handle);
+	EXPECT_TRUE(entryChoice_isActive(&handle, EntryChoice_main_region_A));
+}

+ 8 - 8
test-plugins/org.yakindu.sct.generator.c.test/gtests/EntryChoice/EntryChoice.sgen

@@ -1,8 +1,8 @@
-GeneratorModel for yakindu::c {
-	statechart EntryChoice {
-		feature Outlet {
-			targetProject = "gtests"
-			targetFolder = "EntryChoice"
-		}
-	}
-}
+GeneratorModel for yakindu::c {
+	statechart EntryChoice {
+		feature Outlet {
+			targetProject = "gtests"
+			targetFolder = "EntryChoice"
+		}
+	}
+}

+ 8 - 0
test-plugins/org.yakindu.sct.generator.c.test/model/test.sgen

@@ -72,6 +72,14 @@ GeneratorModel for sctunit::c {
 		}			
 	}
 	
+	test DeepEntry{
+		
+		feature Outlet{ 
+			targetProject = "org.yakindu.sct.generator.c.test" 
+			targetFolder = "test-gen"			
+		}			
+	}
+	
 	test EnterState{
 		
 		feature Outlet{ 

+ 4 - 4
test-plugins/org.yakindu.sct.generator.c.test/test-gen/org/yakindu/sct/generator/c/test/AllTests.java

@@ -16,9 +16,9 @@ import org.junit.runners.Suite.SuiteClasses;
 @RunWith(Suite.class)
 @SuiteClasses({AlwaysOncycle.class, AssignmentAsExpression.class,
 		BitExpressions.class, BooleanExpressions.class, Choice.class,
-		CKeywords.class, Declarations.class, DeepHistory.class,
-		EnterState.class, ExitOnSelfTransition.class, ExitState.class,
-		Guard.class, GuardedEntry.class, GuardedExit.class,
+		CKeywords.class, Declarations.class, DeepEntry.class,
+		DeepHistory.class, EnterState.class, ExitOnSelfTransition.class,
+		ExitState.class, Guard.class, GuardedEntry.class, GuardedExit.class,
 		HistoryWithoutInitialStep.class, InEventLifeCycle.class,
 		IntegerExpressions.class, InternalEventLifeCycle.class,
 		LogicalAndTests.class, LogicalOrTests.class,
@@ -28,6 +28,6 @@ import org.junit.runners.Suite.SuiteClasses;
 		StatechartLocalReactions.class, SimpleHierachy.class,
 		StateIsActive.class, STextKeywordsInStatesAndRegions.class,
 		StringExpressions.class, SyncFork.class, SyncJoin.class,
-		TransitionWithoutCondition.class, ValuedEvents.class})
+		TransitionWithoutCondition.class, ValuedEvents.class, EntryChoice.class})
 public class AllTests {
 }

+ 39 - 0
test-plugins/org.yakindu.sct.generator.c.test/test-gen/org/yakindu/sct/generator/c/test/DeepEntry.java

@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2013 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.c.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/DeepEntry/DeepEntry.cc", program = "gtests/DeepEntry/DeepEntry", model = "testmodels/SCTUnit/DeepEntry.sct")
+@RunWith(GTestRunner.class)
+public class DeepEntry {
+
+	protected final GTestHelper helper = new GTestHelper(this) {
+
+		@Override
+		protected void getSourceFiles(Collection<String> files) {
+			super.getSourceFiles(files);
+			files.add(getFileName(getTestProgram()) + ".c");
+		}
+	};
+
+	@Before
+	public void setUp() {
+		helper.generate();
+		helper.compile();
+	}
+}

+ 39 - 39
test-plugins/org.yakindu.sct.generator.c.test/test-gen/org/yakindu/sct/generator/c/test/EntryChoice.java

@@ -1,39 +1,39 @@
-/**
- * Copyright (c) 2013 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.c.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/EntryChoice/EntryChoice.cc", program = "gtests/EntryChoice/EntryChoice", model = "testmodels/SCTUnit/EntryChoice.sct")
-@RunWith(GTestRunner.class)
-public class EntryChoice {
-
-	protected final GTestHelper helper = new GTestHelper(this) {
-
-		@Override
-		protected void getSourceFiles(Collection<String> files) {
-			super.getSourceFiles(files);
-			files.add(getFileName(getTestProgram()) + ".c");
-		}
-	};
-
-	@Before
-	public void setUp() {
-		helper.generate();
-		helper.compile();
-	}
-}
+/**
+ * Copyright (c) 2013 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.c.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/EntryChoice/EntryChoice.cc", program = "gtests/EntryChoice/EntryChoice", model = "testmodels/SCTUnit/EntryChoice.sct")
+@RunWith(GTestRunner.class)
+public class EntryChoice {
+
+	protected final GTestHelper helper = new GTestHelper(this) {
+
+		@Override
+		protected void getSourceFiles(Collection<String> files) {
+			super.getSourceFiles(files);
+			files.add(getFileName(getTestProgram()) + ".c");
+		}
+	};
+
+	@Before
+	public void setUp() {
+		helper.generate();
+		helper.compile();
+	}
+}

+ 8 - 0
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/DeepEntryTest/DeepEntry.sgen

@@ -0,0 +1,8 @@
+GeneratorModel for yakindu::cpp {
+	statechart DeepEntry {
+		feature Outlet {
+			targetProject = "gtests"
+			targetFolder = "DeepEntryTest"
+		}
+	}
+}

+ 36 - 0
test-plugins/org.yakindu.sct.generator.cpp.test/gtests/DeepEntryTest/DeepEntryTest.cc

@@ -0,0 +1,36 @@
+/**
+* Copyright (c) 2013 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
+*/
+#include <string>
+#include "gtest/gtest.h"
+#include "DeepEntry.h"
+
+TEST(StatemachineTest, enterToSubstate) {
+	DeepEntry* statechart = new DeepEntry();
+	statechart->init();
+	EXPECT_TRUE(statechart->getSCInterface()->get_x()== 0);
+	EXPECT_TRUE(statechart->getSCInterface()->get_y()== 0);
+	EXPECT_TRUE(statechart->getSCInterface()->get_z()== 0);
+	statechart->enter();
+	EXPECT_TRUE(statechart->getSCInterface()->get_x()== 1);
+	EXPECT_TRUE(statechart->getSCInterface()->get_y()== 1);
+	EXPECT_TRUE(statechart->getSCInterface()->get_z()== 2);
+	statechart->raise_e();
+	statechart->runCycle();
+	EXPECT_TRUE(statechart->isActive(DeepEntry::DeepEntry_r2_B_r_BB));
+	statechart->raise_f();
+	statechart->runCycle();
+	EXPECT_TRUE(statechart->isActive(DeepEntry::DeepEntry_r2_C));
+	statechart->raise_f();
+	statechart->runCycle();
+	EXPECT_TRUE(statechart->isActive(DeepEntry::DeepEntry_r2_B_r_BB));
+	EXPECT_TRUE(statechart->getSCInterface()->get_y()== 1);
+	delete statechart;
+}

+ 9 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/model/test.sgen

@@ -64,7 +64,15 @@ GeneratorModel for sctunit::cpp {
 		}			
 	}
 	
-	test DeepHistory{
+	test DeepEntry {
+		
+		feature Outlet{ 
+			targetProject = "org.yakindu.sct.generator.cpp.test" 
+			targetFolder = "test-gen"			
+		}			
+	}
+	
+	test DeepHistory {
 		
 		feature Outlet{ 
 			targetProject = "org.yakindu.sct.generator.cpp.test" 

+ 1 - 1
test-plugins/org.yakindu.sct.generator.cpp.test/test-gen/org/yakindu/sct/generator/cpp/test/AllTestsTest.java

@@ -17,7 +17,7 @@ import org.junit.runners.Suite.SuiteClasses;
 @SuiteClasses({AlwaysOncycleTest.class, AssignmentAsExpressionTest.class,
 		BitExpressionsTest.class, BooleanExpressionsTest.class,
 		ChoiceTest.class, CKeywordsTest.class, DeclarationsTest.class,
-		DeepHistoryTest.class, EnterStateTest.class,
+		DeepEntryTest.class, DeepHistoryTest.class, EnterStateTest.class,
 		ExitOnSelfTransitionTest.class, ExitStateTest.class, GuardTest.class,
 		GuardedEntryTest.class, GuardedExitTest.class,
 		HistoryWithoutInitialStepTest.class, InEventLifeCycleTest.class,

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

@@ -0,0 +1,39 @@
+/**
+ * Copyright (c) 2013 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/DeepEntryTest/DeepEntryTest.cc", program = "gtests/DeepEntryTest/DeepEntry", model = "testmodels/SCTUnit/DeepEntry.sct")
+@RunWith(GTestRunner.class)
+public class DeepEntryTest {
+
+	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 - 0
test-plugins/org.yakindu.sct.generator.java.test/model/model.sgen

@@ -55,6 +55,17 @@ GeneratorModel for yakindu::java {
 			RuntimeService = true
 		}
 	}
+	statechart DeepEntry {
+		feature Outlet {
+			targetProject = "org.yakindu.sct.generator.java.test"
+			targetFolder = "src-gen"
+		}
+
+		feature GeneralFeatures {
+			TimerService = true
+			RuntimeService = true
+		}
+	}
 	statechart ExitOnSelfTransition {
 		feature Outlet {
 			targetProject = "org.yakindu.sct.generator.java.test"

+ 8 - 0
test-plugins/org.yakindu.sct.generator.java.test/model/test.sgen

@@ -72,6 +72,14 @@ GeneratorModel for sctunit::java {
 		}			
 	}
 	
+	test DeepEntry{
+		
+		feature Outlet{ 
+			targetProject = "org.yakindu.sct.generator.java.test" 
+			targetFolder = "test-gen"			
+		}			
+	}
+	
 	test EnterState{
 		
 		feature Outlet{ 

+ 1 - 1
test-plugins/org.yakindu.sct.generator.java.test/test-gen/org/yakindu/sct/generator/java/test/AllTestsTest.java

@@ -17,7 +17,7 @@ import org.junit.runners.Suite.SuiteClasses;
 @SuiteClasses({AlwaysOncycleTest.class, AssignmentAsExpressionTest.class,
 		BitExpressionsTest.class, BooleanExpressionsTest.class,
 		ChoiceTest.class, CKeywordsTest.class, DeclarationsTest.class,
-		DeepHistoryTest.class, EnterStateTest.class,
+		DeepEntryTest.class, DeepHistoryTest.class, EnterStateTest.class,
 		ExitOnSelfTransitionTest.class, ExitStateTest.class, GuardTest.class,
 		GuardedEntryTest.class, GuardedExitTest.class,
 		HistoryWithoutInitialStepTest.class, InEventLifeCycleTest.class,

+ 59 - 0
test-plugins/org.yakindu.sct.generator.java.test/test-gen/org/yakindu/sct/generator/java/test/DeepEntryTest.java

@@ -0,0 +1,59 @@
+/**
+ * Copyright (c) 2013 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.java.test;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+import static org.junit.Assert.*;
+import org.yakindu.scr.deepentry.DeepEntryStatemachine;
+import org.yakindu.scr.deepentry.DeepEntryStatemachine.State;
+/**
+ *  Unit TestCase for DeepEntry
+ */
+@SuppressWarnings("all")
+public class DeepEntryTest {
+
+	private DeepEntryStatemachine statemachine;
+
+	@Before
+	public void setUp() {
+		statemachine = new DeepEntryStatemachine();
+		statemachine.init();
+	}
+
+	@After
+	public void tearDown() {
+		statemachine = null;
+	}
+
+	@Test
+	public void testenterToSubstate() {
+		assertTrue(statemachine.getX() == 0);
+		assertTrue(statemachine.getY() == 0);
+		assertTrue(statemachine.getZ() == 0);
+		statemachine.enter();
+		assertTrue(statemachine.getX() == 1);
+		assertTrue(statemachine.getY() == 1);
+		assertTrue(statemachine.getZ() == 2);
+		statemachine.raiseE();
+		statemachine.runCycle();
+		assertTrue(statemachine.isStateActive(State.r2_B_r_BB));
+		statemachine.raiseF();
+		statemachine.runCycle();
+		assertTrue(statemachine.isStateActive(State.r2_C));
+		statemachine.raiseF();
+		statemachine.runCycle();
+		assertTrue(statemachine.isStateActive(State.r2_B_r_BB));
+		assertTrue(statemachine.getY() == 1);
+	}
+}

+ 8 - 0
test-plugins/org.yakindu.sct.simulation.core.sexec.test/model/test.sgen

@@ -64,6 +64,14 @@ GeneratorModel for sctunit::interpreter {
 		}			
 	}
 	
+	test DeepEntry {
+		
+		feature Outlet{ 
+			targetProject = "org.yakindu.sct.simulation.core.sexec.test" 
+			targetFolder = "test-gen"			
+		}			
+	}
+
 	test DeepHistory{
 		
 		feature Outlet{ 

+ 1 - 1
test-plugins/org.yakindu.sct.simulation.core.sexec.test/test-gen/org/yakindu/sct/simulation/core/sexec/test/AllTestsTest.java

@@ -18,7 +18,7 @@ import org.junit.runners.Suite.SuiteClasses;
 @SuiteClasses({AlwaysOncycleTest.class, AssignmentAsExpressionTest.class,
 		BitExpressionsTest.class, BooleanExpressionsTest.class,
 		ChoiceTest.class, CKeywordsTest.class, DeclarationsTest.class,
-		DeepHistoryTest.class, EnterStateTest.class,
+		DeepEntryTest.class, DeepHistoryTest.class, EnterStateTest.class,
 		ExitOnSelfTransitionTest.class, ExitStateTest.class, GuardTest.class,
 		GuardedEntryTest.class, GuardedExitTest.class,
 		HistoryWithoutInitialStepTest.class, InEventLifeCycleTest.class,

+ 58 - 0
test-plugins/org.yakindu.sct.simulation.core.sexec.test/test-gen/org/yakindu/sct/simulation/core/sexec/test/DeepEntryTest.java

@@ -0,0 +1,58 @@
+/**
+ * Copyright (c) 2013 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.simulation.core.sexec.test;
+import org.eclipse.xtext.junit4.InjectWith;
+import org.eclipse.xtext.junit4.XtextRunner;
+import org.junit.Before;
+import org.junit.Test;
+import org.junit.runner.RunWith;
+import org.yakindu.sct.model.sexec.ExecutionFlow;
+import org.yakindu.sct.model.sexec.interpreter.test.util.AbstractExecutionFlowTest;
+import org.yakindu.sct.model.sexec.interpreter.test.util.SExecInjectionProvider;
+import org.yakindu.sct.test.models.SCTUnitTestModels;
+import com.google.inject.Inject;
+import static org.junit.Assert.assertTrue;
+/**
+ *  Unit TestCase for DeepEntry
+ */
+@SuppressWarnings("all")
+@RunWith(XtextRunner.class)
+@InjectWith(SExecInjectionProvider.class)
+public class DeepEntryTest extends AbstractExecutionFlowTest {
+	@Inject
+	private SCTUnitTestModels models;
+	@Before
+	public void setup() throws Exception {
+		ExecutionFlow flow = models
+				.loadExecutionFlowFromResource("DeepEntry.sct");
+		initInterpreter(flow);
+	}
+	@Test
+	public void enterToSubstate() throws Exception {
+		assertTrue(getInteger("x") == 0);
+		assertTrue(getInteger("y") == 0);
+		assertTrue(getInteger("z") == 0);
+		interpreter.enter();
+		assertTrue(getInteger("x") == 1);
+		assertTrue(getInteger("y") == 1);
+		assertTrue(getInteger("z") == 2);
+		raiseEvent("e");
+		interpreter.runCycle();
+		assertTrue(isActive("BB"));
+		raiseEvent("f");
+		interpreter.runCycle();
+		assertTrue(isActive("C"));
+		raiseEvent("f");
+		interpreter.runCycle();
+		assertTrue(isActive("BB"));
+		assertTrue(getInteger("y") == 1);
+	}
+}

+ 2 - 0
test-plugins/org.yakindu.sct.test.models/.settings/org.eclipse.core.resources.prefs

@@ -2,6 +2,7 @@ eclipse.preferences.version=1
 encoding//testmodels/SCTUnit/AlwaysOncycle.sct=UTF-8
 encoding//testmodels/SCTUnit/AssignmentAsExpression.sct=UTF-8
 encoding//testmodels/SCTUnit/Declarations.sct=UTF-8
+encoding//testmodels/SCTUnit/DeepEntry.sct=UTF-8
 encoding//testmodels/SCTUnit/EnterState.sct=UTF-8
 encoding//testmodels/SCTUnit/ExitOnSelfTransition.sct=UTF-8
 encoding//testmodels/SCTUnit/ExitState.sct=UTF-8
@@ -18,4 +19,5 @@ encoding//testmodels/SCTUnit/STextKeywordsInStatesAndRegions.sct=UTF-8
 encoding//testmodels/SCTUnit/SyncJoin.sct=UTF-8
 encoding//testmodels/SCTUnit/TransitionWithoutCondition.sct=UTF-8
 encoding//testmodels/SCTUnit/VariableInitialization.sct=UTF-8
+encoding//testmodels/validation/RegionCantBeEnteredUsingShallowHistory.sct=UTF-8
 encoding/<project>=UTF-8

+ 455 - 0
test-plugins/org.yakindu.sct.test.models/testmodels/SCTUnit/DeepEntry.sct

@@ -0,0 +1,455 @@
+<?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="_SuelIGKOEeOiTYH8x8LGbA" specification="&#xA;&#xA;interface:&#xA;&#xA;&#x9;var x : integer&#xA;&#x9;var y : integer&#xA;&#x9;var z : integer&#xA;&#x9;&#xA;&#x9;in event e&#xA;&#x9;in event f" name="DeepEntry">
+    <regions xmi:id="_SufzQmKOEeOiTYH8x8LGbA" name="r">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_SulS0WKOEeOiTYH8x8LGbA">
+        <outgoingTransitions xmi:id="_SunvEWKOEeOiTYH8x8LGbA" target="_IZk7wPSOEeKTtv0EBPAdFQ"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_Sul552KOEeOiTYH8x8LGbA" specification="entry / x +=1" name="A">
+        <regions xmi:id="_bpPwQPR7EeKYZsO6tCRi-g" name="r">
+          <vertices xsi:type="sgraph:State" xmi:id="_IZk7wPSOEeKTtv0EBPAdFQ" name="B" incomingTransitions="_SunvEWKOEeOiTYH8x8LGbA"/>
+        </regions>
+      </vertices>
+    </regions>
+    <regions xmi:id="_Ze9S0GMwEeOAGKeh0b_g_Q" name="r2">
+      <vertices xsi:type="sgraph:State" xmi:id="_a9XxkGMwEeOAGKeh0b_g_Q" name="B" incomingTransitions="_eD9vEGMwEeOAGKeh0b_g_Q _fsd98GMwEeOAGKeh0b_g_Q">
+        <outgoingTransitions xmi:id="_e7bikGMwEeOAGKeh0b_g_Q" specification="f" target="_dOopkGMwEeOAGKeh0b_g_Q"/>
+        <regions xmi:id="_i1jOwGMwEeOAGKeh0b_g_Q" name="r">
+          <vertices xsi:type="sgraph:Entry" xmi:id="_k7UBYGMwEeOAGKeh0b_g_Q" kind="SHALLOW_HISTORY">
+            <outgoingTransitions xmi:id="_tGq5QGMwEeOAGKeh0b_g_Q" specification="" target="_sHkzwGMwEeOAGKeh0b_g_Q"/>
+          </vertices>
+          <vertices xsi:type="sgraph:State" xmi:id="_l978AGMwEeOAGKeh0b_g_Q" specification="entry / y += 1" name="BA">
+            <outgoingTransitions xmi:id="_pAlNoGMwEeOAGKeh0b_g_Q" specification="e" target="_nnTGgGMwEeOAGKeh0b_g_Q"/>
+            <regions xmi:id="_qqd8kGMwEeOAGKeh0b_g_Q" name="r">
+              <vertices xsi:type="sgraph:State" xmi:id="_sHkzwGMwEeOAGKeh0b_g_Q" name="BAA" incomingTransitions="_tGq5QGMwEeOAGKeh0b_g_Q _6l4gEGPjEeORN_IpOQXaDw"/>
+              <vertices xsi:type="sgraph:Entry" xmi:id="_4fR_8GPjEeORN_IpOQXaDw">
+                <outgoingTransitions xmi:id="_6l4gEGPjEeORN_IpOQXaDw" specification="" target="_sHkzwGMwEeOAGKeh0b_g_Q"/>
+              </vertices>
+            </regions>
+          </vertices>
+          <vertices xsi:type="sgraph:State" xmi:id="_nnTGgGMwEeOAGKeh0b_g_Q" name="BB" incomingTransitions="_pAlNoGMwEeOAGKeh0b_g_Q"/>
+        </regions>
+      </vertices>
+      <vertices xsi:type="sgraph:Entry" xmi:id="_clp-AGMwEeOAGKeh0b_g_Q">
+        <outgoingTransitions xmi:id="_eD9vEGMwEeOAGKeh0b_g_Q" specification="" target="_a9XxkGMwEeOAGKeh0b_g_Q"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_dOopkGMwEeOAGKeh0b_g_Q" name="C" incomingTransitions="_e7bikGMwEeOAGKeh0b_g_Q">
+        <outgoingTransitions xmi:id="_fsd98GMwEeOAGKeh0b_g_Q" specification="f" target="_a9XxkGMwEeOAGKeh0b_g_Q"/>
+      </vertices>
+    </regions>
+    <regions xmi:id="_nEJ5AGM3EeOhsLfk8ApLWQ" name="r3">
+      <vertices xsi:type="sgraph:State" xmi:id="_qQM-QGM3EeOhsLfk8ApLWQ" specification="entry / z += 1" name="D">
+        <regions xmi:id="_sZ2yYGM3EeOhsLfk8ApLWQ" name="r">
+          <vertices xsi:type="sgraph:State" xmi:id="_vTrfMGM3EeOhsLfk8ApLWQ" specification="entry / z += 1" name="DA">
+            <regions xmi:id="_bGR8UGM4EeOhsLfk8ApLWQ" name="r">
+              <vertices xsi:type="sgraph:State" xmi:id="_e7ONkGM4EeOhsLfk8ApLWQ" name="DAA" incomingTransitions="_ymLxwGM3EeOhsLfk8ApLWQ"/>
+            </regions>
+          </vertices>
+        </regions>
+      </vertices>
+      <vertices xsi:type="sgraph:Entry" xmi:id="_xUGe0GM3EeOhsLfk8ApLWQ" kind="DEEP_HISTORY">
+        <outgoingTransitions xmi:id="_ymLxwGM3EeOhsLfk8ApLWQ" specification="" target="_e7ONkGM4EeOhsLfk8ApLWQ"/>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_SufzQGKOEeOiTYH8x8LGbA" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_SuelIGKOEeOiTYH8x8LGbA" measurementUnit="Pixel">
+    <children xmi:id="_SuiPgGKOEeOiTYH8x8LGbA" type="Region" element="_SufzQmKOEeOiTYH8x8LGbA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_SukrwGKOEeOiTYH8x8LGbA" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_SukrwWKOEeOiTYH8x8LGbA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_SukrwmKOEeOiTYH8x8LGbA"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_Sukrw2KOEeOiTYH8x8LGbA" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_SulS0mKOEeOiTYH8x8LGbA" type="Entry" element="_SulS0WKOEeOiTYH8x8LGbA">
+          <children xmi:id="_Sul54GKOEeOiTYH8x8LGbA" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_Sul542KOEeOiTYH8x8LGbA" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_Sul55GKOEeOiTYH8x8LGbA"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_Sul55WKOEeOiTYH8x8LGbA"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_Sul54WKOEeOiTYH8x8LGbA" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Sul54mKOEeOiTYH8x8LGbA"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_SulS02KOEeOiTYH8x8LGbA" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Sul55mKOEeOiTYH8x8LGbA" x="193" y="161" width="15" height="15"/>
+        </children>
+        <children xmi:id="_Sumg8WKOEeOiTYH8x8LGbA" type="State" element="_Sul552KOEeOiTYH8x8LGbA">
+          <children xsi:type="notation:DecorationNode" xmi:id="_SunIAGKOEeOiTYH8x8LGbA" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_SunIAWKOEeOiTYH8x8LGbA"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_SunIAmKOEeOiTYH8x8LGbA"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_SunIA2KOEeOiTYH8x8LGbA" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_SunIBGKOEeOiTYH8x8LGbA" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_SunIBWKOEeOiTYH8x8LGbA"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_SunIBmKOEeOiTYH8x8LGbA" type="StateFigureCompartment">
+            <children xmi:id="_YynxQGMwEeOAGKeh0b_g_Q" type="Region" element="_bpPwQPR7EeKYZsO6tCRi-g">
+              <children xsi:type="notation:DecorationNode" xmi:id="_YynxQ2MwEeOAGKeh0b_g_Q" type="RegionName">
+                <styles xsi:type="notation:ShapeStyle" xmi:id="_YynxRGMwEeOAGKeh0b_g_Q"/>
+                <layoutConstraint xsi:type="notation:Location" xmi:id="_YynxRWMwEeOAGKeh0b_g_Q"/>
+              </children>
+              <children xsi:type="notation:Shape" xmi:id="_YyoYUGMwEeOAGKeh0b_g_Q" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                <children xmi:id="_YypmcGMwEeOAGKeh0b_g_Q" type="State" element="_IZk7wPSOEeKTtv0EBPAdFQ">
+                  <children xsi:type="notation:DecorationNode" xmi:id="_YypmdGMwEeOAGKeh0b_g_Q" type="StateName">
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_YypmdWMwEeOAGKeh0b_g_Q"/>
+                    <layoutConstraint xsi:type="notation:Location" xmi:id="_YypmdmMwEeOAGKeh0b_g_Q"/>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_Yypmd2MwEeOAGKeh0b_g_Q" type="StateTextCompartment">
+                    <children xsi:type="notation:Shape" xmi:id="_YyqNgGMwEeOAGKeh0b_g_Q" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_YyqNgWMwEeOAGKeh0b_g_Q"/>
+                    </children>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_YyqNgmMwEeOAGKeh0b_g_Q" type="StateFigureCompartment"/>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_YypmcWMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+                  <styles xsi:type="notation:FontStyle" xmi:id="_YypmcmMwEeOAGKeh0b_g_Q"/>
+                  <styles xsi:type="notation:BooleanValueStyle" xmi:id="_YyqNg2MwEeOAGKeh0b_g_Q" name="isHorizontal" booleanValue="true"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Yypmc2MwEeOAGKeh0b_g_Q"/>
+                </children>
+                <layoutConstraint xsi:type="notation:Bounds" xmi:id="_YyoYUWMwEeOAGKeh0b_g_Q"/>
+              </children>
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_YynxQWMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_YynxQmMwEeOAGKeh0b_g_Q"/>
+            </children>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_Sumg8mKOEeOiTYH8x8LGbA" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_Sumg82KOEeOiTYH8x8LGbA"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_SunIB2KOEeOiTYH8x8LGbA" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_SunvEGKOEeOiTYH8x8LGbA" x="40" y="80" width="106" height="143"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_SukrxGKOEeOiTYH8x8LGbA"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_SuiPgWKOEeOiTYH8x8LGbA" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_SulS0GKOEeOiTYH8x8LGbA" x="220" y="10" width="261" height="400"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_SupkQ2KOEeOiTYH8x8LGbA" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_SupkRWKOEeOiTYH8x8LGbA" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_SupkRmKOEeOiTYH8x8LGbA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_SupkR2KOEeOiTYH8x8LGbA"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_SuqLUGKOEeOiTYH8x8LGbA" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_SuqLUWKOEeOiTYH8x8LGbA"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_SuqLUmKOEeOiTYH8x8LGbA" x="10" y="10" width="200" height="400"/>
+    </children>
+    <children xmi:id="_Ze_IAGMwEeOAGKeh0b_g_Q" type="Region" element="_Ze9S0GMwEeOAGKeh0b_g_Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_Ze_vEGMwEeOAGKeh0b_g_Q" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_Ze_vEWMwEeOAGKeh0b_g_Q"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_Ze_vEmMwEeOAGKeh0b_g_Q"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_Ze_vE2MwEeOAGKeh0b_g_Q" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_a9Y_sGMwEeOAGKeh0b_g_Q" type="State" element="_a9XxkGMwEeOAGKeh0b_g_Q">
+          <children xsi:type="notation:DecorationNode" xmi:id="_a9Y_tGMwEeOAGKeh0b_g_Q" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_a9Y_tWMwEeOAGKeh0b_g_Q"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_a9Y_tmMwEeOAGKeh0b_g_Q"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_a9Y_t2MwEeOAGKeh0b_g_Q" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_a9Y_uGMwEeOAGKeh0b_g_Q" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_a9Y_uWMwEeOAGKeh0b_g_Q"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_a9ZmwGMwEeOAGKeh0b_g_Q" type="StateFigureCompartment">
+            <children xmi:id="_i1j10GMwEeOAGKeh0b_g_Q" type="Region" element="_i1jOwGMwEeOAGKeh0b_g_Q">
+              <children xsi:type="notation:DecorationNode" xmi:id="_i1j102MwEeOAGKeh0b_g_Q" type="RegionName">
+                <styles xsi:type="notation:ShapeStyle" xmi:id="_i1j11GMwEeOAGKeh0b_g_Q"/>
+                <layoutConstraint xsi:type="notation:Location" xmi:id="_i1j11WMwEeOAGKeh0b_g_Q"/>
+              </children>
+              <children xsi:type="notation:Shape" xmi:id="_i1kc4GMwEeOAGKeh0b_g_Q" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                <children xmi:id="_k7UocGMwEeOAGKeh0b_g_Q" type="Entry" element="_k7UBYGMwEeOAGKeh0b_g_Q">
+                  <children xmi:id="_k7VPgGMwEeOAGKeh0b_g_Q" type="BorderItemLabelContainer">
+                    <children xsi:type="notation:DecorationNode" xmi:id="_k7VPg2MwEeOAGKeh0b_g_Q" type="BorderItemLabel">
+                      <styles xsi:type="notation:ShapeStyle" xmi:id="_k7VPhGMwEeOAGKeh0b_g_Q"/>
+                      <layoutConstraint xsi:type="notation:Location" xmi:id="_k7VPhWMwEeOAGKeh0b_g_Q"/>
+                    </children>
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_k7VPgWMwEeOAGKeh0b_g_Q" fontName="Verdana" lineColor="4210752"/>
+                    <layoutConstraint xsi:type="notation:Bounds" xmi:id="_k7VPgmMwEeOAGKeh0b_g_Q"/>
+                  </children>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_k7UocWMwEeOAGKeh0b_g_Q" fontName="Verdana" lineColor="4210752"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_k7UocmMwEeOAGKeh0b_g_Q" x="187" y="134" width="15" height="15"/>
+                </children>
+                <children xmi:id="_l98jEGMwEeOAGKeh0b_g_Q" type="State" element="_l978AGMwEeOAGKeh0b_g_Q">
+                  <children xsi:type="notation:DecorationNode" xmi:id="_l99KIGMwEeOAGKeh0b_g_Q" type="StateName">
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_l99KIWMwEeOAGKeh0b_g_Q"/>
+                    <layoutConstraint xsi:type="notation:Location" xmi:id="_l99KImMwEeOAGKeh0b_g_Q"/>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_l99KI2MwEeOAGKeh0b_g_Q" type="StateTextCompartment">
+                    <children xsi:type="notation:Shape" xmi:id="_l99KJGMwEeOAGKeh0b_g_Q" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_l99KJWMwEeOAGKeh0b_g_Q"/>
+                    </children>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_l99xMGMwEeOAGKeh0b_g_Q" type="StateFigureCompartment">
+                    <children xmi:id="_qqejoGMwEeOAGKeh0b_g_Q" type="Region" element="_qqd8kGMwEeOAGKeh0b_g_Q">
+                      <children xsi:type="notation:DecorationNode" xmi:id="_qqejo2MwEeOAGKeh0b_g_Q" type="RegionName">
+                        <styles xsi:type="notation:ShapeStyle" xmi:id="_qqejpGMwEeOAGKeh0b_g_Q"/>
+                        <layoutConstraint xsi:type="notation:Location" xmi:id="_qqejpWMwEeOAGKeh0b_g_Q"/>
+                      </children>
+                      <children xsi:type="notation:Shape" xmi:id="_qqejpmMwEeOAGKeh0b_g_Q" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                        <children xmi:id="_sHmB4GMwEeOAGKeh0b_g_Q" type="State" element="_sHkzwGMwEeOAGKeh0b_g_Q">
+                          <children xsi:type="notation:DecorationNode" xmi:id="_sHmB5GMwEeOAGKeh0b_g_Q" type="StateName">
+                            <styles xsi:type="notation:ShapeStyle" xmi:id="_sHmB5WMwEeOAGKeh0b_g_Q"/>
+                            <layoutConstraint xsi:type="notation:Location" xmi:id="_sHmB5mMwEeOAGKeh0b_g_Q"/>
+                          </children>
+                          <children xsi:type="notation:Compartment" xmi:id="_sHmo8GMwEeOAGKeh0b_g_Q" type="StateTextCompartment">
+                            <children xsi:type="notation:Shape" xmi:id="_sHmo8WMwEeOAGKeh0b_g_Q" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+                              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_sHmo8mMwEeOAGKeh0b_g_Q"/>
+                            </children>
+                          </children>
+                          <children xsi:type="notation:Compartment" xmi:id="_sHmo82MwEeOAGKeh0b_g_Q" type="StateFigureCompartment"/>
+                          <styles xsi:type="notation:ShapeStyle" xmi:id="_sHmB4WMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+                          <styles xsi:type="notation:FontStyle" xmi:id="_sHmB4mMwEeOAGKeh0b_g_Q"/>
+                          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_sHmo9GMwEeOAGKeh0b_g_Q" name="isHorizontal" booleanValue="true"/>
+                          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_sHmB42MwEeOAGKeh0b_g_Q" x="9" y="3"/>
+                        </children>
+                        <children xmi:id="_4fT1IGPjEeORN_IpOQXaDw" type="Entry" element="_4fR_8GPjEeORN_IpOQXaDw">
+                          <children xmi:id="_4fT1I2PjEeORN_IpOQXaDw" type="BorderItemLabelContainer">
+                            <children xsi:type="notation:DecorationNode" xmi:id="_4fUcMGPjEeORN_IpOQXaDw" type="BorderItemLabel">
+                              <styles xsi:type="notation:ShapeStyle" xmi:id="_4fUcMWPjEeORN_IpOQXaDw"/>
+                              <layoutConstraint xsi:type="notation:Location" xmi:id="_4fUcMmPjEeORN_IpOQXaDw"/>
+                            </children>
+                            <styles xsi:type="notation:ShapeStyle" xmi:id="_4fT1JGPjEeORN_IpOQXaDw" fontName="Verdana" lineColor="4210752"/>
+                            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4fT1JWPjEeORN_IpOQXaDw"/>
+                          </children>
+                          <styles xsi:type="notation:ShapeStyle" xmi:id="_4fT1IWPjEeORN_IpOQXaDw" fontName="Verdana" lineColor="4210752"/>
+                          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_4fT1ImPjEeORN_IpOQXaDw" x="73" y="11"/>
+                        </children>
+                        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_qqejp2MwEeOAGKeh0b_g_Q"/>
+                      </children>
+                      <styles xsi:type="notation:ShapeStyle" xmi:id="_qqejoWMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_qqejomMwEeOAGKeh0b_g_Q"/>
+                    </children>
+                  </children>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_l98jEWMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+                  <styles xsi:type="notation:FontStyle" xmi:id="_l98jEmMwEeOAGKeh0b_g_Q"/>
+                  <styles xsi:type="notation:BooleanValueStyle" xmi:id="_l99xMWMwEeOAGKeh0b_g_Q" name="isHorizontal" booleanValue="true"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_l98jE2MwEeOAGKeh0b_g_Q" x="9" y="38" width="130" height="153"/>
+                </children>
+                <children xmi:id="_nnTtkGMwEeOAGKeh0b_g_Q" type="State" element="_nnTGgGMwEeOAGKeh0b_g_Q">
+                  <children xsi:type="notation:DecorationNode" xmi:id="_nnTtlGMwEeOAGKeh0b_g_Q" type="StateName">
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_nnTtlWMwEeOAGKeh0b_g_Q"/>
+                    <layoutConstraint xsi:type="notation:Location" xmi:id="_nnUUoGMwEeOAGKeh0b_g_Q"/>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_nnUUoWMwEeOAGKeh0b_g_Q" type="StateTextCompartment">
+                    <children xsi:type="notation:Shape" xmi:id="_nnUUomMwEeOAGKeh0b_g_Q" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_nnUUo2MwEeOAGKeh0b_g_Q"/>
+                    </children>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_nnUUpGMwEeOAGKeh0b_g_Q" type="StateFigureCompartment"/>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_nnTtkWMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+                  <styles xsi:type="notation:FontStyle" xmi:id="_nnTtkmMwEeOAGKeh0b_g_Q"/>
+                  <styles xsi:type="notation:BooleanValueStyle" xmi:id="_nnUUpWMwEeOAGKeh0b_g_Q" name="isHorizontal" booleanValue="true"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_nnTtk2MwEeOAGKeh0b_g_Q" x="177" y="50" width="40" height="53"/>
+                </children>
+                <layoutConstraint xsi:type="notation:Bounds" xmi:id="_i1kc4WMwEeOAGKeh0b_g_Q"/>
+              </children>
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_i1j10WMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_i1j10mMwEeOAGKeh0b_g_Q"/>
+            </children>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_a9Y_sWMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_a9Y_smMwEeOAGKeh0b_g_Q"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_a9ZmwWMwEeOAGKeh0b_g_Q" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_a9Y_s2MwEeOAGKeh0b_g_Q" x="16" y="75" width="255" height="266"/>
+        </children>
+        <children xmi:id="_clqlEGMwEeOAGKeh0b_g_Q" type="Entry" element="_clp-AGMwEeOAGKeh0b_g_Q">
+          <children xmi:id="_clrMIGMwEeOAGKeh0b_g_Q" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_clrMI2MwEeOAGKeh0b_g_Q" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_clrMJGMwEeOAGKeh0b_g_Q"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_clrMJWMwEeOAGKeh0b_g_Q"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_clrMIWMwEeOAGKeh0b_g_Q" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_clrMImMwEeOAGKeh0b_g_Q"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_clqlEWMwEeOAGKeh0b_g_Q" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_clqlEmMwEeOAGKeh0b_g_Q" x="60" y="3" width="15" height="15"/>
+        </children>
+        <children xmi:id="_dOp3sGMwEeOAGKeh0b_g_Q" type="State" element="_dOopkGMwEeOAGKeh0b_g_Q">
+          <children xsi:type="notation:DecorationNode" xmi:id="_dOqewGMwEeOAGKeh0b_g_Q" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_dOqewWMwEeOAGKeh0b_g_Q"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_dOqewmMwEeOAGKeh0b_g_Q"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_dOqew2MwEeOAGKeh0b_g_Q" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_dOqexGMwEeOAGKeh0b_g_Q" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_dOqexWMwEeOAGKeh0b_g_Q"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_dOqexmMwEeOAGKeh0b_g_Q" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_dOp3sWMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_dOp3smMwEeOAGKeh0b_g_Q"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_dOqex2MwEeOAGKeh0b_g_Q" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_dOp3s2MwEeOAGKeh0b_g_Q" x="314" y="119" width="40" height="53"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Ze_vFGMwEeOAGKeh0b_g_Q"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_Ze_IAWMwEeOAGKeh0b_g_Q" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Ze_IAmMwEeOAGKeh0b_g_Q" x="489" y="12" width="384" height="398"/>
+    </children>
+    <children xmi:id="_nEPYkGM3EeOhsLfk8ApLWQ" type="Region" element="_nEJ5AGM3EeOhsLfk8ApLWQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_nESb4GM3EeOhsLfk8ApLWQ" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_nESb4WM3EeOhsLfk8ApLWQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_nESb4mM3EeOhsLfk8ApLWQ"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_nETC8GM3EeOhsLfk8ApLWQ" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_qQOzcGM3EeOhsLfk8ApLWQ" type="State" element="_qQM-QGM3EeOhsLfk8ApLWQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_qQPagGM3EeOhsLfk8ApLWQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_qQPagWM3EeOhsLfk8ApLWQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_qQPagmM3EeOhsLfk8ApLWQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_qQPag2M3EeOhsLfk8ApLWQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_qQPahGM3EeOhsLfk8ApLWQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_qQPahWM3EeOhsLfk8ApLWQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_qQQBkGM3EeOhsLfk8ApLWQ" type="StateFigureCompartment">
+            <children xmi:id="_sZ3ZcGM3EeOhsLfk8ApLWQ" type="Region" element="_sZ2yYGM3EeOhsLfk8ApLWQ">
+              <children xsi:type="notation:DecorationNode" xmi:id="_sZ4AgGM3EeOhsLfk8ApLWQ" type="RegionName">
+                <styles xsi:type="notation:ShapeStyle" xmi:id="_sZ4AgWM3EeOhsLfk8ApLWQ"/>
+                <layoutConstraint xsi:type="notation:Location" xmi:id="_sZ4AgmM3EeOhsLfk8ApLWQ"/>
+              </children>
+              <children xsi:type="notation:Shape" xmi:id="_sZ4Ag2M3EeOhsLfk8ApLWQ" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                <children xmi:id="_vTsGQGM3EeOhsLfk8ApLWQ" type="State" element="_vTrfMGM3EeOhsLfk8ApLWQ">
+                  <children xsi:type="notation:DecorationNode" xmi:id="_vTstUGM3EeOhsLfk8ApLWQ" type="StateName">
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_vTstUWM3EeOhsLfk8ApLWQ"/>
+                    <layoutConstraint xsi:type="notation:Location" xmi:id="_vTstUmM3EeOhsLfk8ApLWQ"/>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_vTstU2M3EeOhsLfk8ApLWQ" type="StateTextCompartment">
+                    <children xsi:type="notation:Shape" xmi:id="_vTstVGM3EeOhsLfk8ApLWQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_vTstVWM3EeOhsLfk8ApLWQ"/>
+                    </children>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_vTtUYGM3EeOhsLfk8ApLWQ" type="StateFigureCompartment">
+                    <children xmi:id="_bGTKcGM4EeOhsLfk8ApLWQ" type="Region" element="_bGR8UGM4EeOhsLfk8ApLWQ">
+                      <children xsi:type="notation:DecorationNode" xmi:id="_bGTKc2M4EeOhsLfk8ApLWQ" type="RegionName">
+                        <styles xsi:type="notation:ShapeStyle" xmi:id="_bGTKdGM4EeOhsLfk8ApLWQ"/>
+                        <layoutConstraint xsi:type="notation:Location" xmi:id="_bGTKdWM4EeOhsLfk8ApLWQ"/>
+                      </children>
+                      <children xsi:type="notation:Shape" xmi:id="_bGTKdmM4EeOhsLfk8ApLWQ" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                        <children xmi:id="_e7O0oGM4EeOhsLfk8ApLWQ" type="State" element="_e7ONkGM4EeOhsLfk8ApLWQ">
+                          <children xsi:type="notation:DecorationNode" xmi:id="_e7PbsGM4EeOhsLfk8ApLWQ" type="StateName">
+                            <styles xsi:type="notation:ShapeStyle" xmi:id="_e7PbsWM4EeOhsLfk8ApLWQ"/>
+                            <layoutConstraint xsi:type="notation:Location" xmi:id="_e7PbsmM4EeOhsLfk8ApLWQ"/>
+                          </children>
+                          <children xsi:type="notation:Compartment" xmi:id="_e7Pbs2M4EeOhsLfk8ApLWQ" type="StateTextCompartment">
+                            <children xsi:type="notation:Shape" xmi:id="_e7PbtGM4EeOhsLfk8ApLWQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+                              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_e7PbtWM4EeOhsLfk8ApLWQ"/>
+                            </children>
+                          </children>
+                          <children xsi:type="notation:Compartment" xmi:id="_e7QCwGM4EeOhsLfk8ApLWQ" type="StateFigureCompartment"/>
+                          <styles xsi:type="notation:ShapeStyle" xmi:id="_e7O0oWM4EeOhsLfk8ApLWQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+                          <styles xsi:type="notation:FontStyle" xmi:id="_e7O0omM4EeOhsLfk8ApLWQ"/>
+                          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_e7QCwWM4EeOhsLfk8ApLWQ" name="isHorizontal" booleanValue="true"/>
+                          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_e7O0o2M4EeOhsLfk8ApLWQ" x="34" y="27"/>
+                        </children>
+                        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_bGTKd2M4EeOhsLfk8ApLWQ"/>
+                      </children>
+                      <styles xsi:type="notation:ShapeStyle" xmi:id="_bGTKcWM4EeOhsLfk8ApLWQ" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_bGTKcmM4EeOhsLfk8ApLWQ"/>
+                    </children>
+                  </children>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_vTsGQWM3EeOhsLfk8ApLWQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+                  <styles xsi:type="notation:FontStyle" xmi:id="_vTsGQmM3EeOhsLfk8ApLWQ"/>
+                  <styles xsi:type="notation:BooleanValueStyle" xmi:id="_vTtUYWM3EeOhsLfk8ApLWQ" name="isHorizontal" booleanValue="true"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_vTsGQ2M3EeOhsLfk8ApLWQ" x="31" y="-10" width="174" height="168"/>
+                </children>
+                <layoutConstraint xsi:type="notation:Bounds" xmi:id="_sZ4AhGM3EeOhsLfk8ApLWQ"/>
+              </children>
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_sZ3ZcWM3EeOhsLfk8ApLWQ" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_sZ3ZcmM3EeOhsLfk8ApLWQ"/>
+            </children>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_qQOzcWM3EeOhsLfk8ApLWQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_qQOzcmM3EeOhsLfk8ApLWQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_qQQBkWM3EeOhsLfk8ApLWQ" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_qQOzc2M3EeOhsLfk8ApLWQ" x="33" y="71" width="278" height="270"/>
+        </children>
+        <children xmi:id="_xUHs8GM3EeOhsLfk8ApLWQ" type="ShallowHistory" element="_xUGe0GM3EeOhsLfk8ApLWQ">
+          <children xmi:id="_xUI7EGM3EeOhsLfk8ApLWQ" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_xUI7E2M3EeOhsLfk8ApLWQ" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_xUI7FGM3EeOhsLfk8ApLWQ"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_xUI7FWM3EeOhsLfk8ApLWQ"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_xUI7EWM3EeOhsLfk8ApLWQ" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_xUI7EmM3EeOhsLfk8ApLWQ"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_xUHs8WM3EeOhsLfk8ApLWQ" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_xUHs8mM3EeOhsLfk8ApLWQ" x="265" y="39" width="15" height="15"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_nETC8WM3EeOhsLfk8ApLWQ"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_nEPYkWM3EeOhsLfk8ApLWQ" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_nEPYkmM3EeOhsLfk8ApLWQ" x="880" y="12" width="363" height="398"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_SufzQWKOEeOiTYH8x8LGbA"/>
+    <edges xmi:id="_YyspwGMwEeOAGKeh0b_g_Q" type="Transition" element="_SunvEWKOEeOiTYH8x8LGbA" source="_SulS0mKOEeOiTYH8x8LGbA" target="_YypmcGMwEeOAGKeh0b_g_Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_YytQ0GMwEeOAGKeh0b_g_Q" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_YytQ0WMwEeOAGKeh0b_g_Q"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_YytQ0mMwEeOAGKeh0b_g_Q" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_YyspwWMwEeOAGKeh0b_g_Q" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_Yyspw2MwEeOAGKeh0b_g_Q" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_YyspwmMwEeOAGKeh0b_g_Q" points="[-2, -2, 2, 2]$[-1, -1, 3, 3]"/>
+    </edges>
+    <edges xmi:id="_eD_kQGMwEeOAGKeh0b_g_Q" type="Transition" element="_eD9vEGMwEeOAGKeh0b_g_Q" source="_clqlEGMwEeOAGKeh0b_g_Q" target="_a9Y_sGMwEeOAGKeh0b_g_Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_eD_kRGMwEeOAGKeh0b_g_Q" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_eD_kRWMwEeOAGKeh0b_g_Q"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_eD_kRmMwEeOAGKeh0b_g_Q" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_eD_kQWMwEeOAGKeh0b_g_Q" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_eD_kQ2MwEeOAGKeh0b_g_Q" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_eD_kQmMwEeOAGKeh0b_g_Q" points="[3, 7, -41, -76]$[27, 83, -17, 0]"/>
+    </edges>
+    <edges xmi:id="_e7cwsGMwEeOAGKeh0b_g_Q" type="Transition" element="_e7bikGMwEeOAGKeh0b_g_Q" source="_a9Y_sGMwEeOAGKeh0b_g_Q" target="_dOp3sGMwEeOAGKeh0b_g_Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_e7cwtGMwEeOAGKeh0b_g_Q" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_e7cwtWMwEeOAGKeh0b_g_Q"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_e7dXwGMwEeOAGKeh0b_g_Q" x="-4" y="-13"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_e7cwsWMwEeOAGKeh0b_g_Q" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_e7cws2MwEeOAGKeh0b_g_Q" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_e7cwsmMwEeOAGKeh0b_g_Q" points="[18, -3, -152, 2]$[173, -16, 3, -11]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_e7iQQGMwEeOAGKeh0b_g_Q" id="(0.55,0.24528301886792453)"/>
+    </edges>
+    <edges xmi:id="_fselAGMwEeOAGKeh0b_g_Q" type="Transition" element="_fsd98GMwEeOAGKeh0b_g_Q" source="_dOp3sGMwEeOAGKeh0b_g_Q" target="_a9Y_sGMwEeOAGKeh0b_g_Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_fsfMEWMwEeOAGKeh0b_g_Q" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_fsfMEmMwEeOAGKeh0b_g_Q"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_fsfME2MwEeOAGKeh0b_g_Q" x="-21" y="7"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_fselAWMwEeOAGKeh0b_g_Q" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_fsfMEGMwEeOAGKeh0b_g_Q" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_fselAmMwEeOAGKeh0b_g_Q" points="[-17, 1, 152, -5]$[-166, 16, 3, 10]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_fshBQGMwEeOAGKeh0b_g_Q" id="(0.475,0.8113207547169812)"/>
+    </edges>
+    <edges xmi:id="_pAmbwGMwEeOAGKeh0b_g_Q" type="Transition" element="_pAlNoGMwEeOAGKeh0b_g_Q" source="_l98jEGMwEeOAGKeh0b_g_Q" target="_nnTtkGMwEeOAGKeh0b_g_Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_pAmbxGMwEeOAGKeh0b_g_Q" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_pAmbxWMwEeOAGKeh0b_g_Q"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_pAmbxmMwEeOAGKeh0b_g_Q" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_pAmbwWMwEeOAGKeh0b_g_Q" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_pAmbw2MwEeOAGKeh0b_g_Q" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_pAmbwmMwEeOAGKeh0b_g_Q" points="[18, 2, -54, 1]$[68, 25, -4, 24]"/>
+    </edges>
+    <edges xmi:id="_tGsHYGMwEeOAGKeh0b_g_Q" type="Transition" element="_tGq5QGMwEeOAGKeh0b_g_Q" source="_k7UocGMwEeOAGKeh0b_g_Q" target="_sHmB4GMwEeOAGKeh0b_g_Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_tGsHZGMwEeOAGKeh0b_g_Q" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_tGsHZWMwEeOAGKeh0b_g_Q"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_tGsHZmMwEeOAGKeh0b_g_Q" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_tGsHYWMwEeOAGKeh0b_g_Q" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_tGsHY2MwEeOAGKeh0b_g_Q" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_tGsHYmMwEeOAGKeh0b_g_Q" points="[2, 7, -51, -106]$[44, 137, -9, 24]"/>
+    </edges>
+    <edges xmi:id="_ymNm8GM3EeOhsLfk8ApLWQ" type="Transition" element="_ymLxwGM3EeOhsLfk8ApLWQ" source="_xUHs8GM3EeOhsLfk8ApLWQ" target="_e7O0oGM4EeOhsLfk8ApLWQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_ymOOAWM3EeOhsLfk8ApLWQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_ymOOAmM3EeOhsLfk8ApLWQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_ymOOA2M3EeOhsLfk8ApLWQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_ymNm8WM3EeOhsLfk8ApLWQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_ymOOAGM3EeOhsLfk8ApLWQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_ymNm8mM3EeOhsLfk8ApLWQ" points="[5, 6, -125, -147]$[130, 129, 0, -24]"/>
+    </edges>
+    <edges xmi:id="_6l5uMGPjEeORN_IpOQXaDw" type="Transition" element="_6l4gEGPjEeORN_IpOQXaDw" source="_4fT1IGPjEeORN_IpOQXaDw" target="_sHmB4GMwEeOAGKeh0b_g_Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_6l6VQWPjEeORN_IpOQXaDw" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_6l6VQmPjEeORN_IpOQXaDw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_6l6VQ2PjEeORN_IpOQXaDw" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_6l5uMWPjEeORN_IpOQXaDw" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_6l6VQGPjEeORN_IpOQXaDw" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_6l5uMmPjEeORN_IpOQXaDw" points="[-7, 3, 31, -19]$[-40, -2, -2, -24]"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 128 - 0
test-plugins/org.yakindu.sct.test.models/testmodels/validation/RegionCantBeEnteredUsingShallowHistory.sct

@@ -0,0 +1,128 @@
+<?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="_uNlRMGPkEeORN_IpOQXaDw" name="RegionCantBeEnteredUsingShallowHistory">
+    <regions xmi:id="_uNmfUmPkEeORN_IpOQXaDw" name="r">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_uNntcWPkEeORN_IpOQXaDw" kind="SHALLOW_HISTORY">
+        <outgoingTransitions xmi:id="_uNpio2PkEeORN_IpOQXaDw" target="_z5QakGPkEeORN_IpOQXaDw"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_uNoUhGPkEeORN_IpOQXaDw" name="A">
+        <regions xmi:id="_x78ZUGPkEeORN_IpOQXaDw" name="r">
+          <vertices xsi:type="sgraph:State" xmi:id="_z5QakGPkEeORN_IpOQXaDw" name="B" incomingTransitions="_uNpio2PkEeORN_IpOQXaDw"/>
+        </regions>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_uNmfUGPkEeORN_IpOQXaDw" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_uNlRMGPkEeORN_IpOQXaDw" measurementUnit="Pixel">
+    <children xmi:id="_uNmfU2PkEeORN_IpOQXaDw" type="Region" element="_uNmfUmPkEeORN_IpOQXaDw">
+      <children xsi:type="notation:DecorationNode" xmi:id="_uNnGYGPkEeORN_IpOQXaDw" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_uNnGYWPkEeORN_IpOQXaDw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_uNnGYmPkEeORN_IpOQXaDw"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_uNnGY2PkEeORN_IpOQXaDw" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_uNntcmPkEeORN_IpOQXaDw" type="Entry" element="_uNntcWPkEeORN_IpOQXaDw">
+          <children xmi:id="_uNntdWPkEeORN_IpOQXaDw" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_uNoUgGPkEeORN_IpOQXaDw" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_uNoUgWPkEeORN_IpOQXaDw"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_uNoUgmPkEeORN_IpOQXaDw"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_uNntdmPkEeORN_IpOQXaDw" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_uNntd2PkEeORN_IpOQXaDw"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_uNntc2PkEeORN_IpOQXaDw" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_uNoUg2PkEeORN_IpOQXaDw" x="33" y="5" width="15" height="15"/>
+        </children>
+        <children xmi:id="_uNoUhmPkEeORN_IpOQXaDw" type="State" element="_uNoUhGPkEeORN_IpOQXaDw">
+          <children xsi:type="notation:DecorationNode" xmi:id="_uNo7kGPkEeORN_IpOQXaDw" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_uNo7kWPkEeORN_IpOQXaDw"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_uNo7kmPkEeORN_IpOQXaDw"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_uNo7k2PkEeORN_IpOQXaDw" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_uNo7lGPkEeORN_IpOQXaDw" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_uNo7lWPkEeORN_IpOQXaDw"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_uNpioGPkEeORN_IpOQXaDw" type="StateFigureCompartment">
+            <children xmi:id="_x79AYGPkEeORN_IpOQXaDw" type="Region" element="_x78ZUGPkEeORN_IpOQXaDw">
+              <children xsi:type="notation:DecorationNode" xmi:id="_x79ncGPkEeORN_IpOQXaDw" type="RegionName">
+                <styles xsi:type="notation:ShapeStyle" xmi:id="_x79ncWPkEeORN_IpOQXaDw"/>
+                <layoutConstraint xsi:type="notation:Location" xmi:id="_x79ncmPkEeORN_IpOQXaDw"/>
+              </children>
+              <children xsi:type="notation:Shape" xmi:id="_x79nc2PkEeORN_IpOQXaDw" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                <children xmi:id="_z5SPwGPkEeORN_IpOQXaDw" type="State" element="_z5QakGPkEeORN_IpOQXaDw">
+                  <children xsi:type="notation:DecorationNode" xmi:id="_z5S20GPkEeORN_IpOQXaDw" type="StateName">
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_z5S20WPkEeORN_IpOQXaDw"/>
+                    <layoutConstraint xsi:type="notation:Location" xmi:id="_z5S20mPkEeORN_IpOQXaDw"/>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_z5S202PkEeORN_IpOQXaDw" type="StateTextCompartment">
+                    <children xsi:type="notation:Shape" xmi:id="_z5S21GPkEeORN_IpOQXaDw" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_z5S21WPkEeORN_IpOQXaDw"/>
+                    </children>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_z5UE8GPkEeORN_IpOQXaDw" type="StateFigureCompartment"/>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_z5SPwWPkEeORN_IpOQXaDw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+                  <styles xsi:type="notation:FontStyle" xmi:id="_z5SPwmPkEeORN_IpOQXaDw"/>
+                  <styles xsi:type="notation:BooleanValueStyle" xmi:id="_z5UE8WPkEeORN_IpOQXaDw" name="isHorizontal" booleanValue="true"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_z5SPw2PkEeORN_IpOQXaDw" x="64" y="11"/>
+                </children>
+                <children xsi:type="notation:Shape" xmi:id="_8lBQ0GPkEeORN_IpOQXaDw" type="Note" fontName="Verdana" description="but we need an initial entry here ..." fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+                  <children xsi:type="notation:BasicDecorationNode" xmi:id="_8lB34GPkEeORN_IpOQXaDw" type="DiagramName">
+                    <element xsi:nil="true"/>
+                  </children>
+                  <children xsi:type="notation:BasicDecorationNode" xmi:id="_8lB34WPkEeORN_IpOQXaDw" type="Description">
+                    <element xsi:nil="true"/>
+                  </children>
+                  <styles xsi:type="notation:TextStyle" xmi:id="_8lBQ0WPkEeORN_IpOQXaDw"/>
+                  <styles xsi:type="notation:LineTypeStyle" xmi:id="_8lBQ0mPkEeORN_IpOQXaDw"/>
+                  <element xsi:nil="true"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_8lBQ02PkEeORN_IpOQXaDw" x="8" y="75" height="27"/>
+                </children>
+                <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x79ndGPkEeORN_IpOQXaDw"/>
+              </children>
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_x79AYWPkEeORN_IpOQXaDw" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x79AYmPkEeORN_IpOQXaDw"/>
+            </children>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_uNoUh2PkEeORN_IpOQXaDw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_uNoUiGPkEeORN_IpOQXaDw"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_uNpioWPkEeORN_IpOQXaDw" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_uNpiomPkEeORN_IpOQXaDw" x="40" y="80" width="225" height="187"/>
+        </children>
+        <children xsi:type="notation:Shape" xmi:id="_3c78sGPkEeORN_IpOQXaDw" type="Note" fontName="Verdana" description="Tthis kind of entry is allowed .." fillColor="13369343" transparency="0" lineColor="6737151" lineWidth="1">
+          <children xsi:type="notation:BasicDecorationNode" xmi:id="_3c8jwGPkEeORN_IpOQXaDw" type="DiagramName">
+            <element xsi:nil="true"/>
+          </children>
+          <children xsi:type="notation:BasicDecorationNode" xmi:id="_3c9K0GPkEeORN_IpOQXaDw" type="Description">
+            <element xsi:nil="true"/>
+          </children>
+          <styles xsi:type="notation:TextStyle" xmi:id="_3c78sWPkEeORN_IpOQXaDw"/>
+          <styles xsi:type="notation:LineTypeStyle" xmi:id="_3c78smPkEeORN_IpOQXaDw"/>
+          <element xsi:nil="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_3c78s2PkEeORN_IpOQXaDw" x="57" y="25" width="158" height="26"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_uNnGZGPkEeORN_IpOQXaDw"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_uNmfVGPkEeORN_IpOQXaDw" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_uNntcGPkEeORN_IpOQXaDw" x="220" y="10" width="400" height="400"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_uNqJtmPkEeORN_IpOQXaDw" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_uNqwwGPkEeORN_IpOQXaDw" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_uNqwwWPkEeORN_IpOQXaDw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_uNqwwmPkEeORN_IpOQXaDw"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_uNqww2PkEeORN_IpOQXaDw" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_uNqwxGPkEeORN_IpOQXaDw"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_uNqwxWPkEeORN_IpOQXaDw" x="10" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_uNmfUWPkEeORN_IpOQXaDw"/>
+    <edges xmi:id="_uNpipGPkEeORN_IpOQXaDw" type="Transition" element="_uNpio2PkEeORN_IpOQXaDw" source="_uNntcmPkEeORN_IpOQXaDw" target="_z5SPwGPkEeORN_IpOQXaDw">
+      <children xsi:type="notation:DecorationNode" xmi:id="_uNqJs2PkEeORN_IpOQXaDw" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_uNqJtGPkEeORN_IpOQXaDw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_uNqJtWPkEeORN_IpOQXaDw" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_uNqJsGPkEeORN_IpOQXaDw" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_uNqJsmPkEeORN_IpOQXaDw" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_uNqJsWPkEeORN_IpOQXaDw" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 1 - 0
test-plugins/org.yakindu.sct.test.models/tests/AllTests.sctunit

@@ -6,6 +6,7 @@ testsuite AllTests {
 	Choice, 
 	CKeywords,
 	Declarations, 
+	DeepEntry,
 	DeepHistory,
 	EnterState, 
 	ExitOnSelfTransition, 

+ 28 - 0
test-plugins/org.yakindu.sct.test.models/tests/DeepEntry.sctunit

@@ -0,0 +1,28 @@
+
+
+testgroup DeepEntry for statechart DeepEntry {
+	
+	test enterToSubstate {
+		
+		assert x == 0
+		assert y == 0
+		assert z == 0
+		enter
+		assert x == 1
+		assert y == 1
+		assert z == 2
+		
+		raise e
+		cycle
+		assert active ( DeepEntry.r2.B.r.BB )
+
+		raise f
+		cycle
+		assert active ( DeepEntry.r2.C )
+		
+		raise f
+		cycle
+		assert active ( DeepEntry.r2.B.r.BB )
+		assert y == 1
+	}
+}