Преглед изворни кода

Refactoring of entry and exit point tests.

markus.muehlbrandt@gmail.com пре 12 година
родитељ
комит
83741a7bdf

+ 80 - 6
plugins/org.yakindu.sct.model.stext/src/org/yakindu/sct/model/stext/validation/STextValidationModelUtils.java

@@ -13,6 +13,7 @@ package org.yakindu.sct.model.stext.validation;
 
 import java.util.ArrayList;
 import java.util.HashMap;
+import java.util.Iterator;
 import java.util.List;
 import java.util.Map;
 
@@ -146,12 +147,17 @@ public final class STextValidationModelUtils {
 		for (Region region : elements) {
 			boolean hasDefaultExit = false;
 			final List<Exit> exits = getExits(region.eContents());
-			for (Exit exit : exits) {
-				if (isDefault(exit)) {
-					hasDefaultExit = true;
-					break;
+			if (!exits.isEmpty()) {
+				for (Exit exit : exits) {
+					if (isDefault(exit)) {
+						hasDefaultExit = true;
+						break;
+					}
 				}
+			} else {
+				hasDefaultExit = true;
 			}
+
 			if (!hasDefaultExit) {
 				regions.put(region, exits);
 			}
@@ -174,7 +180,76 @@ public final class STextValidationModelUtils {
 						.getName().equalsIgnoreCase("default")));
 	}
 
-	// SGRAPH
+	/**
+	 * Validates if the a {@link Transition} has an {@link ExitPointSpec} with
+	 * the given name.
+	 * 
+	 * @param transition
+	 *            - the transition to check
+	 * @param name
+	 *            - the name to check
+	 * @return {@code true} if the transition contains an ExitPointSpec with the
+	 *         name. Otherwise {@code false}.
+	 */
+	public static boolean isNamedExitTransition(Transition transition,
+			String name) {
+
+		boolean isNamedExitTransition = false;
+
+		Iterator<ReactionProperty> propertyIt = transition.getProperties()
+				.iterator();
+
+		while (propertyIt.hasNext() && !isNamedExitTransition) {
+
+			ReactionProperty property = propertyIt.next();
+
+			if (property instanceof ExitPointSpec) {
+
+				isNamedExitTransition = name.equals(((ExitPointSpec) property)
+						.getExitpoint());
+			}
+		}
+
+		return isNamedExitTransition;
+	}
+
+	public static boolean isDefaultExitTransition(Transition transition) {
+		boolean isDefault = false;
+		List<ExitPointSpec> exits = getExitPointSpecs(transition
+				.getProperties());
+		if (!exits.isEmpty()) {
+			for (ExitPointSpec exit : exits) {
+				if (exit.getExitpoint().equalsIgnoreCase("default")) {
+					isDefault = true;
+				}
+			}
+		} else {
+			isDefault = true;
+		}
+
+		return isDefault;
+	}
+
+	/**
+	 * Filters the given list of {@link ReactionProperty} to return only a list
+	 * of {@link ExitPointSpec}.
+	 * 
+	 * @param elements
+	 * 			- list of ReactionProperties
+	 * @return
+	 * 		A list of ExitPointSpecs.
+	 */
+	public static List<ExitPointSpec> getExitPointSpecs(
+			List<ReactionProperty> elements) {
+		List<ExitPointSpec> exits = new ArrayList<ExitPointSpec>();
+		for (ReactionProperty element : elements) {
+			if (element instanceof ExitPointSpec) {
+				exits.add((ExitPointSpec) element);
+			}
+		}
+		return exits;
+	}
+
 	private static List<Entry> getEntries(List<EObject> elements) {
 		List<Entry> entries = new ArrayList<Entry>();
 		for (EObject element : elements) {
@@ -185,7 +260,6 @@ public final class STextValidationModelUtils {
 		return entries;
 	}
 
-	// SGRAPH
 	private static List<Exit> getExits(List<EObject> elements) {
 		List<Exit> exits = new ArrayList<Exit>();
 		for (EObject element : elements) {

+ 80 - 83
test-plugins/org.yakindu.sct.model.stext.test/src/org/yakindu/sct/model/stext/test/STextJavaValidatorTest.java

@@ -15,6 +15,9 @@ import static org.eclipse.xtext.junit4.validation.AssertableDiagnostics.errorCod
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNotNull;
 import static org.junit.Assert.assertTrue;
+import static org.yakindu.sct.model.stext.validation.STextJavaValidator.ENTRY_UNUSED;
+import static org.yakindu.sct.model.stext.validation.STextJavaValidator.EXIT_DEFAULT_UNUSED;
+import static org.yakindu.sct.model.stext.validation.STextJavaValidator.EXIT_UNUSED;
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.FEATURE_CALL_HAS_NO_EFFECT;
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.FEATURE_CALL_TO_SCOPE;
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.IN_OUT_DECLARATIONS;
@@ -22,13 +25,11 @@ import static org.yakindu.sct.model.stext.validation.STextJavaValidator.LOCAL_DE
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.LOCAL_REACTIONS_NOT_ALLOWED;
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.ONLY_ONE_INTERFACE;
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.REGION_UNBOUND_DEFAULT_ENTRY_POINT;
-import static org.yakindu.sct.model.stext.validation.STextJavaValidator.REGION_UNBOUND_DEFAULT_EXIT_POINT;
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.TRANSITION_ENTRY_SPEC_NOT_COMPOSITE;
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.TRANSITION_EXIT_SPEC_NOT_COMPOSITE;
+import static org.yakindu.sct.model.stext.validation.STextJavaValidator.TRANSITION_EXIT_SPEC_ON_MULTIPLE_SIBLINGS;
+import static org.yakindu.sct.model.stext.validation.STextJavaValidator.TRANSITION_NOT_EXISTING_NAMED_EXIT_POINT;
 import static org.yakindu.sct.model.stext.validation.STextJavaValidator.TRANSITION_UNBOUND_DEFAULT_ENTRY_POINT;
-import static org.yakindu.sct.model.stext.validation.STextJavaValidator.TRANSITION_UNBOUND_DEFAULT_EXIT_POINT;
-import static org.yakindu.sct.model.stext.validation.STextJavaValidator.ENTRY_UNUSED;
-import static org.yakindu.sct.model.stext.validation.STextJavaValidator.EXIT_UNUSED;
 
 import java.lang.reflect.Method;
 import java.util.HashMap;
@@ -385,116 +386,128 @@ public class STextJavaValidatorTest extends AbstractSTextTest {
 	}
 
 	@Test
-	public void checkTransitionSpecOnAtomicState() {
+	public void checkUnusedEntry() {
 		BasicDiagnostic diagnostics = new BasicDiagnostic();
 		Statechart statechart = AbstractTestModelsUtil
-				.loadStatechart("TransitionEntrySpecOnAtomicState.sct");
+				.loadStatechart("UnusedEntryPoint.sct");
 		Iterator<EObject> iter = statechart.eAllContents();
 		while (iter.hasNext()) {
 			EObject element = iter.next();
-			if (element instanceof Transition) {
-				assertTrue(validator.validate(element, diagnostics,
-						new HashMap<Object, Object>()));
+			if (element instanceof Entry) {
+				validator.validate(element, diagnostics,
+						new HashMap<Object, Object>());
 			}
 		}
 
 		assertIssueCount(diagnostics, 1);
-		assertWarning(diagnostics, TRANSITION_ENTRY_SPEC_NOT_COMPOSITE);
+		assertWarning(diagnostics, ENTRY_UNUSED);
 	}
 
 	@Test
-	public void checkTransitionExitSpecOnAtomicState() {
+	public void checkUnusedExit() {
 		BasicDiagnostic diagnostics = new BasicDiagnostic();
 		Statechart statechart = AbstractTestModelsUtil
-				.loadStatechart("TransitionExitSpecOnAtomicState.sct");
+				.loadStatechart("UnusedExitPoint.sct");
 		Iterator<EObject> iter = statechart.eAllContents();
 		while (iter.hasNext()) {
 			EObject element = iter.next();
-			if (element instanceof Transition) {
-				assertTrue(validator.validate(element, diagnostics,
-						new HashMap<Object, Object>()));
+			if (element instanceof Exit) {
+				validator.validate(element, diagnostics,
+						new HashMap<Object, Object>());
 			}
 		}
 
 		assertIssueCount(diagnostics, 1);
-		assertWarning(diagnostics, TRANSITION_EXIT_SPEC_NOT_COMPOSITE);
-	}
+		assertError(diagnostics, EXIT_UNUSED);
 
-	@Test
-	public void checkUnboundEntryPoints() {
-		BasicDiagnostic diagnostics = new BasicDiagnostic();
-		Statechart statechart = AbstractTestModelsUtil
-				.loadStatechart("UnboundEntryPoints01.sct");
-		Iterator<EObject> iter = statechart.eAllContents();
+		diagnostics = new BasicDiagnostic();
+		statechart = AbstractTestModelsUtil
+				.loadStatechart("UnusedDefaultExitPoint.sct");
+		iter = statechart.eAllContents();
 		while (iter.hasNext()) {
 			EObject element = iter.next();
-			if (element instanceof Transition) {
-				validator.validate(element, diagnostics,
-						new HashMap<Object, Object>());
-			}
-			if (element instanceof State) {
+			if (element instanceof Exit) {
 				validator.validate(element, diagnostics,
 						new HashMap<Object, Object>());
 			}
 		}
 
-		assertIssueCount(diagnostics, 4);
-		assertError(diagnostics, TRANSITION_UNBOUND_DEFAULT_ENTRY_POINT);
-		assertError(diagnostics, REGION_UNBOUND_DEFAULT_ENTRY_POINT);
+		assertIssueCount(diagnostics, 1);
+		assertError(diagnostics, EXIT_DEFAULT_UNUSED);
 	}
 
 	@Test
-	public void checkUnboundEntryPointsPartTwo() {
+	public void checkTransitionPropertySpec() {
+		// Test source state isn't composite
 		BasicDiagnostic diagnostics = new BasicDiagnostic();
 		Statechart statechart = AbstractTestModelsUtil
-				.loadStatechart("UnboundEntryPoints02.sct");
+				.loadStatechart("TransitionEntrySpecNotComposite.sct");
 		Iterator<EObject> iter = statechart.eAllContents();
-
 		while (iter.hasNext()) {
 			EObject element = iter.next();
 			if (element instanceof Transition) {
-				validator.validate(element, diagnostics,
-						new HashMap<Object, Object>());
+				assertTrue(validator.validate(element, diagnostics,
+						new HashMap<Object, Object>()));
 			}
-			if (element instanceof State) {
-				validator.validate(element, diagnostics,
-						new HashMap<Object, Object>());
+		}
+		// Test target state isn't composite
+		assertIssueCount(diagnostics, 1);
+		assertWarning(diagnostics, TRANSITION_ENTRY_SPEC_NOT_COMPOSITE);
+
+		diagnostics = new BasicDiagnostic();
+		statechart = AbstractTestModelsUtil
+				.loadStatechart("TransitionExitSpecNotComposite.sct");
+		iter = statechart.eAllContents();
+		while (iter.hasNext()) {
+			EObject element = iter.next();
+			if (element instanceof Transition) {
+				assertTrue(validator.validate(element, diagnostics,
+						new HashMap<Object, Object>()));
 			}
 		}
 
-		assertIssueCount(diagnostics, 5);
-	}
+		assertIssueCount(diagnostics, 1);
+		assertWarning(diagnostics, TRANSITION_EXIT_SPEC_NOT_COMPOSITE);
 
-	@Test
-	public void checkUnboundExitPoints() {
-		BasicDiagnostic diagnostics = new BasicDiagnostic();
-		Statechart statechart = AbstractTestModelsUtil
-				.loadStatechart("UnboundExitPoints01.sct");
-		Iterator<EObject> iter = statechart.eAllContents();
+		// Test exit spec is used on multiple transition siblings.
+		diagnostics = new BasicDiagnostic();
+		statechart = AbstractTestModelsUtil
+				.loadStatechart("TransitionExitSpecOnMultipleSiblings.sct");
+		iter = statechart.eAllContents();
 		while (iter.hasNext()) {
 			EObject element = iter.next();
 			if (element instanceof Transition) {
-				validator.validate(element, diagnostics,
-						new HashMap<Object, Object>());
+				assertTrue(validator.validate(element, diagnostics,
+						new HashMap<Object, Object>()));
 			}
-			if (element instanceof State) {
+		}
+
+		assertIssueCount(diagnostics, 4);
+		assertWarning(diagnostics, TRANSITION_EXIT_SPEC_ON_MULTIPLE_SIBLINGS);
+
+		// Test transition unbound named exit point spec.
+		diagnostics = new BasicDiagnostic();
+		statechart = AbstractTestModelsUtil
+				.loadStatechart("TransitionNotExistingNamedExitPoint.sct");
+		iter = statechart.eAllContents();
+		while (iter.hasNext()) {
+			EObject element = iter.next();
+			if (element instanceof Transition) {
 				validator.validate(element, diagnostics,
 						new HashMap<Object, Object>());
 			}
 		}
 
-		assertIssueCount(diagnostics, 3);
-		assertError(diagnostics, TRANSITION_UNBOUND_DEFAULT_EXIT_POINT);
-		assertError(diagnostics, REGION_UNBOUND_DEFAULT_EXIT_POINT);
+		assertIssueCount(diagnostics, 1);
+		assertError(diagnostics, TRANSITION_NOT_EXISTING_NAMED_EXIT_POINT);
 	}
 
 	@Test
-	public void checkUnboundExitPointsPartTwo() {
+	public void checkUnboundEntryPoints() {
 		BasicDiagnostic diagnostics = new BasicDiagnostic();
 		Statechart statechart = AbstractTestModelsUtil
-				.loadStatechart("UnboundExitPoints02.sct");
+				.loadStatechart("UnboundDefaultEntryPoints.sct");
 		Iterator<EObject> iter = statechart.eAllContents();
-
 		while (iter.hasNext()) {
 			EObject element = iter.next();
 			if (element instanceof Transition) {
@@ -508,42 +521,26 @@ public class STextJavaValidatorTest extends AbstractSTextTest {
 		}
 
 		assertIssueCount(diagnostics, 4);
-	}
-	
-	@Test
-	public void checkUnusedEntry() {
-		BasicDiagnostic diagnostics = new BasicDiagnostic();
-		Statechart statechart = AbstractTestModelsUtil
-				.loadStatechart("UnusedEntryPoint.sct");
-		Iterator<EObject> iter = statechart.eAllContents();
+		assertError(diagnostics, TRANSITION_UNBOUND_DEFAULT_ENTRY_POINT);
+		assertError(diagnostics, REGION_UNBOUND_DEFAULT_ENTRY_POINT);
+
+		diagnostics = new BasicDiagnostic();
+		statechart = AbstractTestModelsUtil
+				.loadStatechart("UnboundEntryPoints02.sct");
+		iter = statechart.eAllContents();
+
 		while (iter.hasNext()) {
 			EObject element = iter.next();
-			if (element instanceof Entry) {
+			if (element instanceof Transition) {
 				validator.validate(element, diagnostics,
 						new HashMap<Object, Object>());
 			}
-		}
-
-		assertIssueCount(diagnostics, 1);
-		assertWarning(diagnostics, ENTRY_UNUSED);
-	}
-	
-	@Test
-	public void checkUnusedExit() {
-		BasicDiagnostic diagnostics = new BasicDiagnostic();
-		Statechart statechart = AbstractTestModelsUtil
-				.loadStatechart("UnusedExitPoint.sct");
-		Iterator<EObject> iter = statechart.eAllContents();
-		while (iter.hasNext()) {
-			EObject element = iter.next();
-			if (element instanceof Exit) {
+			if (element instanceof State) {
 				validator.validate(element, diagnostics,
 						new HashMap<Object, Object>());
 			}
 		}
-
-		assertIssueCount(diagnostics, 1);
-		assertWarning(diagnostics, EXIT_UNUSED);
+		assertIssueCount(diagnostics, 4);
 	}
 
 	protected void assertError(BasicDiagnostic diag, String message) {

+ 0 - 1
test-plugins/org.yakindu.sct.test.models/src/org/yakindu/sct/test/models/AbstractTestModelsUtil.java

@@ -70,7 +70,6 @@ public abstract class AbstractTestModelsUtil {
 	public static final Statechart loadStatechart(URI uri) {
 		ResourceSet resSet = new ResourceSetImpl();
 		Resource resource = resSet.getResource(uri, true);
-		//Assert.isTrue(resource instanceof AbstractSCTResource);
 		Statechart statechart = (Statechart) EcoreUtil.getObjectByType(
 				resource.getContents(), SGraphPackage.Literals.STATECHART);
 		return statechart;

+ 1 - 1
test-plugins/org.yakindu.sct.test.models/testmodels/validation/TransitionEntrySpecOnAtomicState.sct

@@ -1,6 +1,6 @@
 <?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="_x651cKsyEeKkYoDxSIY5_A" name="UnboundEntryPoints">
+  <sgraph:Statechart xmi:id="_x651cKsyEeKkYoDxSIY5_A" name="TransitionEntrySpecNotComposite">
     <regions xmi:id="_x67DkqsyEeKkYoDxSIY5_A" name="main region">
       <vertices xsi:type="sgraph:Entry" xmi:id="_x6_VA6syEeKkYoDxSIY5_A">
         <outgoingTransitions xmi:id="_x7C_YasyEeKkYoDxSIY5_A" target="_N-dcMKv2EeKJqNG1GG2jEA"/>

+ 1 - 1
test-plugins/org.yakindu.sct.test.models/testmodels/validation/TransitionExitSpecOnAtomicState.sct

@@ -1,6 +1,6 @@
 <?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="_x651cKsyEeKkYoDxSIY5_A" name="UnboundEntryPoints">
+  <sgraph:Statechart xmi:id="_x651cKsyEeKkYoDxSIY5_A" name="TransitionExitSpecNotComposite">
     <regions xmi:id="_x67DkqsyEeKkYoDxSIY5_A" name="main region">
       <vertices xsi:type="sgraph:Entry" xmi:id="_x6_VA6syEeKkYoDxSIY5_A">
         <outgoingTransitions xmi:id="_x7C_YasyEeKkYoDxSIY5_A" target="_N-dcMKv2EeKJqNG1GG2jEA"/>

+ 290 - 0
test-plugins/org.yakindu.sct.test.models/testmodels/validation/TransitionExitSpecOnMultipleSiblings.sct

@@ -0,0 +1,290 @@
+<?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="_RxPu8LCkEeKusf4xiRlf2w" specification="" name="TransitionExitSpecOnMultipleSiblings">
+    <regions xmi:id="_RxQ9ErCkEeKusf4xiRlf2w" name="main region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_RxWcobCkEeKusf4xiRlf2w">
+        <outgoingTransitions xmi:id="_RxY44bCkEeKusf4xiRlf2w" target="_RxXDt7CkEeKusf4xiRlf2w"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_RxXDt7CkEeKusf4xiRlf2w" name="A" incomingTransitions="_RxY44bCkEeKusf4xiRlf2w">
+        <outgoingTransitions xmi:id="_eZK4wLCkEeKusf4xiRlf2w" specification="# myExit >" target="_dxqM0LCkEeKusf4xiRlf2w"/>
+        <outgoingTransitions xmi:id="_WyVAMLDFEeKuu-ZGsbpxhw" specification="# myExit >" target="_VP1SsLDFEeKuu-ZGsbpxhw"/>
+        <outgoingTransitions xmi:id="_XS_dQLDFEeKuu-ZGsbpxhw" specification="# myExit2 >" target="_WBFJcLDFEeKuu-ZGsbpxhw"/>
+        <outgoingTransitions xmi:id="_GyNHULDMEeK984OEcGAtPQ" specification="# myExit2 >" target="_FzSA8LDMEeK984OEcGAtPQ"/>
+        <regions xmi:id="_ZNA88LCkEeKusf4xiRlf2w">
+          <vertices xsi:type="sgraph:State" xmi:id="_bY_sULCkEeKusf4xiRlf2w" name="A" incomingTransitions="_dB48wLCkEeKusf4xiRlf2w">
+            <outgoingTransitions xmi:id="_aiVToLCwEeKaBsfbNfeK4Q" specification="" target="_aFPvALCwEeKaBsfbNfeK4Q"/>
+            <outgoingTransitions xmi:id="_MQwasLDMEeK984OEcGAtPQ" specification="" target="_LmptwLDMEeK984OEcGAtPQ"/>
+          </vertices>
+          <vertices xsi:type="sgraph:Entry" xmi:id="_cDFLILCkEeKusf4xiRlf2w">
+            <outgoingTransitions xmi:id="_dB48wLCkEeKusf4xiRlf2w" specification="" target="_bY_sULCkEeKusf4xiRlf2w"/>
+          </vertices>
+          <vertices xsi:type="sgraph:Exit" xmi:id="_aFPvALCwEeKaBsfbNfeK4Q" name="myExit" incomingTransitions="_aiVToLCwEeKaBsfbNfeK4Q"/>
+          <vertices xsi:type="sgraph:Exit" xmi:id="_LmptwLDMEeK984OEcGAtPQ" name="myExit2" incomingTransitions="_MQwasLDMEeK984OEcGAtPQ"/>
+        </regions>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_dxqM0LCkEeKusf4xiRlf2w" name="B" incomingTransitions="_eZK4wLCkEeKusf4xiRlf2w"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_VP1SsLDFEeKuu-ZGsbpxhw" name="C" incomingTransitions="_WyVAMLDFEeKuu-ZGsbpxhw"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_WBFJcLDFEeKuu-ZGsbpxhw" name="D" incomingTransitions="_XS_dQLDFEeKuu-ZGsbpxhw"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_FzSA8LDMEeK984OEcGAtPQ" name="E" incomingTransitions="_GyNHULDMEeK984OEcGAtPQ"/>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_RxQ9ELCkEeKusf4xiRlf2w" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_RxPu8LCkEeKusf4xiRlf2w" measurementUnit="Pixel">
+    <children xmi:id="_RxTZULCkEeKusf4xiRlf2w" type="Region" element="_RxQ9ErCkEeKusf4xiRlf2w">
+      <children xsi:type="notation:DecorationNode" xmi:id="_RxVOgLCkEeKusf4xiRlf2w" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_RxVOgbCkEeKusf4xiRlf2w"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_RxV1kLCkEeKusf4xiRlf2w"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_RxV1kbCkEeKusf4xiRlf2w" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_RxWcorCkEeKusf4xiRlf2w" type="Entry" element="_RxWcobCkEeKusf4xiRlf2w">
+          <children xmi:id="_RxXDsLCkEeKusf4xiRlf2w" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_RxXDs7CkEeKusf4xiRlf2w" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_RxXDtLCkEeKusf4xiRlf2w"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_RxXDtbCkEeKusf4xiRlf2w"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_RxXDsbCkEeKusf4xiRlf2w" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RxXDsrCkEeKusf4xiRlf2w"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_RxWco7CkEeKusf4xiRlf2w" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RxXDtrCkEeKusf4xiRlf2w" x="70" y="20" width="15" height="15"/>
+        </children>
+        <children xmi:id="_RxXqwbCkEeKusf4xiRlf2w" type="State" element="_RxXDt7CkEeKusf4xiRlf2w">
+          <children xsi:type="notation:DecorationNode" xmi:id="_RxYR0LCkEeKusf4xiRlf2w" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_RxYR0bCkEeKusf4xiRlf2w"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_RxYR0rCkEeKusf4xiRlf2w"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_RxYR07CkEeKusf4xiRlf2w" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_RxYR1LCkEeKusf4xiRlf2w" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RxYR1bCkEeKusf4xiRlf2w"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_RxYR1rCkEeKusf4xiRlf2w" type="StateFigureCompartment">
+            <children xmi:id="_ZNEnULCkEeKusf4xiRlf2w" type="Region" element="_ZNA88LCkEeKusf4xiRlf2w">
+              <children xsi:type="notation:DecorationNode" xmi:id="_ZNFOYLCkEeKusf4xiRlf2w" type="RegionName">
+                <styles xsi:type="notation:ShapeStyle" xmi:id="_ZNFOYbCkEeKusf4xiRlf2w"/>
+                <layoutConstraint xsi:type="notation:Location" xmi:id="_ZNFOYrCkEeKusf4xiRlf2w"/>
+              </children>
+              <children xsi:type="notation:Shape" xmi:id="_ZNFOY7CkEeKusf4xiRlf2w" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                <children xmi:id="_bZBhgLCkEeKusf4xiRlf2w" type="State" element="_bY_sULCkEeKusf4xiRlf2w">
+                  <children xsi:type="notation:DecorationNode" xmi:id="_bZCIk7CkEeKusf4xiRlf2w" type="StateName">
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_bZCIlLCkEeKusf4xiRlf2w"/>
+                    <layoutConstraint xsi:type="notation:Location" xmi:id="_bZCIlbCkEeKusf4xiRlf2w"/>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_bZCvoLCkEeKusf4xiRlf2w" type="StateTextCompartment">
+                    <children xsi:type="notation:Shape" xmi:id="_bZCvobCkEeKusf4xiRlf2w" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+                      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_bZCvorCkEeKusf4xiRlf2w"/>
+                    </children>
+                  </children>
+                  <children xsi:type="notation:Compartment" xmi:id="_bZCvo7CkEeKusf4xiRlf2w" type="StateFigureCompartment"/>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_bZCIkLCkEeKusf4xiRlf2w" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+                  <styles xsi:type="notation:FontStyle" xmi:id="_bZCIkbCkEeKusf4xiRlf2w"/>
+                  <styles xsi:type="notation:BooleanValueStyle" xmi:id="_bZDWsLCkEeKusf4xiRlf2w" name="isHorizontal" booleanValue="true"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_bZCIkrCkEeKusf4xiRlf2w" x="53" y="22"/>
+                </children>
+                <children xmi:id="_cDHnYLCkEeKusf4xiRlf2w" type="Entry" element="_cDFLILCkEeKusf4xiRlf2w">
+                  <children xmi:id="_cDHnY7CkEeKusf4xiRlf2w" type="BorderItemLabelContainer">
+                    <children xsi:type="notation:DecorationNode" xmi:id="_cDIOcrCkEeKusf4xiRlf2w" type="BorderItemLabel">
+                      <styles xsi:type="notation:ShapeStyle" xmi:id="_cDIOc7CkEeKusf4xiRlf2w"/>
+                      <layoutConstraint xsi:type="notation:Location" xmi:id="_cDIOdLCkEeKusf4xiRlf2w"/>
+                    </children>
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_cDIOcLCkEeKusf4xiRlf2w" fontName="Verdana" lineColor="4210752"/>
+                    <layoutConstraint xsi:type="notation:Bounds" xmi:id="_cDIOcbCkEeKusf4xiRlf2w"/>
+                  </children>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_cDHnYbCkEeKusf4xiRlf2w" fontName="Verdana" lineColor="4210752"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_cDHnYrCkEeKusf4xiRlf2w" x="4" y="32"/>
+                </children>
+                <children xmi:id="_aFTZYLCwEeKaBsfbNfeK4Q" type="Exit" element="_aFPvALCwEeKaBsfbNfeK4Q">
+                  <children xmi:id="_aFUngLCwEeKaBsfbNfeK4Q" type="BorderItemLabelContainer">
+                    <children xsi:type="notation:DecorationNode" xmi:id="_aFVOkLCwEeKaBsfbNfeK4Q" type="BorderItemLabel">
+                      <styles xsi:type="notation:ShapeStyle" xmi:id="_aFVOkbCwEeKaBsfbNfeK4Q"/>
+                      <layoutConstraint xsi:type="notation:Location" xmi:id="_aFVOkrCwEeKaBsfbNfeK4Q"/>
+                    </children>
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_aFUngbCwEeKaBsfbNfeK4Q" fontName="Verdana" lineColor="4210752"/>
+                    <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aFUngrCwEeKaBsfbNfeK4Q"/>
+                  </children>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_aFTZYbCwEeKaBsfbNfeK4Q" fontName="Verdana" lineColor="4210752"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_aFTZYrCwEeKaBsfbNfeK4Q" x="137" y="32"/>
+                </children>
+                <children xmi:id="_LmumQLDMEeK984OEcGAtPQ" type="Exit" element="_LmptwLDMEeK984OEcGAtPQ">
+                  <children xmi:id="_LmwbcLDMEeK984OEcGAtPQ" type="BorderItemLabelContainer">
+                    <children xsi:type="notation:DecorationNode" xmi:id="_Lmwbc7DMEeK984OEcGAtPQ" type="BorderItemLabel">
+                      <styles xsi:type="notation:ShapeStyle" xmi:id="_LmwbdLDMEeK984OEcGAtPQ"/>
+                      <layoutConstraint xsi:type="notation:Location" xmi:id="_LmwbdbDMEeK984OEcGAtPQ"/>
+                    </children>
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_LmwbcbDMEeK984OEcGAtPQ" fontName="Verdana" lineColor="4210752"/>
+                    <layoutConstraint xsi:type="notation:Bounds" xmi:id="_LmwbcrDMEeK984OEcGAtPQ"/>
+                  </children>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_LmumQbDMEeK984OEcGAtPQ" fontName="Verdana" lineColor="4210752"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_LmumQrDMEeK984OEcGAtPQ" x="55" y="111"/>
+                </children>
+                <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZNFOZLCkEeKusf4xiRlf2w"/>
+              </children>
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_ZNEnUbCkEeKusf4xiRlf2w" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ZNEnUrCkEeKusf4xiRlf2w"/>
+            </children>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_RxXqwrCkEeKusf4xiRlf2w" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_RxXqw7CkEeKusf4xiRlf2w"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_RxYR17CkEeKusf4xiRlf2w" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RxY44LCkEeKusf4xiRlf2w" x="35" y="77" width="205" height="236"/>
+        </children>
+        <children xmi:id="_dxtQILCkEeKusf4xiRlf2w" type="State" element="_dxqM0LCkEeKusf4xiRlf2w">
+          <children xsi:type="notation:DecorationNode" xmi:id="_dxtQJLCkEeKusf4xiRlf2w" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_dxtQJbCkEeKusf4xiRlf2w"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_dxtQJrCkEeKusf4xiRlf2w"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_dxt3MLCkEeKusf4xiRlf2w" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_dxt3MbCkEeKusf4xiRlf2w" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_dxt3MrCkEeKusf4xiRlf2w"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_dxt3M7CkEeKusf4xiRlf2w" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_dxtQIbCkEeKusf4xiRlf2w" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_dxtQIrCkEeKusf4xiRlf2w"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_dxt3NLCkEeKusf4xiRlf2w" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_dxtQI7CkEeKusf4xiRlf2w" x="339" y="77" width="40" height="53"/>
+        </children>
+        <children xmi:id="_VP6yQLDFEeKuu-ZGsbpxhw" type="State" element="_VP1SsLDFEeKuu-ZGsbpxhw">
+          <children xsi:type="notation:DecorationNode" xmi:id="_VP8AYLDFEeKuu-ZGsbpxhw" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_VP8AYbDFEeKuu-ZGsbpxhw"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_VP8AYrDFEeKuu-ZGsbpxhw"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_VP8ncLDFEeKuu-ZGsbpxhw" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_VP8ncbDFEeKuu-ZGsbpxhw" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_VP8ncrDFEeKuu-ZGsbpxhw"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_VP9OgLDFEeKuu-ZGsbpxhw" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_VP6yQbDFEeKuu-ZGsbpxhw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_VP6yQrDFEeKuu-ZGsbpxhw"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_VP9OgbDFEeKuu-ZGsbpxhw" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_VP6yQ7DFEeKuu-ZGsbpxhw" x="339" y="142"/>
+        </children>
+        <children xmi:id="_WBGXkLDFEeKuu-ZGsbpxhw" type="State" element="_WBFJcLDFEeKuu-ZGsbpxhw">
+          <children xsi:type="notation:DecorationNode" xmi:id="_WBG-oLDFEeKuu-ZGsbpxhw" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_WBG-obDFEeKuu-ZGsbpxhw"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_WBG-orDFEeKuu-ZGsbpxhw"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_WBG-o7DFEeKuu-ZGsbpxhw" type="StateTextCompartment" collapsed="true">
+            <children xsi:type="notation:Shape" xmi:id="_WBG-pLDFEeKuu-ZGsbpxhw" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_WBG-pbDFEeKuu-ZGsbpxhw"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_WBG-prDFEeKuu-ZGsbpxhw" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_WBGXkbDFEeKuu-ZGsbpxhw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_WBGXkrDFEeKuu-ZGsbpxhw"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_WBG-p7DFEeKuu-ZGsbpxhw" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_WBGXk7DFEeKuu-ZGsbpxhw" x="339" y="207"/>
+        </children>
+        <children xmi:id="_FzVEQLDMEeK984OEcGAtPQ" type="State" element="_FzSA8LDMEeK984OEcGAtPQ">
+          <children xsi:type="notation:DecorationNode" xmi:id="_FzXggLDMEeK984OEcGAtPQ" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_FzXggbDMEeK984OEcGAtPQ"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_FzXggrDMEeK984OEcGAtPQ"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_FzYHkLDMEeK984OEcGAtPQ" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_FzYHkbDMEeK984OEcGAtPQ" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_FzYHkrDMEeK984OEcGAtPQ"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_FzYHk7DMEeK984OEcGAtPQ" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_FzVEQbDMEeK984OEcGAtPQ" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_FzVrULDMEeK984OEcGAtPQ"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_FzYuoLDMEeK984OEcGAtPQ" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_FzVrUbDMEeK984OEcGAtPQ" x="337" y="270"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RxV1krCkEeKusf4xiRlf2w"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_RxTZUbCkEeKusf4xiRlf2w" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RxWcoLCkEeKusf4xiRlf2w" x="220" y="10" width="415" height="400"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_RxaHBLCkEeKusf4xiRlf2w" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_RxauELCkEeKusf4xiRlf2w" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_RxauEbCkEeKusf4xiRlf2w"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_RxauErCkEeKusf4xiRlf2w"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_RxauE7CkEeKusf4xiRlf2w" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RxauFLCkEeKusf4xiRlf2w"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_RxauFbCkEeKusf4xiRlf2w" x="10" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_RxQ9EbCkEeKusf4xiRlf2w"/>
+    <edges xmi:id="_RxZf8LCkEeKusf4xiRlf2w" type="Transition" element="_RxY44bCkEeKusf4xiRlf2w" source="_RxWcorCkEeKusf4xiRlf2w" target="_RxXqwbCkEeKusf4xiRlf2w">
+      <children xsi:type="notation:DecorationNode" xmi:id="_RxaHAbCkEeKusf4xiRlf2w" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_RxaHArCkEeKusf4xiRlf2w"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_RxaHA7CkEeKusf4xiRlf2w" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_RxZf8bCkEeKusf4xiRlf2w" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_RxaHALCkEeKusf4xiRlf2w" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_RxZf8rCkEeKusf4xiRlf2w" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+    <edges xmi:id="_dB91QLCkEeKusf4xiRlf2w" type="Transition" element="_dB48wLCkEeKusf4xiRlf2w" source="_cDHnYLCkEeKusf4xiRlf2w" target="_bZBhgLCkEeKusf4xiRlf2w">
+      <children xsi:type="notation:DecorationNode" xmi:id="_dB91RLCkEeKusf4xiRlf2w" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_dB91RbCkEeKusf4xiRlf2w"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_dB91RrCkEeKusf4xiRlf2w" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_dB91QbCkEeKusf4xiRlf2w" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_dB91Q7CkEeKusf4xiRlf2w" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_dB91QrCkEeKusf4xiRlf2w" points="[7, 0, -52, -7]$[62, -17, 3, -24]"/>
+    </edges>
+    <edges xmi:id="_eZPxQLCkEeKusf4xiRlf2w" type="Transition" element="_eZK4wLCkEeKusf4xiRlf2w" source="_RxXqwbCkEeKusf4xiRlf2w" target="_dxtQILCkEeKusf4xiRlf2w">
+      <children xsi:type="notation:DecorationNode" xmi:id="_eZQ_YLCkEeKusf4xiRlf2w" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_eZQ_YbCkEeKusf4xiRlf2w"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_eZQ_YrCkEeKusf4xiRlf2w" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_eZPxQbCkEeKusf4xiRlf2w" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_eZQYULCkEeKusf4xiRlf2w" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_eZPxQrCkEeKusf4xiRlf2w" points="[16, 3, -66, -13]$[84, 5, 2, -11]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_eZTboLCkEeKusf4xiRlf2w" id="(0.9219512195121952,0.08898305084745763)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_eZTbobCkEeKusf4xiRlf2w" id="(0.25,0.24528301886792453)"/>
+    </edges>
+    <edges xmi:id="_aiXv4LCwEeKaBsfbNfeK4Q" type="Transition" element="_aiVToLCwEeKaBsfbNfeK4Q" source="_bZBhgLCkEeKusf4xiRlf2w" target="_aFTZYLCwEeKaBsfbNfeK4Q">
+      <children xsi:type="notation:DecorationNode" xmi:id="_aiYW8bCwEeKaBsfbNfeK4Q" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_aiYW8rCwEeKaBsfbNfeK4Q"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_aiYW87CwEeKaBsfbNfeK4Q" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_aiXv4bCwEeKaBsfbNfeK4Q" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_aiYW8LCwEeKaBsfbNfeK4Q" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_aiXv4rCwEeKaBsfbNfeK4Q" points="[18, -1, -53, -1]$[64, -2, -7, -2]"/>
+    </edges>
+    <edges xmi:id="_WyW1YLDFEeKuu-ZGsbpxhw" type="Transition" element="_WyVAMLDFEeKuu-ZGsbpxhw" source="_RxXqwbCkEeKusf4xiRlf2w" target="_VP6yQLDFEeKuu-ZGsbpxhw">
+      <children xsi:type="notation:DecorationNode" xmi:id="_WyXccbDFEeKuu-ZGsbpxhw" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_WyXccrDFEeKuu-ZGsbpxhw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_WyXcc7DFEeKuu-ZGsbpxhw" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_WyW1YbDFEeKuu-ZGsbpxhw" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_WyXccLDFEeKuu-ZGsbpxhw" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_WyW1YrDFEeKuu-ZGsbpxhw" points="[7, 7, -123, -2]$[129, -15, -1, -24]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_WyafwLDFEeKuu-ZGsbpxhw" id="(0.9658536585365853,0.4194915254237288)"/>
+    </edges>
+    <edges xmi:id="_XTDHoLDFEeKuu-ZGsbpxhw" type="Transition" element="_XS_dQLDFEeKuu-ZGsbpxhw" source="_RxXqwbCkEeKusf4xiRlf2w" target="_WBGXkLDFEeKuu-ZGsbpxhw">
+      <children xsi:type="notation:DecorationNode" xmi:id="_XTDusbDFEeKuu-ZGsbpxhw" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_XTDusrDFEeKuu-ZGsbpxhw"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_XTDus7DFEeKuu-ZGsbpxhw" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_XTDHobDFEeKuu-ZGsbpxhw" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_XTDusLDFEeKuu-ZGsbpxhw" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_XTDHorDFEeKuu-ZGsbpxhw" points="[11, 3, -115, 3]$[128, -21, 2, -21]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_XTFj4LDFEeKuu-ZGsbpxhw" id="(0.9365853658536586,0.6483050847457628)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_XTGK8LDFEeKuu-ZGsbpxhw" id="(0.225,0.4528301886792453)"/>
+    </edges>
+    <edges xmi:id="_GyTN8LDMEeK984OEcGAtPQ" type="Transition" element="_GyNHULDMEeK984OEcGAtPQ" source="_RxXqwbCkEeKusf4xiRlf2w" target="_FzVEQLDMEeK984OEcGAtPQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_GyVDILDMEeK984OEcGAtPQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_GyVDIbDMEeK984OEcGAtPQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_GyVqMLDMEeK984OEcGAtPQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_GyTN8bDMEeK984OEcGAtPQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_GyUcELDMEeK984OEcGAtPQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_GyTN8rDMEeK984OEcGAtPQ" points="[10, 7, -106, 3]$[117, 29, 1, 25]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_GyYGcLDMEeK984OEcGAtPQ" id="(0.9512195121951219,0.9194915254237288)"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_GyYGcbDMEeK984OEcGAtPQ" id="(0.125,0.49056603773584906)"/>
+    </edges>
+    <edges xmi:id="_MQxo0LDMEeK984OEcGAtPQ" type="Transition" element="_MQwasLDMEeK984OEcGAtPQ" source="_bZBhgLCkEeKusf4xiRlf2w" target="_LmumQLDMEeK984OEcGAtPQ">
+      <children xsi:type="notation:DecorationNode" xmi:id="_MQyP4LDMEeK984OEcGAtPQ" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_MQyP4bDMEeK984OEcGAtPQ"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_MQyP4rDMEeK984OEcGAtPQ" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_MQxo0bDMEeK984OEcGAtPQ" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_MQxo07DMEeK984OEcGAtPQ" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_MQxo0rDMEeK984OEcGAtPQ" points="[-8, 24, 0, -48]$[-8, 64, 0, -8]"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 7 - 7
test-plugins/org.yakindu.sct.test.models/testmodels/validation/UnboundExitPoints01.sct

@@ -1,12 +1,12 @@
 <?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="_x651cKsyEeKkYoDxSIY5_A" name="UnboundEntryPoints">
+  <sgraph:Statechart xmi:id="_x651cKsyEeKkYoDxSIY5_A" specification="" name="TransitionNotExistingNamedExitPoint">
     <regions xmi:id="_x67DkqsyEeKkYoDxSIY5_A" name="main region">
       <vertices xsi:type="sgraph:Entry" xmi:id="_x6_VA6syEeKkYoDxSIY5_A">
         <outgoingTransitions xmi:id="_x7C_YasyEeKkYoDxSIY5_A" target="_ttT-MKszEeKkYoDxSIY5_A"/>
       </vertices>
       <vertices xsi:type="sgraph:State" xmi:id="_ttT-MKszEeKkYoDxSIY5_A" specification="" name="B" incomingTransitions="_x7C_YasyEeKkYoDxSIY5_A">
-        <outgoingTransitions xmi:id="_x9vuIKzfEeK3BbA-xenOSw" specification="" target="_N-dcMKv2EeKJqNG1GG2jEA"/>
+        <outgoingTransitions xmi:id="_x9vuIKzfEeK3BbA-xenOSw" specification="# C >" target="_N-dcMKv2EeKJqNG1GG2jEA"/>
         <regions xmi:id="_Ixvy0KwOEeKDK5u47htxww">
           <vertices xsi:type="sgraph:State" xmi:id="_6Gc6oKzfEeK3BbA-xenOSw" name="A" incomingTransitions="_8CCdkKzfEeK3BbA-xenOSw"/>
           <vertices xsi:type="sgraph:Entry" xmi:id="_7KHXEKzfEeK3BbA-xenOSw">
@@ -73,7 +73,7 @@
                   <styles xsi:type="notation:ShapeStyle" xmi:id="_6Gev0azfEeK3BbA-xenOSw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
                   <styles xsi:type="notation:FontStyle" xmi:id="_6Gev0qzfEeK3BbA-xenOSw"/>
                   <styles xsi:type="notation:BooleanValueStyle" xmi:id="_6GglAKzfEeK3BbA-xenOSw" name="isHorizontal" booleanValue="true"/>
-                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_6Gev06zfEeK3BbA-xenOSw" x="37" y="56"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_6Gev06zfEeK3BbA-xenOSw" x="37" y="47"/>
                 </children>
                 <children xmi:id="_7KIlMKzfEeK3BbA-xenOSw" type="Entry" element="_7KHXEKzfEeK3BbA-xenOSw">
                   <children xmi:id="_7KJMQKzfEeK3BbA-xenOSw" type="BorderItemLabelContainer">
@@ -112,7 +112,7 @@
                   <styles xsi:type="notation:ShapeStyle" xmi:id="_6ptYsazfEeK3BbA-xenOSw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
                   <styles xsi:type="notation:FontStyle" xmi:id="_6ptYsqzfEeK3BbA-xenOSw"/>
                   <styles xsi:type="notation:BooleanValueStyle" xmi:id="_6pt_xazfEeK3BbA-xenOSw" name="isHorizontal" booleanValue="true"/>
-                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_6ptYs6zfEeK3BbA-xenOSw" x="20" y="59"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_6ptYs6zfEeK3BbA-xenOSw" x="20" y="47"/>
                 </children>
                 <children xmi:id="_7htXsKzfEeK3BbA-xenOSw" type="Entry" element="_7hsJkKzfEeK3BbA-xenOSw">
                   <children xmi:id="_7htXs6zfEeK3BbA-xenOSw" type="BorderItemLabelContainer">
@@ -135,7 +135,7 @@
           <styles xsi:type="notation:ShapeStyle" xmi:id="_ttXBgaszEeKkYoDxSIY5_A" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
           <styles xsi:type="notation:FontStyle" xmi:id="_ttXBgqszEeKkYoDxSIY5_A"/>
           <styles xsi:type="notation:BooleanValueStyle" xmi:id="_ttZdwaszEeKkYoDxSIY5_A" name="isHorizontal" booleanValue="true"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ttXokKszEeKkYoDxSIY5_A" x="29" y="87" width="206" height="195"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ttXokKszEeKkYoDxSIY5_A" x="29" y="87" width="241" height="256"/>
         </children>
         <children xmi:id="_N-hGkKv2EeKJqNG1GG2jEA" type="State" element="_N-dcMKv2EeKJqNG1GG2jEA">
           <children xsi:type="notation:DecorationNode" xmi:id="_N-htoKv2EeKJqNG1GG2jEA" type="StateName">
@@ -151,12 +151,12 @@
           <styles xsi:type="notation:ShapeStyle" xmi:id="_N-hGkav2EeKJqNG1GG2jEA" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
           <styles xsi:type="notation:FontStyle" xmi:id="_N-hGkqv2EeKJqNG1GG2jEA"/>
           <styles xsi:type="notation:BooleanValueStyle" xmi:id="_N-i7wKv2EeKJqNG1GG2jEA" name="isHorizontal" booleanValue="true"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_N-hGk6v2EeKJqNG1GG2jEA" x="304" y="158" width="40" height="53"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_N-hGk6v2EeKJqNG1GG2jEA" x="359" y="167" width="40" height="53"/>
         </children>
         <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_VAasyEeKkYoDxSIY5_A"/>
       </children>
       <styles xsi:type="notation:ShapeStyle" xmi:id="_x684wasyEeKkYoDxSIY5_A" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_VAqsyEeKkYoDxSIY5_A" x="220" y="10" width="381" height="400"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_VAqsyEeKkYoDxSIY5_A" x="220" y="10" width="440" height="400"/>
     </children>
     <children xsi:type="notation:Shape" xmi:id="_x7E0kasyEeKkYoDxSIY5_A" type="StatechartText" fontName="Verdana" lineColor="4210752">
       <children xsi:type="notation:DecorationNode" xmi:id="_x7FboKsyEeKkYoDxSIY5_A" type="StatechartName">

+ 166 - 0
test-plugins/org.yakindu.sct.test.models/testmodels/validation/UnboundDefaultEntryPoints.sct

@@ -0,0 +1,166 @@
+<?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="_x651cKsyEeKkYoDxSIY5_A" name="UnboundDefaultEntryPoints">
+    <regions xmi:id="_x67DkqsyEeKkYoDxSIY5_A" name="main region">
+      <vertices xsi:type="sgraph:Entry" xmi:id="_x6_VA6syEeKkYoDxSIY5_A">
+        <outgoingTransitions xmi:id="_x7C_YasyEeKkYoDxSIY5_A" target="_N-dcMKv2EeKJqNG1GG2jEA"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_ttT-MKszEeKkYoDxSIY5_A" specification="" name="B" incomingTransitions="_QhMesKv2EeKJqNG1GG2jEA _NaQ2EKwOEeKDK5u47htxww">
+        <regions xmi:id="_Ixvy0KwOEeKDK5u47htxww"/>
+        <regions xmi:id="_JE2VAKwOEeKDK5u47htxww"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_N-dcMKv2EeKJqNG1GG2jEA" name="C" incomingTransitions="_x7C_YasyEeKkYoDxSIY5_A">
+        <outgoingTransitions xmi:id="_QhMesKv2EeKJqNG1GG2jEA" specification="" target="_ttT-MKszEeKkYoDxSIY5_A"/>
+        <outgoingTransitions xmi:id="_PCxsAKwOEeKDK5u47htxww" specification="" target="_ME3wcKwOEeKDK5u47htxww"/>
+      </vertices>
+      <vertices xsi:type="sgraph:State" xmi:id="_ME3wcKwOEeKDK5u47htxww" name="A" incomingTransitions="_PCxsAKwOEeKDK5u47htxww">
+        <outgoingTransitions xmi:id="_NaQ2EKwOEeKDK5u47htxww" specification="default" target="_ttT-MKszEeKkYoDxSIY5_A"/>
+      </vertices>
+    </regions>
+  </sgraph:Statechart>
+  <notation:Diagram xmi:id="_x67DkKsyEeKkYoDxSIY5_A" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_x651cKsyEeKkYoDxSIY5_A" measurementUnit="Pixel">
+    <children xmi:id="_x684wKsyEeKkYoDxSIY5_A" type="Region" element="_x67DkqsyEeKkYoDxSIY5_A">
+      <children xsi:type="notation:DecorationNode" xmi:id="_x6-t8KsyEeKkYoDxSIY5_A" type="RegionName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_x6-t8asyEeKkYoDxSIY5_A"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_x6-t8qsyEeKkYoDxSIY5_A"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_x6_VAKsyEeKkYoDxSIY5_A" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+        <children xmi:id="_x6_8EKsyEeKkYoDxSIY5_A" type="Entry" element="_x6_VA6syEeKkYoDxSIY5_A">
+          <children xmi:id="_x6_8E6syEeKkYoDxSIY5_A" type="BorderItemLabelContainer">
+            <children xsi:type="notation:DecorationNode" xmi:id="_x7AjIKsyEeKkYoDxSIY5_A" type="BorderItemLabel">
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_x7AjIasyEeKkYoDxSIY5_A"/>
+              <layoutConstraint xsi:type="notation:Location" xmi:id="_x7AjIqsyEeKkYoDxSIY5_A"/>
+            </children>
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_x6_8FKsyEeKkYoDxSIY5_A" fontName="Verdana" lineColor="4210752"/>
+            <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_8FasyEeKkYoDxSIY5_A"/>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_x6_8EasyEeKkYoDxSIY5_A" fontName="Verdana" lineColor="4210752"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x7AjI6syEeKkYoDxSIY5_A" x="29" y="102" width="15" height="15"/>
+        </children>
+        <children xmi:id="_ttXBgKszEeKkYoDxSIY5_A" type="State" element="_ttT-MKszEeKkYoDxSIY5_A">
+          <children xsi:type="notation:DecorationNode" xmi:id="_ttY2sKszEeKkYoDxSIY5_A" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_ttY2saszEeKkYoDxSIY5_A"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_ttY2sqszEeKkYoDxSIY5_A"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_ttY2s6szEeKkYoDxSIY5_A" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_ttY2tKszEeKkYoDxSIY5_A" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ttY2taszEeKkYoDxSIY5_A"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_ttZdwKszEeKkYoDxSIY5_A" type="StateFigureCompartment">
+            <children xmi:id="_Ixy2IKwOEeKDK5u47htxww" type="Region" element="_Ixvy0KwOEeKDK5u47htxww">
+              <children xsi:type="notation:DecorationNode" xmi:id="_Ix0EQKwOEeKDK5u47htxww" type="RegionName">
+                <styles xsi:type="notation:ShapeStyle" xmi:id="_Ix0EQawOEeKDK5u47htxww"/>
+                <layoutConstraint xsi:type="notation:Location" xmi:id="_Ix0rUKwOEeKDK5u47htxww"/>
+              </children>
+              <children xsi:type="notation:Shape" xmi:id="_Ix0rUawOEeKDK5u47htxww" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Ix0rUqwOEeKDK5u47htxww"/>
+              </children>
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_Ixy2IawOEeKDK5u47htxww" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Ixy2IqwOEeKDK5u47htxww"/>
+            </children>
+            <children xmi:id="_JE4xQKwOEeKDK5u47htxww" type="Region" element="_JE2VAKwOEeKDK5u47htxww">
+              <children xsi:type="notation:DecorationNode" xmi:id="_JE4xQ6wOEeKDK5u47htxww" type="RegionName">
+                <styles xsi:type="notation:ShapeStyle" xmi:id="_JE4xRKwOEeKDK5u47htxww"/>
+                <layoutConstraint xsi:type="notation:Location" xmi:id="_JE5YUKwOEeKDK5u47htxww"/>
+              </children>
+              <children xsi:type="notation:Shape" xmi:id="_JE5YUawOEeKDK5u47htxww" type="RegionCompartment" fontName="Verdana" lineColor="4210752">
+                <layoutConstraint xsi:type="notation:Bounds" xmi:id="_JE5YUqwOEeKDK5u47htxww"/>
+              </children>
+              <styles xsi:type="notation:ShapeStyle" xmi:id="_JE4xQawOEeKDK5u47htxww" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_JE4xQqwOEeKDK5u47htxww"/>
+            </children>
+          </children>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_ttXBgaszEeKkYoDxSIY5_A" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_ttXBgqszEeKkYoDxSIY5_A"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_ttZdwaszEeKkYoDxSIY5_A" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ttXokKszEeKkYoDxSIY5_A" x="214" y="57" width="266" height="246"/>
+        </children>
+        <children xmi:id="_N-hGkKv2EeKJqNG1GG2jEA" type="State" element="_N-dcMKv2EeKJqNG1GG2jEA">
+          <children xsi:type="notation:DecorationNode" xmi:id="_N-htoKv2EeKJqNG1GG2jEA" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_N-htoav2EeKJqNG1GG2jEA"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_N-htoqv2EeKJqNG1GG2jEA"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_N-iUsKv2EeKJqNG1GG2jEA" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_N-iUsav2EeKJqNG1GG2jEA" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_N-iUsqv2EeKJqNG1GG2jEA"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_N-iUs6v2EeKJqNG1GG2jEA" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_N-hGkav2EeKJqNG1GG2jEA" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_N-hGkqv2EeKJqNG1GG2jEA"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_N-i7wKv2EeKJqNG1GG2jEA" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_N-hGk6v2EeKJqNG1GG2jEA" x="19" y="167" width="40" height="53"/>
+        </children>
+        <children xmi:id="_ME93EKwOEeKDK5u47htxww" type="State" element="_ME3wcKwOEeKDK5u47htxww">
+          <children xsi:type="notation:DecorationNode" xmi:id="_ME_sQKwOEeKDK5u47htxww" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_ME_sQawOEeKDK5u47htxww"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_ME_sQqwOEeKDK5u47htxww"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_MFA6YKwOEeKDK5u47htxww" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_MFBhcKwOEeKDK5u47htxww" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_MFBhcawOEeKDK5u47htxww"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_MFCIgKwOEeKDK5u47htxww" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_ME93EawOEeKDK5u47htxww" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_ME93EqwOEeKDK5u47htxww"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_MFCIgawOEeKDK5u47htxww" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ME93E6wOEeKDK5u47htxww" x="19" y="250"/>
+        </children>
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_VAasyEeKkYoDxSIY5_A"/>
+      </children>
+      <styles xsi:type="notation:ShapeStyle" xmi:id="_x684wasyEeKkYoDxSIY5_A" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_VAqsyEeKkYoDxSIY5_A" x="220" y="10" width="521" height="400"/>
+    </children>
+    <children xsi:type="notation:Shape" xmi:id="_x7E0kasyEeKkYoDxSIY5_A" type="StatechartText" fontName="Verdana" lineColor="4210752">
+      <children xsi:type="notation:DecorationNode" xmi:id="_x7FboKsyEeKkYoDxSIY5_A" type="StatechartName">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_x7FboasyEeKkYoDxSIY5_A"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_x7FboqsyEeKkYoDxSIY5_A"/>
+      </children>
+      <children xsi:type="notation:Shape" xmi:id="_x7Fbo6syEeKkYoDxSIY5_A" type="StatechartTextExpression" fontName="Verdana" lineColor="4210752">
+        <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x7FbpKsyEeKkYoDxSIY5_A"/>
+      </children>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x7FbpasyEeKkYoDxSIY5_A" x="10" y="10" width="200" height="400"/>
+    </children>
+    <styles xsi:type="notation:DiagramStyle" xmi:id="_x67DkasyEeKkYoDxSIY5_A"/>
+    <edges xmi:id="_x7ENgKsyEeKkYoDxSIY5_A" type="Transition" element="_x7C_YasyEeKkYoDxSIY5_A" source="_x6_8EKsyEeKkYoDxSIY5_A" target="_N-hGkKv2EeKJqNG1GG2jEA">
+      <children xsi:type="notation:DecorationNode" xmi:id="_x7ENhKsyEeKkYoDxSIY5_A" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_x7ENhasyEeKkYoDxSIY5_A"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_x7E0kKsyEeKkYoDxSIY5_A" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_x7ENgasyEeKkYoDxSIY5_A" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_x7ENg6syEeKkYoDxSIY5_A" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_x7ENgqsyEeKkYoDxSIY5_A" points="[0, 0, 0, 0]$[0, 0, 0, 0]"/>
+    </edges>
+    <edges xmi:id="_QhO68Kv2EeKJqNG1GG2jEA" type="Transition" element="_QhMesKv2EeKJqNG1GG2jEA" source="_N-hGkKv2EeKJqNG1GG2jEA" target="_ttXBgKszEeKkYoDxSIY5_A">
+      <children xsi:type="notation:DecorationNode" xmi:id="_QhPiAqv2EeKJqNG1GG2jEA" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_QhPiA6v2EeKJqNG1GG2jEA"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_QhPiBKv2EeKJqNG1GG2jEA" x="5" y="23"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_QhO68av2EeKJqNG1GG2jEA" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_QhPiAav2EeKJqNG1GG2jEA" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_QhPiAKv2EeKJqNG1GG2jEA" points="[18, -3, -178, 3]$[197, 97, 1, 103]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_QhRXMKv2EeKJqNG1GG2jEA" id="(0.013761467889908258,0.5992366412213741)"/>
+    </edges>
+    <edges xmi:id="_NaT5YKwOEeKDK5u47htxww" type="Transition" element="_NaQ2EKwOEeKDK5u47htxww" source="_ME93EKwOEeKDK5u47htxww" target="_ttXBgKszEeKkYoDxSIY5_A">
+      <children xsi:type="notation:DecorationNode" xmi:id="_NaUgcKwOEeKDK5u47htxww" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_NaUgcawOEeKDK5u47htxww"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_NaUgcqwOEeKDK5u47htxww" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_NaT5YawOEeKDK5u47htxww" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_NaT5Y6wOEeKDK5u47htxww" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_NaT5YqwOEeKDK5u47htxww" points="[18, -7, -162, 5]$[181, 24, 1, 36]"/>
+      <targetAnchor xsi:type="notation:IdentityAnchor" xmi:id="_NaW8sKwOEeKDK5u47htxww" id="(0.011278195488721804,0.8821138211382114)"/>
+    </edges>
+    <edges xmi:id="_PC3yoKwOEeKDK5u47htxww" type="Transition" element="_PCxsAKwOEeKDK5u47htxww" source="_N-hGkKv2EeKJqNG1GG2jEA" target="_ME93EKwOEeKDK5u47htxww">
+      <children xsi:type="notation:DecorationNode" xmi:id="_PC5AwKwOEeKDK5u47htxww" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_PC5AwawOEeKDK5u47htxww"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_PC5AwqwOEeKDK5u47htxww" y="10"/>
+      </children>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_PC3yoawOEeKDK5u47htxww" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_PC4ZsKwOEeKDK5u47htxww" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_PC3yoqwOEeKDK5u47htxww" points="[-2, 24, -2, -59]$[-2, 59, -2, -24]"/>
+    </edges>
+  </notation:Diagram>
+</xmi:XMI>

+ 6 - 6
test-plugins/org.yakindu.sct.test.models/testmodels/validation/UnboundEntryPoints02.sct

@@ -14,13 +14,13 @@
         </regions>
         <regions xmi:id="_JE2VAKwOEeKDK5u47htxww">
           <vertices xsi:type="sgraph:State" xmi:id="_RtFC8Ky6EeKrnKvtzsUbpw" name="A" incomingTransitions="_SnpNwKy6EeKrnKvtzsUbpw"/>
-          <vertices xsi:type="sgraph:Entry" xmi:id="_SPZF0Ky6EeKrnKvtzsUbpw" name="enter3">
+          <vertices xsi:type="sgraph:Entry" xmi:id="_SPZF0Ky6EeKrnKvtzsUbpw" name="enter">
             <outgoingTransitions xmi:id="_SnpNwKy6EeKrnKvtzsUbpw" specification="" target="_RtFC8Ky6EeKrnKvtzsUbpw"/>
           </vertices>
         </regions>
         <regions xmi:id="_qYhFIKy-EeKDTYVyKywyGw">
           <vertices xsi:type="sgraph:State" xmi:id="_tc600Ky_EeKDTYVyKywyGw" name="A" incomingTransitions="_v0lPwKy_EeKDTYVyKywyGw"/>
-          <vertices xsi:type="sgraph:Entry" xmi:id="_u47f0Ky_EeKDTYVyKywyGw" name="enter">
+          <vertices xsi:type="sgraph:Entry" xmi:id="_u47f0Ky_EeKDTYVyKywyGw" name="enter2">
             <outgoingTransitions xmi:id="_v0lPwKy_EeKDTYVyKywyGw" target="_tc600Ky_EeKDTYVyKywyGw"/>
           </vertices>
         </regions>
@@ -158,7 +158,7 @@
                   <styles xsi:type="notation:ShapeStyle" xmi:id="_tc-fMay_EeKDTYVyKywyGw" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
                   <styles xsi:type="notation:FontStyle" xmi:id="_tc-fMqy_EeKDTYVyKywyGw"/>
                   <styles xsi:type="notation:BooleanValueStyle" xmi:id="_tdA7dKy_EeKDTYVyKywyGw" name="isHorizontal" booleanValue="true"/>
-                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_tc-fM6y_EeKDTYVyKywyGw" x="7" y="92"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_tc-fM6y_EeKDTYVyKywyGw" x="32" y="92"/>
                 </children>
                 <children xmi:id="_u4_KMKy_EeKDTYVyKywyGw" type="Entry" element="_u47f0Ky_EeKDTYVyKywyGw">
                   <children xmi:id="_u5A_YKy_EeKDTYVyKywyGw" type="BorderItemLabelContainer">
@@ -170,7 +170,7 @@
                     <layoutConstraint xsi:type="notation:Bounds" xmi:id="_u5A_Yqy_EeKDTYVyKywyGw"/>
                   </children>
                   <styles xsi:type="notation:ShapeStyle" xmi:id="_u4_KMay_EeKDTYVyKywyGw" fontName="Verdana" lineColor="4210752"/>
-                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_u4_KMqy_EeKDTYVyKywyGw" x="44" y="27"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_u4_KMqy_EeKDTYVyKywyGw" x="45" y="27"/>
                 </children>
                 <layoutConstraint xsi:type="notation:Bounds" xmi:id="_qYq2Iay-EeKDTYVyKywyGw"/>
               </children>
@@ -181,7 +181,7 @@
           <styles xsi:type="notation:ShapeStyle" xmi:id="_ttXBgaszEeKkYoDxSIY5_A" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
           <styles xsi:type="notation:FontStyle" xmi:id="_ttXBgqszEeKkYoDxSIY5_A"/>
           <styles xsi:type="notation:BooleanValueStyle" xmi:id="_ttZdwaszEeKkYoDxSIY5_A" name="isHorizontal" booleanValue="true"/>
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ttXokKszEeKkYoDxSIY5_A" x="214" y="57" width="306" height="248"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_ttXokKszEeKkYoDxSIY5_A" x="214" y="57" width="326" height="248"/>
         </children>
         <children xmi:id="_ME93EKwOEeKDK5u47htxww" type="State" element="_ME3wcKwOEeKDK5u47htxww">
           <children xsi:type="notation:DecorationNode" xmi:id="_ME_sQKwOEeKDK5u47htxww" type="StateName">
@@ -202,7 +202,7 @@
         <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_VAasyEeKkYoDxSIY5_A"/>
       </children>
       <styles xsi:type="notation:ShapeStyle" xmi:id="_x684wasyEeKkYoDxSIY5_A" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_VAqsyEeKkYoDxSIY5_A" x="220" y="10" width="556" height="400"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_x6_VAqsyEeKkYoDxSIY5_A" x="220" y="10" width="562" height="400"/>
     </children>
     <children xsi:type="notation:Shape" xmi:id="_x7E0kasyEeKkYoDxSIY5_A" type="StatechartText" fontName="Verdana" lineColor="4210752">
       <children xsi:type="notation:DecorationNode" xmi:id="_x7FboKsyEeKkYoDxSIY5_A" type="StatechartName">

+ 1 - 1
test-plugins/org.yakindu.sct.test.models/testmodels/validation/UnboundExitPoints02.sct

@@ -1,6 +1,6 @@
 <?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="_x651cKsyEeKkYoDxSIY5_A" name="UnboundEntryPoints">
+  <sgraph:Statechart xmi:id="_x651cKsyEeKkYoDxSIY5_A" name="UnusedDefaultExitPoint">
     <regions xmi:id="_x67DkqsyEeKkYoDxSIY5_A" name="main region">
       <vertices xsi:type="sgraph:Entry" xmi:id="_x6_VA6syEeKkYoDxSIY5_A">
         <outgoingTransitions xmi:id="_om2swKwaEeKcBsi8YLfGGg" specification="" target="_ttT-MKszEeKkYoDxSIY5_A"/>

+ 45 - 55
test-plugins/org.yakindu.sct.test.models/testmodels/validation/UnusedExitPoint.sct

@@ -6,29 +6,27 @@
         <outgoingTransitions xmi:id="_KZByA610EeKDu_-BQi0Wmg" target="_KY_81a10EeKDu_-BQi0Wmg"/>
       </vertices>
       <vertices xsi:type="sgraph:State" xmi:id="_KY_81a10EeKDu_-BQi0Wmg" name="A" incomingTransitions="_KZByA610EeKDu_-BQi0Wmg">
-        <outgoingTransitions xmi:id="_M0ulIK2EEeK6f61rDSOHrA" specification="" target="_BRt08K2EEeK6f61rDSOHrA"/>
+        <outgoingTransitions xmi:id="_aXmi8LCzEeKkd8C7aZWapg" specification="# exitA >" target="_YvCCoLCzEeKkd8C7aZWapg"/>
         <regions xmi:id="_OJpj8K10EeKDu_-BQi0Wmg">
           <vertices xsi:type="sgraph:Entry" xmi:id="_oHXtYK14EeKDu_-BQi0Wmg" name="">
             <outgoingTransitions xmi:id="_WI7bwK2BEeK1webgUiVXVA" specification="" target="_U9Y1sK2BEeK1webgUiVXVA"/>
           </vertices>
           <vertices xsi:type="sgraph:State" xmi:id="_U9Y1sK2BEeK1webgUiVXVA" name="A" incomingTransitions="_WI7bwK2BEeK1webgUiVXVA">
-            <outgoingTransitions xmi:id="_MOlLIK2EEeK6f61rDSOHrA" specification="" target="_LzHXIK2EEeK6f61rDSOHrA"/>
+            <outgoingTransitions xmi:id="_jPrW4LCzEeKkd8C7aZWapg" specification="" target="_i044ULCzEeKkd8C7aZWapg"/>
           </vertices>
-          <vertices xsi:type="sgraph:Exit" xmi:id="_LzHXIK2EEeK6f61rDSOHrA" incomingTransitions="_MOlLIK2EEeK6f61rDSOHrA"/>
+          <vertices xsi:type="sgraph:Exit" xmi:id="_i044ULCzEeKkd8C7aZWapg" name="exitA" incomingTransitions="_jPrW4LCzEeKkd8C7aZWapg"/>
         </regions>
         <regions xmi:id="_Oh0MUK10EeKDu_-BQi0Wmg">
           <vertices xsi:type="sgraph:State" xmi:id="_yQy0cK14EeKDu_-BQi0Wmg" name="B" incomingTransitions="_l-xdoK2CEeK1webgUiVXVA">
             <outgoingTransitions xmi:id="_GvjWoK2EEeK6f61rDSOHrA" specification="" target="_GCA7MK2EEeK6f61rDSOHrA"/>
-            <outgoingTransitions xmi:id="_O8dGoK2EEeK6f61rDSOHrA" specification="" target="_OlfYIK2EEeK6f61rDSOHrA"/>
           </vertices>
           <vertices xsi:type="sgraph:Entry" xmi:id="_lhmZcK2CEeK1webgUiVXVA">
             <outgoingTransitions xmi:id="_l-xdoK2CEeK1webgUiVXVA" specification="" target="_yQy0cK14EeKDu_-BQi0Wmg"/>
           </vertices>
-          <vertices xsi:type="sgraph:Exit" xmi:id="_GCA7MK2EEeK6f61rDSOHrA" name="exitA" incomingTransitions="_GvjWoK2EEeK6f61rDSOHrA"/>
-          <vertices xsi:type="sgraph:Exit" xmi:id="_OlfYIK2EEeK6f61rDSOHrA" incomingTransitions="_O8dGoK2EEeK6f61rDSOHrA"/>
+          <vertices xsi:type="sgraph:Exit" xmi:id="_GCA7MK2EEeK6f61rDSOHrA" name="exitB" incomingTransitions="_GvjWoK2EEeK6f61rDSOHrA"/>
         </regions>
       </vertices>
-      <vertices xsi:type="sgraph:FinalState" xmi:id="_BRt08K2EEeK6f61rDSOHrA" incomingTransitions="_M0ulIK2EEeK6f61rDSOHrA"/>
+      <vertices xsi:type="sgraph:State" xmi:id="_YvCCoLCzEeKkd8C7aZWapg" name="B" incomingTransitions="_aXmi8LCzEeKkd8C7aZWapg"/>
     </regions>
   </sgraph:Statechart>
   <notation:Diagram xmi:id="_KY6dQK10EeKDu_-BQi0Wmg" type="org.yakindu.sct.ui.editor.editor.StatechartDiagramEditor" element="_KY5PIK10EeKDu_-BQi0Wmg" measurementUnit="Pixel">
@@ -95,17 +93,17 @@
                   <styles xsi:type="notation:BooleanValueStyle" xmi:id="_U9kb4K2BEeK1webgUiVXVA" name="isHorizontal" booleanValue="true"/>
                   <layoutConstraint xsi:type="notation:Bounds" xmi:id="_U9gKc62BEeK1webgUiVXVA" x="18" y="47"/>
                 </children>
-                <children xmi:id="_LzH-MK2EEeK6f61rDSOHrA" type="Exit" element="_LzHXIK2EEeK6f61rDSOHrA">
-                  <children xmi:id="_LzIlQK2EEeK6f61rDSOHrA" type="BorderItemLabelContainer">
-                    <children xsi:type="notation:DecorationNode" xmi:id="_LzIlQ62EEeK6f61rDSOHrA" type="BorderItemLabel">
-                      <styles xsi:type="notation:ShapeStyle" xmi:id="_LzIlRK2EEeK6f61rDSOHrA"/>
-                      <layoutConstraint xsi:type="notation:Location" xmi:id="_LzIlRa2EEeK6f61rDSOHrA"/>
+                <children xmi:id="_i08isLCzEeKkd8C7aZWapg" type="Exit" element="_i044ULCzEeKkd8C7aZWapg">
+                  <children xmi:id="_i09w0LCzEeKkd8C7aZWapg" type="BorderItemLabelContainer">
+                    <children xsi:type="notation:DecorationNode" xmi:id="_i0--8LCzEeKkd8C7aZWapg" type="BorderItemLabel">
+                      <styles xsi:type="notation:ShapeStyle" xmi:id="_i0--8bCzEeKkd8C7aZWapg"/>
+                      <layoutConstraint xsi:type="notation:Location" xmi:id="_i0--8rCzEeKkd8C7aZWapg"/>
                     </children>
-                    <styles xsi:type="notation:ShapeStyle" xmi:id="_LzIlQa2EEeK6f61rDSOHrA" fontName="Verdana" lineColor="4210752"/>
-                    <layoutConstraint xsi:type="notation:Bounds" xmi:id="_LzIlQq2EEeK6f61rDSOHrA"/>
+                    <styles xsi:type="notation:ShapeStyle" xmi:id="_i09w0bCzEeKkd8C7aZWapg" fontName="Verdana" lineColor="4210752"/>
+                    <layoutConstraint xsi:type="notation:Bounds" xmi:id="_i09w0rCzEeKkd8C7aZWapg" x="-34"/>
                   </children>
-                  <styles xsi:type="notation:ShapeStyle" xmi:id="_LzH-Ma2EEeK6f61rDSOHrA" fontName="Verdana" lineColor="4210752"/>
-                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_LzH-Mq2EEeK6f61rDSOHrA" x="28" y="117"/>
+                  <styles xsi:type="notation:ShapeStyle" xmi:id="_i08isbCzEeKkd8C7aZWapg" fontName="Verdana" lineColor="4210752"/>
+                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_i08isrCzEeKkd8C7aZWapg" x="28" y="113"/>
                 </children>
                 <layoutConstraint xsi:type="notation:Bounds" xmi:id="_OJucdK10EeKDu_-BQi0Wmg"/>
               </children>
@@ -158,18 +156,6 @@
                   <styles xsi:type="notation:ShapeStyle" xmi:id="_GCBiQa2EEeK6f61rDSOHrA" fontName="Verdana" lineColor="4210752"/>
                   <layoutConstraint xsi:type="notation:Bounds" xmi:id="_GCBiQq2EEeK6f61rDSOHrA" x="59" y="108"/>
                 </children>
-                <children xmi:id="_Olf_MK2EEeK6f61rDSOHrA" type="Exit" element="_OlfYIK2EEeK6f61rDSOHrA">
-                  <children xmi:id="_Olf_M62EEeK6f61rDSOHrA" type="BorderItemLabelContainer">
-                    <children xsi:type="notation:DecorationNode" xmi:id="_OlgmQK2EEeK6f61rDSOHrA" type="BorderItemLabel">
-                      <styles xsi:type="notation:ShapeStyle" xmi:id="_OlgmQa2EEeK6f61rDSOHrA"/>
-                      <layoutConstraint xsi:type="notation:Location" xmi:id="_OlgmQq2EEeK6f61rDSOHrA"/>
-                    </children>
-                    <styles xsi:type="notation:ShapeStyle" xmi:id="_Olf_NK2EEeK6f61rDSOHrA" fontName="Verdana" lineColor="4210752"/>
-                    <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Olf_Na2EEeK6f61rDSOHrA"/>
-                  </children>
-                  <styles xsi:type="notation:ShapeStyle" xmi:id="_Olf_Ma2EEeK6f61rDSOHrA" fontName="Verdana" lineColor="4210752"/>
-                  <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Olf_Mq2EEeK6f61rDSOHrA" x="7" y="59"/>
-                </children>
                 <layoutConstraint xsi:type="notation:Bounds" xmi:id="_Oh5r4a10EeKDu_-BQi0Wmg"/>
               </children>
               <styles xsi:type="notation:ShapeStyle" xmi:id="_Oh2oka10EeKDu_-BQi0Wmg" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
@@ -181,13 +167,26 @@
           <styles xsi:type="notation:BooleanValueStyle" xmi:id="_KZByAa10EeKDu_-BQi0Wmg" name="isHorizontal" booleanValue="true"/>
           <layoutConstraint xsi:type="notation:Bounds" xmi:id="_KZByAq10EeKDu_-BQi0Wmg" x="40" y="86" width="253" height="227"/>
         </children>
-        <children xsi:type="notation:Shape" xmi:id="_BRvDEK2EEeK6f61rDSOHrA" type="FinalState" element="_BRt08K2EEeK6f61rDSOHrA" fontName="Verdana" lineColor="4210752">
-          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_BRvDEa2EEeK6f61rDSOHrA" x="140" y="334" width="15" height="15"/>
+        <children xmi:id="_YvHiMLCzEeKkd8C7aZWapg" type="State" element="_YvCCoLCzEeKkd8C7aZWapg">
+          <children xsi:type="notation:DecorationNode" xmi:id="_YvIwULCzEeKkd8C7aZWapg" type="StateName">
+            <styles xsi:type="notation:ShapeStyle" xmi:id="_YvIwUbCzEeKkd8C7aZWapg"/>
+            <layoutConstraint xsi:type="notation:Location" xmi:id="_YvIwUrCzEeKkd8C7aZWapg"/>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_YvJXYLCzEeKkd8C7aZWapg" type="StateTextCompartment">
+            <children xsi:type="notation:Shape" xmi:id="_YvJXYbCzEeKkd8C7aZWapg" type="StateTextCompartmentExpression" fontName="Verdana" lineColor="4210752">
+              <layoutConstraint xsi:type="notation:Bounds" xmi:id="_YvJXYrCzEeKkd8C7aZWapg"/>
+            </children>
+          </children>
+          <children xsi:type="notation:Compartment" xmi:id="_YvJXY7CzEeKkd8C7aZWapg" type="StateFigureCompartment"/>
+          <styles xsi:type="notation:ShapeStyle" xmi:id="_YvHiMbCzEeKkd8C7aZWapg" fontName="Verdana" fillColor="15981773" lineColor="12632256"/>
+          <styles xsi:type="notation:FontStyle" xmi:id="_YvHiMrCzEeKkd8C7aZWapg"/>
+          <styles xsi:type="notation:BooleanValueStyle" xmi:id="_YvJ-cLCzEeKkd8C7aZWapg" name="isHorizontal" booleanValue="true"/>
+          <layoutConstraint xsi:type="notation:Bounds" xmi:id="_YvHiM7CzEeKkd8C7aZWapg" x="345" y="163" width="40" height="53"/>
         </children>
         <layoutConstraint xsi:type="notation:Bounds" xmi:id="_KY-usa10EeKDu_-BQi0Wmg"/>
       </children>
       <styles xsi:type="notation:ShapeStyle" xmi:id="_KY8Sca10EeKDu_-BQi0Wmg" fontName="Verdana" fillColor="15790320" lineColor="12632256"/>
-      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_KY_VwK10EeKDu_-BQi0Wmg" x="220" y="10" width="406" height="400"/>
+      <layoutConstraint xsi:type="notation:Bounds" xmi:id="_KY_VwK10EeKDu_-BQi0Wmg" x="220" y="10" width="407" height="400"/>
     </children>
     <children xsi:type="notation:Shape" xmi:id="_KZDnM610EeKDu_-BQi0Wmg" type="StatechartText" fontName="Verdana" lineColor="4210752">
       <children xsi:type="notation:DecorationNode" xmi:id="_KZEOQK10EeKDu_-BQi0Wmg" type="StatechartName">
@@ -240,33 +239,24 @@
       <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_Gvkkwq2EEeK6f61rDSOHrA" points="[-14, 12, 32, -25]$[-39, 40, 7, 3]"/>
       <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_GvnBAK2EEeK6f61rDSOHrA" id="(0.425,0.7547169811320755)"/>
     </edges>
-    <edges xmi:id="_MOmZQK2EEeK6f61rDSOHrA" type="Transition" element="_MOlLIK2EEeK6f61rDSOHrA" source="_U9gKcK2BEeK1webgUiVXVA" target="_LzH-MK2EEeK6f61rDSOHrA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_MOmZRK2EEeK6f61rDSOHrA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_MOmZRa2EEeK6f61rDSOHrA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_MOmZRq2EEeK6f61rDSOHrA" y="10"/>
-      </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_MOmZQa2EEeK6f61rDSOHrA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_MOmZQ62EEeK6f61rDSOHrA" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_MOmZQq2EEeK6f61rDSOHrA" points="[-1, 24, 2, -25]$[4, 52, 7, 3]"/>
-    </edges>
-    <edges xmi:id="_M0vzQK2EEeK6f61rDSOHrA" type="Transition" element="_M0ulIK2EEeK6f61rDSOHrA" source="_KZAj4a10EeKDu_-BQi0Wmg" target="_BRvDEK2EEeK6f61rDSOHrA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_M0vzRK2EEeK6f61rDSOHrA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_M0vzRa2EEeK6f61rDSOHrA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_M0vzRq2EEeK6f61rDSOHrA" y="10"/>
+    <edges xmi:id="_aXspkLCzEeKkd8C7aZWapg" type="Transition" element="_aXmi8LCzEeKkd8C7aZWapg" source="_KZAj4a10EeKDu_-BQi0Wmg" target="_YvHiMLCzEeKkd8C7aZWapg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_aXtQoLCzEeKkd8C7aZWapg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_aXtQobCzEeKkd8C7aZWapg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_aXtQorCzEeKkd8C7aZWapg" y="10"/>
       </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_M0vzQa2EEeK6f61rDSOHrA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_M0vzQ62EEeK6f61rDSOHrA" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_M0vzQq2EEeK6f61rDSOHrA" points="[-1, 8, -1, -33]$[-5, 46, -5, 5]"/>
-      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_M0yPgK2EEeK6f61rDSOHrA" id="(0.43478260869565216,0.9647577092511013)"/>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_aXspkbCzEeKkd8C7aZWapg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_aXspk7CzEeKkd8C7aZWapg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_aXspkrCzEeKkd8C7aZWapg" points="[11, -1, -74, 2]$[81, 21, -4, 24]"/>
+      <sourceAnchor xsi:type="notation:IdentityAnchor" xmi:id="_aXvs4LCzEeKkd8C7aZWapg" id="(0.9565217391304348,0.4713656387665198)"/>
     </edges>
-    <edges xmi:id="_O8eUwK2EEeK6f61rDSOHrA" type="Transition" element="_O8dGoK2EEeK6f61rDSOHrA" source="_yQ4UAK14EeKDu_-BQi0Wmg" target="_Olf_MK2EEeK6f61rDSOHrA">
-      <children xsi:type="notation:DecorationNode" xmi:id="_O8eUxK2EEeK6f61rDSOHrA" type="TransitionExpression">
-        <styles xsi:type="notation:ShapeStyle" xmi:id="_O8eUxa2EEeK6f61rDSOHrA"/>
-        <layoutConstraint xsi:type="notation:Location" xmi:id="_O8eUxq2EEeK6f61rDSOHrA" y="10"/>
+    <edges xmi:id="_jPslALCzEeKkd8C7aZWapg" type="Transition" element="_jPrW4LCzEeKkd8C7aZWapg" source="_U9gKcK2BEeK1webgUiVXVA" target="_i08isLCzEeKkd8C7aZWapg">
+      <children xsi:type="notation:DecorationNode" xmi:id="_jPtMELCzEeKkd8C7aZWapg" type="TransitionExpression">
+        <styles xsi:type="notation:ShapeStyle" xmi:id="_jPtMEbCzEeKkd8C7aZWapg"/>
+        <layoutConstraint xsi:type="notation:Location" xmi:id="_jPtMErCzEeKkd8C7aZWapg" y="10"/>
       </children>
-      <styles xsi:type="notation:ConnectorStyle" xmi:id="_O8eUwa2EEeK6f61rDSOHrA" lineColor="4210752"/>
-      <styles xsi:type="notation:FontStyle" xmi:id="_O8eUw62EEeK6f61rDSOHrA" fontName="Verdana"/>
-      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_O8eUwq2EEeK6f61rDSOHrA" points="[-17, 1, 43, 2]$[-55, 4, 5, 5]"/>
+      <styles xsi:type="notation:ConnectorStyle" xmi:id="_jPslAbCzEeKkd8C7aZWapg" lineColor="4210752"/>
+      <styles xsi:type="notation:FontStyle" xmi:id="_jPslA7CzEeKkd8C7aZWapg" fontName="Verdana"/>
+      <bendpoints xsi:type="notation:RelativeBendpoints" xmi:id="_jPslArCzEeKkd8C7aZWapg" points="[0, 24, 1, -31]$[0, 48, 1, -7]"/>
     </edges>
   </notation:Diagram>
 </xmi:XMI>