Browse Source

Removed abstract statechart class.
Added support for valueof() and raised() expression.

markus.muehlbrandt@itemis.de 13 years ago
parent
commit
854fc5766e
39 changed files with 474 additions and 975 deletions
  1. 2 3
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceDefaultImpl.java
  2. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceOtherImpl.java
  3. 36 36
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestAbstractBaseStatemachine.java
  4. 0 30
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestCyleBasedStatemachine.java
  5. 0 37
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestEventBasedStatemachine.java
  6. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceThirdImpl.java
  7. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/InterfaceDefaultImpl.java
  8. 72 64
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryAbstractBaseStatemachine.java
  9. 0 30
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryCyleBasedStatemachine.java
  10. 0 37
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryEventBasedStatemachine.java
  11. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/InterfaceDefaultImpl.java
  12. 2 3
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/InterfaceOtherImpl.java
  13. 22 23
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionAbstractBaseStatemachine.java
  14. 0 30
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionCyleBasedStatemachine.java
  15. 0 37
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionEventBasedStatemachine.java
  16. 3 3
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/InterfaceDefaultImpl.java
  17. 105 90
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyAbstractBaseStatemachine.java
  18. 0 30
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyCyleBasedStatemachine.java
  19. 0 37
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyEventBasedStatemachine.java
  20. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/InterfaceDefaultImpl.java
  21. 34 33
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsAbstractBaseStatemachine.java
  22. 0 30
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsCyleBasedStatemachine.java
  23. 0 37
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsEventBasedStatemachine.java
  24. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/InterfaceDefaultImpl.java
  25. 56 51
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsAbstractBaseStatemachine.java
  26. 0 30
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsCyleBasedStatemachine.java
  27. 0 37
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsEventBasedStatemachine.java
  28. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/InterfaceDefaultImpl.java
  29. 72 64
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryAbstractBaseStatemachine.java
  30. 0 30
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryCyleBasedStatemachine.java
  31. 0 37
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryEventBasedStatemachine.java
  32. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceAImpl.java
  33. 2 2
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceDefaultImpl.java
  34. 40 39
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionAbstractBaseStatemachine.java
  35. 0 30
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionCyleBasedStatemachine.java
  36. 0 37
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionEventBasedStatemachine.java
  37. 3 3
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestExpressionCycleBasedStatemachine.java
  38. 4 4
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestInterfaceTestCycleBasedStatemachine.java
  39. 5 5
      test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestLocalActionsCycleBasedStatemachine.java

+ 2 - 3
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceDefaultImpl.java

@@ -23,10 +23,9 @@ public class InterfaceDefaultImpl extends NotificationSender
 	private final ValuedEvent<Integer> EventEvent2 = new ValuedEvent<Integer>(
 			"event2", 0);
 
-	private InterfaceTestAbstractBaseStatemachine statemachine;
+	private InterfaceTestCycleBasedStatemachine statemachine;
 
-	public InterfaceDefaultImpl(
-			InterfaceTestAbstractBaseStatemachine statemachine) {
+	public InterfaceDefaultImpl(InterfaceTestCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceOtherImpl.java

@@ -21,9 +21,9 @@ public class InterfaceOtherImpl extends NotificationSender
 	private final Event EventEvent3 = new Event("event3");
 	private final Event EventEvent4 = new Event("event4");
 
-	private InterfaceTestAbstractBaseStatemachine statemachine;
+	private InterfaceTestCycleBasedStatemachine statemachine;
 
-	public InterfaceOtherImpl(InterfaceTestAbstractBaseStatemachine statemachine) {
+	public InterfaceOtherImpl(InterfaceTestCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 36 - 36
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestAbstractBaseStatemachine.java

@@ -10,6 +10,7 @@
  */
 package org.yakindu.sct.runtime.java.interfacetest;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -17,9 +18,7 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.IStatemachine;
 
-public abstract class InterfaceTestAbstractBaseStatemachine
-		implements
-			IStatemachine {
+public class InterfaceTestCycleBasedStatemachine implements IStatemachine {
 
 	public enum State {
 		State1, State2, State3, State4,
@@ -31,13 +30,13 @@ public abstract class InterfaceTestAbstractBaseStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final Collection<Event> occuredEvents;
+	private final ArrayList<Event> occuredEvents;
 
 	private final Collection<Event> outEvents;
 
-	public InterfaceTestAbstractBaseStatemachine(Collection<Event> occuredEvents) {
-		this.occuredEvents = occuredEvents;
-		this.outEvents = new HashSet<Event>();
+	public InterfaceTestCycleBasedStatemachine() {
+		occuredEvents = new ArrayList<Event>();
+		outEvents = new HashSet<Event>();
 		interfaceDefault = new InterfaceDefaultImpl(this);
 		interfaceOther = new InterfaceOtherImpl(this);
 		interfaceThird = new InterfaceThirdImpl(this);
@@ -52,7 +51,7 @@ public abstract class InterfaceTestAbstractBaseStatemachine
 	}
 
 	protected boolean eventOccured() {
-		return !getOccuredEvents().isEmpty();
+		return !occuredEvents.isEmpty();
 	}
 
 	public void init() {
@@ -79,26 +78,26 @@ public abstract class InterfaceTestAbstractBaseStatemachine
 		enterSequenceState1();
 	}
 
-	private boolean conditionState1Tr0(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceDefault.getEventEvent1()) && (interfaceDefault
+	private boolean conditionState1Tr0() {
+		return (occuredEvents.contains(interfaceDefault.getEventEvent1()) && (interfaceDefault
 				.getVarVar2() > 0));
 	}
-	private boolean conditionState1Tr1(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceOther.getEventEvent3()) && (interfaceDefault
+	private boolean conditionState1Tr1() {
+		return (occuredEvents.contains(interfaceOther.getEventEvent3()) && (interfaceDefault
 				.getVarVar3() == 1));
 	}
-	private boolean conditionState1Tr2(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceThird.getEventEvent5()) && (interfaceDefault
+	private boolean conditionState1Tr2() {
+		return (occuredEvents.contains(interfaceThird.getEventEvent5()) && (interfaceDefault
 				.getVarVar1() == true));
 	}
-	private boolean conditionState2Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent1());
+	private boolean conditionState2Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent1());
 	}
-	private boolean conditionState3Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceOther.getEventEvent3());
+	private boolean conditionState3Tr0() {
+		return occuredEvents.contains(interfaceOther.getEventEvent3());
 	}
-	private boolean conditionState4Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceThird.getEventEvent5());
+	private boolean conditionState4Tr0() {
+		return occuredEvents.contains(interfaceThird.getEventEvent5());
 	}
 	private void actionsState1Tr0() {
 		exitSequenceState1();
@@ -173,53 +172,54 @@ public abstract class InterfaceTestAbstractBaseStatemachine
 	private void exitSequenceState4() {
 		activeStates.remove(State.State4);
 	}
-	private void cycleState1(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState1() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		} else {
-			if (conditionState1Tr1(events)) {
+			if (conditionState1Tr1()) {
 				actionsState1Tr1();
 			} else {
-				if (conditionState1Tr2(events)) {
+				if (conditionState1Tr2()) {
 					actionsState1Tr2();
 				}
 			}
 		}
 	}
-	private void cycleState2(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState2() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		}
 	}
-	private void cycleState3(Collection<?> events) {
-		if (conditionState3Tr0(events)) {
+	private void reactState3() {
+		if (conditionState3Tr0()) {
 			actionsState3Tr0();
 		}
 	}
-	private void cycleState4(Collection<?> events) {
-		if (conditionState4Tr0(events)) {
+	private void reactState4() {
+		if (conditionState4Tr0()) {
 			actionsState4Tr0();
 		}
 	}
-	protected void runCycle(Collection<?> events) {
-		getOutEvents().clear();
+	public void runCycle() {
+		outEvents.clear();
 		for (State state : activeStates) {
 			switch (state) {
 				case State1 :
-					cycleState1(events);
+					reactState1();
 					break;
 				case State2 :
-					cycleState2(events);
+					reactState2();
 					break;
 				case State3 :
-					cycleState3(events);
+					reactState3();
 					break;
 				case State4 :
-					cycleState4(events);
+					reactState4();
 					break;
 				default :
 					// no state found
 			}
 		}
+		occuredEvents.clear();
 	}
 }

+ 0 - 30
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestCyleBasedStatemachine.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.runtime.java.interfacetest;
-
-import java.util.HashSet;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class InterfaceTestCyleBasedStatemachine
-		extends
-			InterfaceTestAbstractBaseStatemachine {
-
-	public InterfaceTestCyleBasedStatemachine() {
-		super(new HashSet<Event>());
-	}
-
-	public void runCycle() {
-		runCycle(getOccuredEvents());
-		// remove all events
-		getOccuredEvents().clear();
-	}
-}

+ 0 - 37
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceTestEventBasedStatemachine.java

@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.runtime.java.interfacetest;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class InterfaceTestEventBasedStatemachine
-		extends
-			InterfaceTestAbstractBaseStatemachine {
-
-	public InterfaceTestEventBasedStatemachine() {
-		super(new LinkedList<Event>());
-	}
-
-	protected Queue<Event> getOccuredEvents() {
-		return (Queue<Event>) super.getOccuredEvents();
-	}
-
-	public void runCycle() {
-		if (eventOccured()) {
-			Event event = getOccuredEvents().poll();
-			runCycle(Collections.singletonList(event));
-		}
-	}
-}

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/interfacetest/InterfaceThirdImpl.java

@@ -23,9 +23,9 @@ public class InterfaceThirdImpl extends NotificationSender
 	private final ValuedEvent<Boolean> EventEvent6 = new ValuedEvent<Boolean>(
 			"event6", false);
 
-	private InterfaceTestAbstractBaseStatemachine statemachine;
+	private InterfaceTestCycleBasedStatemachine statemachine;
 
-	public InterfaceThirdImpl(InterfaceTestAbstractBaseStatemachine statemachine) {
+	public InterfaceThirdImpl(InterfaceTestCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/InterfaceDefaultImpl.java

@@ -24,10 +24,10 @@ public class InterfaceDefaultImpl implements InterfaceDefault {
 	private final Event EventEvent8 = new Event("event8");
 	private final Event EventEvent9 = new Event("event9");
 
-	private Test_DeepHistoryAbstractBaseStatemachine statemachine;
+	private Test_DeepHistoryCycleBasedStatemachine statemachine;
 
 	public InterfaceDefaultImpl(
-			Test_DeepHistoryAbstractBaseStatemachine statemachine) {
+			Test_DeepHistoryCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 72 - 64
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryAbstractBaseStatemachine.java

@@ -10,6 +10,7 @@
  */
 package org.yakindu.sct.runtime.java.test_deephistory;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -17,9 +18,7 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.IStatemachine;
 
-public abstract class Test_DeepHistoryAbstractBaseStatemachine
-		implements
-			IStatemachine {
+public class Test_DeepHistoryCycleBasedStatemachine implements IStatemachine {
 
 	public enum State {
 		State1, State2, State3, State4, State6, State7, State8, State9, State5,
@@ -29,14 +28,13 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final Collection<Event> occuredEvents;
+	private final ArrayList<Event> occuredEvents;
 
 	private final Collection<Event> outEvents;
 
-	public Test_DeepHistoryAbstractBaseStatemachine(
-			Collection<Event> occuredEvents) {
-		this.occuredEvents = occuredEvents;
-		this.outEvents = new HashSet<Event>();
+	public Test_DeepHistoryCycleBasedStatemachine() {
+		occuredEvents = new ArrayList<Event>();
+		outEvents = new HashSet<Event>();
 		interfaceDefault = new InterfaceDefaultImpl(this);
 	}
 
@@ -49,7 +47,7 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 	}
 
 	protected boolean eventOccured() {
-		return !getOccuredEvents().isEmpty();
+		return !occuredEvents.isEmpty();
 	}
 
 	public void init() {
@@ -68,29 +66,29 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 		enterSequenceState1();
 	}
 
-	private boolean conditionState1Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent1());
+	private boolean conditionState1Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent1());
 	}
-	private boolean conditionState2Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent2());
+	private boolean conditionState2Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent2());
 	}
-	private boolean conditionState3Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent3());
+	private boolean conditionState3Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent3());
 	}
-	private boolean conditionState4Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent4());
+	private boolean conditionState4Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent4());
 	}
-	private boolean conditionState6Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent5());
+	private boolean conditionState6Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent5());
 	}
-	private boolean conditionState7Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent6());
+	private boolean conditionState7Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent6());
 	}
-	private boolean conditionState8Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent7());
+	private boolean conditionState8Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent7());
 	}
-	private boolean conditionState9Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent8());
+	private boolean conditionState9Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent8());
 	}
 	private void actionsState1Tr0() {
 		exitSequenceState1();
@@ -175,8 +173,14 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 		if (activeStates.contains(State.State3)) {
 			exitSequenceState3();
 
-		} else if (activeStates.contains(State.State4)) {
-			exitSequenceState4();
+		} else if (activeStates.contains(State.State6)) {
+			exitSequenceState6();
+
+		} else if (activeStates.contains(State.State8)) {
+			exitSequenceState8();
+
+		} else if (activeStates.contains(State.State9)) {
+			exitSequenceState9();
 
 		} else if (activeStates.contains(State.State5)) {
 			exitSequenceState5();
@@ -190,8 +194,11 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 		if (activeStates.contains(State.State6)) {
 			exitSequenceState6();
 
-		} else if (activeStates.contains(State.State7)) {
-			exitSequenceState7();
+		} else if (activeStates.contains(State.State8)) {
+			exitSequenceState8();
+
+		} else if (activeStates.contains(State.State9)) {
+			exitSequenceState9();
 
 		}
 	}
@@ -216,33 +223,33 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 	private void exitSequenceState5() {
 		activeStates.remove(State.State5);
 	}
-	private void cycleState1(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState1() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		}
 	}
-	private void cycleState2(Collection<?> events) {
+	private void reactState2() {
 	}
-	private void cycleState3(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState3() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState3Tr0(events)) {
+			if (conditionState3Tr0()) {
 				actionsState3Tr0();
 			}
 
 		}
 	}
-	private void cycleState4(Collection<?> events) {
+	private void reactState4() {
 	}
-	private void cycleState6(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState6() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState6Tr0(events)) {
+				if (conditionState6Tr0()) {
 					actionsState6Tr0();
 				}
 
@@ -250,19 +257,19 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState7(Collection<?> events) {
+	private void reactState7() {
 	}
-	private void cycleState8(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState8() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState7Tr0(events)) {
+				if (conditionState7Tr0()) {
 					actionsState7Tr0();
 				} else {
-					if (conditionState8Tr0(events)) {
+					if (conditionState8Tr0()) {
 						actionsState8Tr0();
 					}
 
@@ -272,17 +279,17 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState9(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState9() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState7Tr0(events)) {
+				if (conditionState7Tr0()) {
 					actionsState7Tr0();
 				} else {
-					if (conditionState9Tr0(events)) {
+					if (conditionState9Tr0()) {
 						actionsState9Tr0();
 					}
 
@@ -292,47 +299,48 @@ public abstract class Test_DeepHistoryAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState5(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState5() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
 
 		}
 	}
-	protected void runCycle(Collection<?> events) {
-		getOutEvents().clear();
+	public void runCycle() {
+		outEvents.clear();
 		for (State state : activeStates) {
 			switch (state) {
 				case State1 :
-					cycleState1(events);
+					reactState1();
 					break;
 				case State2 :
-					cycleState2(events);
+					reactState2();
 					break;
 				case State3 :
-					cycleState3(events);
+					reactState3();
 					break;
 				case State4 :
-					cycleState4(events);
+					reactState4();
 					break;
 				case State6 :
-					cycleState6(events);
+					reactState6();
 					break;
 				case State7 :
-					cycleState7(events);
+					reactState7();
 					break;
 				case State8 :
-					cycleState8(events);
+					reactState8();
 					break;
 				case State9 :
-					cycleState9(events);
+					reactState9();
 					break;
 				case State5 :
-					cycleState5(events);
+					reactState5();
 					break;
 				default :
 					// no state found
 			}
 		}
+		occuredEvents.clear();
 	}
 }

+ 0 - 30
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryCyleBasedStatemachine.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.runtime.java.test_deephistory;
-
-import java.util.HashSet;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_DeepHistoryCyleBasedStatemachine
-		extends
-			Test_DeepHistoryAbstractBaseStatemachine {
-
-	public Test_DeepHistoryCyleBasedStatemachine() {
-		super(new HashSet<Event>());
-	}
-
-	public void runCycle() {
-		runCycle(getOccuredEvents());
-		// remove all events
-		getOccuredEvents().clear();
-	}
-}

+ 0 - 37
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_deephistory/Test_DeepHistoryEventBasedStatemachine.java

@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.runtime.java.test_deephistory;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_DeepHistoryEventBasedStatemachine
-		extends
-			Test_DeepHistoryAbstractBaseStatemachine {
-
-	public Test_DeepHistoryEventBasedStatemachine() {
-		super(new LinkedList<Event>());
-	}
-
-	protected Queue<Event> getOccuredEvents() {
-		return (Queue<Event>) super.getOccuredEvents();
-	}
-
-	public void runCycle() {
-		if (eventOccured()) {
-			Event event = getOccuredEvents().poll();
-			runCycle(Collections.singletonList(event));
-		}
-	}
-}

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/InterfaceDefaultImpl.java

@@ -23,10 +23,10 @@ public class InterfaceDefaultImpl extends NotificationSender
 	private final ValuedEvent<Double> EventEvent2 = new ValuedEvent<Double>(
 			"event2", 0D);
 
-	private Test_ExpressionAbstractBaseStatemachine statemachine;
+	private Test_ExpressionCycleBasedStatemachine statemachine;
 
 	public InterfaceDefaultImpl(
-			Test_ExpressionAbstractBaseStatemachine statemachine) {
+			Test_ExpressionCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 2 - 3
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/InterfaceOtherImpl.java

@@ -12,10 +12,9 @@ package org.yakindu.sct.runtime.java.test_expression;
 
 public class InterfaceOtherImpl implements InterfaceOther {
 
-	private Test_ExpressionAbstractBaseStatemachine statemachine;
+	private Test_ExpressionCycleBasedStatemachine statemachine;
 
-	public InterfaceOtherImpl(
-			Test_ExpressionAbstractBaseStatemachine statemachine) {
+	public InterfaceOtherImpl(Test_ExpressionCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 22 - 23
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionAbstractBaseStatemachine.java

@@ -10,6 +10,7 @@
  */
 package org.yakindu.sct.runtime.java.test_expression;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -17,9 +18,7 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.IStatemachine;
 
-public abstract class Test_ExpressionAbstractBaseStatemachine
-		implements
-			IStatemachine {
+public class Test_ExpressionCycleBasedStatemachine implements IStatemachine {
 
 	public enum State {
 		State1, State2,
@@ -30,14 +29,13 @@ public abstract class Test_ExpressionAbstractBaseStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final Collection<Event> occuredEvents;
+	private final ArrayList<Event> occuredEvents;
 
 	private final Collection<Event> outEvents;
 
-	public Test_ExpressionAbstractBaseStatemachine(
-			Collection<Event> occuredEvents) {
-		this.occuredEvents = occuredEvents;
-		this.outEvents = new HashSet<Event>();
+	public Test_ExpressionCycleBasedStatemachine() {
+		occuredEvents = new ArrayList<Event>();
+		outEvents = new HashSet<Event>();
 		interfaceDefault = new InterfaceDefaultImpl(this);
 		interfaceOther = new InterfaceOtherImpl(this);
 	}
@@ -51,7 +49,7 @@ public abstract class Test_ExpressionAbstractBaseStatemachine
 	}
 
 	protected boolean eventOccured() {
-		return !getOccuredEvents().isEmpty();
+		return !occuredEvents.isEmpty();
 	}
 
 	public void init() {
@@ -74,15 +72,15 @@ public abstract class Test_ExpressionAbstractBaseStatemachine
 		enterSequenceState1();
 	}
 
-	private boolean conditionState1Tr0(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceDefault.getEventEvent1()) && ((interfaceOther
+	private boolean conditionState1Tr0() {
+		return (occuredEvents.contains(interfaceDefault.getEventEvent1()) && ((interfaceOther
 				.getVarVar1() == true) || (interfaceDefault.getVarVar5() == false)));
 	}
-	private boolean conditionState2Tr0(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceDefault.getEventEvent1()) && (interfaceDefault
+	private boolean conditionState2Tr0() {
+		return (occuredEvents.contains(interfaceDefault.getEventEvent1()) && (interfaceDefault
 				.getVarVar3() > 0));
 	}
-	private boolean conditionState2Lr2(Collection<?> events) {
+	private boolean conditionState2Lr2() {
 		return true;
 	}
 	private void actionsState1Tr0() {
@@ -138,34 +136,35 @@ public abstract class Test_ExpressionAbstractBaseStatemachine
 	private void exitSequenceState2() {
 		activeStates.remove(State.State2);
 	}
-	private void cycleState1(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState1() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		}
 	}
-	private void cycleState2(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState2() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState2Lr2(events)) {
+			if (conditionState2Lr2()) {
 				actionsState2Lr2();
 			}
 
 		}
 	}
-	protected void runCycle(Collection<?> events) {
-		getOutEvents().clear();
+	public void runCycle() {
+		outEvents.clear();
 		for (State state : activeStates) {
 			switch (state) {
 				case State1 :
-					cycleState1(events);
+					reactState1();
 					break;
 				case State2 :
-					cycleState2(events);
+					reactState2();
 					break;
 				default :
 					// no state found
 			}
 		}
+		occuredEvents.clear();
 	}
 }

+ 0 - 30
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionCyleBasedStatemachine.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.runtime.java.test_expression;
-
-import java.util.HashSet;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_ExpressionCyleBasedStatemachine
-		extends
-			Test_ExpressionAbstractBaseStatemachine {
-
-	public Test_ExpressionCyleBasedStatemachine() {
-		super(new HashSet<Event>());
-	}
-
-	public void runCycle() {
-		runCycle(getOccuredEvents());
-		// remove all events
-		getOccuredEvents().clear();
-	}
-}

+ 0 - 37
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_expression/Test_ExpressionEventBasedStatemachine.java

@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.runtime.java.test_expression;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_ExpressionEventBasedStatemachine
-		extends
-			Test_ExpressionAbstractBaseStatemachine {
-
-	public Test_ExpressionEventBasedStatemachine() {
-		super(new LinkedList<Event>());
-	}
-
-	protected Queue<Event> getOccuredEvents() {
-		return (Queue<Event>) super.getOccuredEvents();
-	}
-
-	public void runCycle() {
-		if (eventOccured()) {
-			Event event = getOccuredEvents().poll();
-			runCycle(Collections.singletonList(event));
-		}
-	}
-}

+ 3 - 3
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/InterfaceDefaultImpl.java

@@ -31,10 +31,10 @@ public class InterfaceDefaultImpl implements InterfaceDefault {
 	private final Event EventEvent15 = new Event("event15");
 	private final Event EventEvent16 = new Event("event16");
 
-	private Test_HierarchyAbstractBaseStatemachine statemachine;
+	private Test_HierarchyCycleBasedStatemachine statemachine;
 
 	public InterfaceDefaultImpl(
-			Test_HierarchyAbstractBaseStatemachine statemachine) {
+			Test_HierarchyCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 
@@ -166,7 +166,7 @@ public class InterfaceDefaultImpl implements InterfaceDefault {
 		return EventEvent16;
 	}
 
-	private int varS1;
+	private int varS1 = 0;
 
 	public int getVarS1() {
 		return varS1;

+ 105 - 90
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyAbstractBaseStatemachine.java

@@ -10,6 +10,7 @@
  */
 package org.yakindu.sct.runtime.java.test_hierarchy;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -17,9 +18,7 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.IStatemachine;
 
-public abstract class Test_HierarchyAbstractBaseStatemachine
-		implements
-			IStatemachine {
+public class Test_HierarchyCycleBasedStatemachine implements IStatemachine {
 
 	public enum State {
 		State1, State9, State10, State2, State3, State4, State5, State6, State7, State8,
@@ -29,14 +28,13 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final Collection<Event> occuredEvents;
+	private final ArrayList<Event> occuredEvents;
 
 	private final Collection<Event> outEvents;
 
-	public Test_HierarchyAbstractBaseStatemachine(
-			Collection<Event> occuredEvents) {
-		this.occuredEvents = occuredEvents;
-		this.outEvents = new HashSet<Event>();
+	public Test_HierarchyCycleBasedStatemachine() {
+		occuredEvents = new ArrayList<Event>();
+		outEvents = new HashSet<Event>();
 		interfaceDefault = new InterfaceDefaultImpl(this);
 	}
 
@@ -49,7 +47,7 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 	}
 
 	protected boolean eventOccured() {
-		return !getOccuredEvents().isEmpty();
+		return !occuredEvents.isEmpty();
 	}
 
 	public void init() {
@@ -68,53 +66,53 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 		enterSequenceState1();
 	}
 
-	private boolean conditionState1Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent1());
+	private boolean conditionState1Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent1());
 	}
-	private boolean conditionState9Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent9());
+	private boolean conditionState9Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent9());
 	}
-	private boolean conditionState10Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent10());
+	private boolean conditionState10Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent10());
 	}
-	private boolean conditionState2Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent6());
+	private boolean conditionState2Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent6());
 	}
-	private boolean conditionState3Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent2());
+	private boolean conditionState3Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent2());
 	}
-	private boolean conditionState3Tr1(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent11());
+	private boolean conditionState3Tr1() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent11());
 	}
-	private boolean conditionState3Tr2(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent14());
+	private boolean conditionState3Tr2() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent14());
 	}
-	private boolean conditionState4Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent7());
+	private boolean conditionState4Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent7());
 	}
-	private boolean conditionState5Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent3());
+	private boolean conditionState5Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent3());
 	}
-	private boolean conditionState5Tr1(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent12());
+	private boolean conditionState5Tr1() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent12());
 	}
-	private boolean conditionState5Tr2(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent15());
+	private boolean conditionState5Tr2() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent15());
 	}
-	private boolean conditionState6Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent8());
+	private boolean conditionState6Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent8());
 	}
-	private boolean conditionState7Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent4());
+	private boolean conditionState7Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent4());
 	}
-	private boolean conditionState8Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent5());
+	private boolean conditionState8Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent5());
 	}
-	private boolean conditionState8Tr1(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent13());
+	private boolean conditionState8Tr1() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent13());
 	}
-	private boolean conditionState8Tr2(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent16());
+	private boolean conditionState8Tr2() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent16());
 	}
 	private void actionsState1Tr0() {
 		exitSequenceState1();
@@ -363,8 +361,19 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 		if (activeStates.contains(State.State3)) {
 			exitSequenceState3();
 
-		} else if (activeStates.contains(State.State4)) {
-			exitSequenceState4();
+		} else if (activeStates.contains(State.State5)) {
+			exitSequenceState5();
+			exitActionState4();
+
+		} else if (activeStates.contains(State.State7)) {
+			exitSequenceState7();
+			exitActionState6();
+			exitActionState4();
+
+		} else if (activeStates.contains(State.State8)) {
+			exitSequenceState8();
+			exitActionState6();
+			exitActionState4();
 
 		}
 		exitActionState2();
@@ -377,8 +386,13 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 		if (activeStates.contains(State.State5)) {
 			exitSequenceState5();
 
-		} else if (activeStates.contains(State.State6)) {
-			exitSequenceState6();
+		} else if (activeStates.contains(State.State7)) {
+			exitSequenceState7();
+			exitActionState6();
+
+		} else if (activeStates.contains(State.State8)) {
+			exitSequenceState8();
+			exitActionState6();
 
 		}
 		exitActionState4();
@@ -405,41 +419,41 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 		activeStates.remove(State.State8);
 		exitActionState8();
 	}
-	private void cycleState1(Collection<?> events) {
+	private void reactState1() {
 	}
-	private void cycleState9(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState9() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		} else {
-			if (conditionState9Tr0(events)) {
+			if (conditionState9Tr0()) {
 				actionsState9Tr0();
 			}
 
 		}
 	}
-	private void cycleState10(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState10() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		} else {
-			if (conditionState10Tr0(events)) {
+			if (conditionState10Tr0()) {
 				actionsState10Tr0();
 			}
 
 		}
 	}
-	private void cycleState2(Collection<?> events) {
+	private void reactState2() {
 	}
-	private void cycleState3(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState3() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState3Tr0(events)) {
+			if (conditionState3Tr0()) {
 				actionsState3Tr0();
 			} else {
-				if (conditionState3Tr1(events)) {
+				if (conditionState3Tr1()) {
 					actionsState3Tr1();
 				} else {
-					if (conditionState3Tr2(events)) {
+					if (conditionState3Tr2()) {
 						actionsState3Tr2();
 					}
 				}
@@ -447,22 +461,22 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState4(Collection<?> events) {
+	private void reactState4() {
 	}
-	private void cycleState5(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState5() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState5Tr0(events)) {
+				if (conditionState5Tr0()) {
 					actionsState5Tr0();
 				} else {
-					if (conditionState5Tr1(events)) {
+					if (conditionState5Tr1()) {
 						actionsState5Tr1();
 					} else {
-						if (conditionState5Tr2(events)) {
+						if (conditionState5Tr2()) {
 							actionsState5Tr2();
 						}
 					}
@@ -472,19 +486,19 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState6(Collection<?> events) {
+	private void reactState6() {
 	}
-	private void cycleState7(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState7() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState6Tr0(events)) {
+				if (conditionState6Tr0()) {
 					actionsState6Tr0();
 				} else {
-					if (conditionState7Tr0(events)) {
+					if (conditionState7Tr0()) {
 						actionsState7Tr0();
 					}
 
@@ -494,23 +508,23 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState8(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState8() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState6Tr0(events)) {
+				if (conditionState6Tr0()) {
 					actionsState6Tr0();
 				} else {
-					if (conditionState8Tr0(events)) {
+					if (conditionState8Tr0()) {
 						actionsState8Tr0();
 					} else {
-						if (conditionState8Tr1(events)) {
+						if (conditionState8Tr1()) {
 							actionsState8Tr1();
 						} else {
-							if (conditionState8Tr2(events)) {
+							if (conditionState8Tr2()) {
 								actionsState8Tr2();
 							}
 						}
@@ -522,43 +536,44 @@ public abstract class Test_HierarchyAbstractBaseStatemachine
 
 		}
 	}
-	protected void runCycle(Collection<?> events) {
-		getOutEvents().clear();
+	public void runCycle() {
+		outEvents.clear();
 		for (State state : activeStates) {
 			switch (state) {
 				case State1 :
-					cycleState1(events);
+					reactState1();
 					break;
 				case State9 :
-					cycleState9(events);
+					reactState9();
 					break;
 				case State10 :
-					cycleState10(events);
+					reactState10();
 					break;
 				case State2 :
-					cycleState2(events);
+					reactState2();
 					break;
 				case State3 :
-					cycleState3(events);
+					reactState3();
 					break;
 				case State4 :
-					cycleState4(events);
+					reactState4();
 					break;
 				case State5 :
-					cycleState5(events);
+					reactState5();
 					break;
 				case State6 :
-					cycleState6(events);
+					reactState6();
 					break;
 				case State7 :
-					cycleState7(events);
+					reactState7();
 					break;
 				case State8 :
-					cycleState8(events);
+					reactState8();
 					break;
 				default :
 					// no state found
 			}
 		}
+		occuredEvents.clear();
 	}
 }

+ 0 - 30
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyCyleBasedStatemachine.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.runtime.java.test_hierarchy;
-
-import java.util.HashSet;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_HierarchyCyleBasedStatemachine
-		extends
-			Test_HierarchyAbstractBaseStatemachine {
-
-	public Test_HierarchyCyleBasedStatemachine() {
-		super(new HashSet<Event>());
-	}
-
-	public void runCycle() {
-		runCycle(getOccuredEvents());
-		// remove all events
-		getOccuredEvents().clear();
-	}
-}

+ 0 - 37
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_hierarchy/Test_HierarchyEventBasedStatemachine.java

@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.runtime.java.test_hierarchy;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_HierarchyEventBasedStatemachine
-		extends
-			Test_HierarchyAbstractBaseStatemachine {
-
-	public Test_HierarchyEventBasedStatemachine() {
-		super(new LinkedList<Event>());
-	}
-
-	protected Queue<Event> getOccuredEvents() {
-		return (Queue<Event>) super.getOccuredEvents();
-	}
-
-	public void runCycle() {
-		if (eventOccured()) {
-			Event event = getOccuredEvents().poll();
-			runCycle(Collections.singletonList(event));
-		}
-	}
-}

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/InterfaceDefaultImpl.java

@@ -19,10 +19,10 @@ public class InterfaceDefaultImpl implements InterfaceDefault {
 	private final Event EventEvent3 = new Event("Event3");
 	private final Event EventEvent4 = new Event("Event4");
 
-	private Test_LocalActionsAbstractBaseStatemachine statemachine;
+	private Test_LocalActionsCycleBasedStatemachine statemachine;
 
 	public InterfaceDefaultImpl(
-			Test_LocalActionsAbstractBaseStatemachine statemachine) {
+			Test_LocalActionsCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 34 - 33
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsAbstractBaseStatemachine.java

@@ -10,6 +10,7 @@
  */
 package org.yakindu.sct.runtime.java.test_localactions;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -21,7 +22,7 @@ import org.yakindu.sct.runtime.java.ITimerHandler;
 import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 
-public abstract class Test_LocalActionsAbstractBaseStatemachine
+public class Test_LocalActionsCycleBasedStatemachine
 		implements
 			ITimedStatemachine {
 
@@ -38,7 +39,7 @@ public abstract class Test_LocalActionsAbstractBaseStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final Collection<Event> occuredEvents;
+	private final ArrayList<Event> occuredEvents;
 
 	private final Collection<Event> outEvents;
 
@@ -46,10 +47,9 @@ public abstract class Test_LocalActionsAbstractBaseStatemachine
 
 	private long cycleStartTime;
 
-	public Test_LocalActionsAbstractBaseStatemachine(
-			Collection<Event> occuredEvents) {
-		this.occuredEvents = occuredEvents;
-		this.outEvents = new HashSet<Event>();
+	public Test_LocalActionsCycleBasedStatemachine() {
+		occuredEvents = new ArrayList<Event>();
+		outEvents = new HashSet<Event>();
 		interfaceDefault = new InterfaceDefaultImpl(this);
 	}
 
@@ -62,7 +62,7 @@ public abstract class Test_LocalActionsAbstractBaseStatemachine
 	}
 
 	protected boolean eventOccured() {
-		return !getOccuredEvents().isEmpty();
+		return !occuredEvents.isEmpty();
 	}
 
 	public void init() {
@@ -101,27 +101,27 @@ public abstract class Test_LocalActionsAbstractBaseStatemachine
 		enterSequenceState1();
 	}
 
-	private boolean conditionState1Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent1());
+	private boolean conditionState1Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent1());
 	}
-	private boolean conditionState1Lr2(Collection<?> events) {
+	private boolean conditionState1Lr2() {
 		return true;
 	}
-	private boolean conditionState1Lr3(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent2());
+	private boolean conditionState1Lr3() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent2());
 	}
-	private boolean conditionState1Lr4(Collection<?> events) {
-		return getOccuredEvents().contains(State1_time_event_0);
+	private boolean conditionState1Lr4() {
+		return occuredEvents.contains(State1_time_event_0);
 	}
-	private boolean conditionState2Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent3());
+	private boolean conditionState2Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent3());
 	}
-	private boolean conditionState2Lr2(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceDefault.getEventEvent2()) || getOccuredEvents()
+	private boolean conditionState2Lr2() {
+		return (occuredEvents.contains(interfaceDefault.getEventEvent2()) || occuredEvents
 				.contains(interfaceDefault.getEventEvent4()));
 	}
-	private boolean conditionState2Lr3(Collection<?> events) {
-		return getOccuredEvents().contains(State2_time_event_0);
+	private boolean conditionState2Lr3() {
+		return occuredEvents.contains(State2_time_event_0);
 	}
 	private void actionsState1Tr0() {
 		exitSequenceState1();
@@ -191,49 +191,50 @@ public abstract class Test_LocalActionsAbstractBaseStatemachine
 		activeStates.remove(State.State2);
 		exitActionState2();
 	}
-	private void cycleState1(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState1() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		} else {
-			if (conditionState1Lr2(events)) {
+			if (conditionState1Lr2()) {
 				actionsState1Lr2();
 			}
-			if (conditionState1Lr3(events)) {
+			if (conditionState1Lr3()) {
 				actionsState1Lr3();
 			}
-			if (conditionState1Lr4(events)) {
+			if (conditionState1Lr4()) {
 				actionsState1Lr4();
 			}
 
 		}
 	}
-	private void cycleState2(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState2() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState2Lr2(events)) {
+			if (conditionState2Lr2()) {
 				actionsState2Lr2();
 			}
-			if (conditionState2Lr3(events)) {
+			if (conditionState2Lr3()) {
 				actionsState2Lr3();
 			}
 
 		}
 	}
-	protected void runCycle(Collection<?> events) {
+	public void runCycle() {
 		cycleStartTime = System.currentTimeMillis();
-		getOutEvents().clear();
+		outEvents.clear();
 		for (State state : activeStates) {
 			switch (state) {
 				case State1 :
-					cycleState1(events);
+					reactState1();
 					break;
 				case State2 :
-					cycleState2(events);
+					reactState2();
 					break;
 				default :
 					// no state found
 			}
 		}
+		occuredEvents.clear();
 	}
 }

+ 0 - 30
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsCyleBasedStatemachine.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.runtime.java.test_localactions;
-
-import java.util.HashSet;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_LocalActionsCyleBasedStatemachine
-		extends
-			Test_LocalActionsAbstractBaseStatemachine {
-
-	public Test_LocalActionsCyleBasedStatemachine() {
-		super(new HashSet<Event>());
-	}
-
-	public void runCycle() {
-		runCycle(getOccuredEvents());
-		// remove all events
-		getOccuredEvents().clear();
-	}
-}

+ 0 - 37
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_localactions/Test_LocalActionsEventBasedStatemachine.java

@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.runtime.java.test_localactions;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_LocalActionsEventBasedStatemachine
-		extends
-			Test_LocalActionsAbstractBaseStatemachine {
-
-	public Test_LocalActionsEventBasedStatemachine() {
-		super(new LinkedList<Event>());
-	}
-
-	protected Queue<Event> getOccuredEvents() {
-		return (Queue<Event>) super.getOccuredEvents();
-	}
-
-	public void runCycle() {
-		if (eventOccured()) {
-			Event event = getOccuredEvents().poll();
-			runCycle(Collections.singletonList(event));
-		}
-	}
-}

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/InterfaceDefaultImpl.java

@@ -21,10 +21,10 @@ public class InterfaceDefaultImpl implements InterfaceDefault {
 	private final Event EventEvent5 = new Event("event5");
 	private final Event EventEvent6 = new Event("event6");
 
-	private Test_ParallelRegionsAbstractBaseStatemachine statemachine;
+	private Test_ParallelRegionsCycleBasedStatemachine statemachine;
 
 	public InterfaceDefaultImpl(
-			Test_ParallelRegionsAbstractBaseStatemachine statemachine) {
+			Test_ParallelRegionsCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 56 - 51
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsAbstractBaseStatemachine.java

@@ -10,6 +10,7 @@
  */
 package org.yakindu.sct.runtime.java.test_parallelregions;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -17,7 +18,7 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.IStatemachine;
 
-public abstract class Test_ParallelRegionsAbstractBaseStatemachine
+public class Test_ParallelRegionsCycleBasedStatemachine
 		implements
 			IStatemachine {
 
@@ -29,14 +30,13 @@ public abstract class Test_ParallelRegionsAbstractBaseStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final Collection<Event> occuredEvents;
+	private final ArrayList<Event> occuredEvents;
 
 	private final Collection<Event> outEvents;
 
-	public Test_ParallelRegionsAbstractBaseStatemachine(
-			Collection<Event> occuredEvents) {
-		this.occuredEvents = occuredEvents;
-		this.outEvents = new HashSet<Event>();
+	public Test_ParallelRegionsCycleBasedStatemachine() {
+		occuredEvents = new ArrayList<Event>();
+		outEvents = new HashSet<Event>();
 		interfaceDefault = new InterfaceDefaultImpl(this);
 	}
 
@@ -49,7 +49,7 @@ public abstract class Test_ParallelRegionsAbstractBaseStatemachine
 	}
 
 	protected boolean eventOccured() {
-		return !getOccuredEvents().isEmpty();
+		return !occuredEvents.isEmpty();
 	}
 
 	public void init() {
@@ -68,24 +68,24 @@ public abstract class Test_ParallelRegionsAbstractBaseStatemachine
 		enterSequenceState1();
 	}
 
-	private boolean conditionState1Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent1());
+	private boolean conditionState1Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent1());
 	}
-	private boolean conditionState3Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent2());
+	private boolean conditionState3Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent2());
 	}
-	private boolean conditionState5Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent3());
+	private boolean conditionState5Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent3());
 	}
-	private boolean conditionState6Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent4());
+	private boolean conditionState6Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent4());
 	}
-	private boolean conditionState7Tr0(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceDefault.getEventEvent5()) || getOccuredEvents()
+	private boolean conditionState7Tr0() {
+		return (occuredEvents.contains(interfaceDefault.getEventEvent5()) || occuredEvents
 				.contains(interfaceDefault.getEventEvent3()));
 	}
-	private boolean conditionState8Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent6());
+	private boolean conditionState8Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent6());
 	}
 	private void actionsState1Tr0() {
 		exitSequenceState1();
@@ -162,11 +162,16 @@ public abstract class Test_ParallelRegionsAbstractBaseStatemachine
 		if (activeStates.contains(State.State3)) {
 			exitSequenceState3();
 
-		} else if (activeStates.contains(State.State4)) {
-			exitSequenceState4();
+		} else if (activeStates.contains(State.State5)) {
+			exitSequenceState5();
 
-		}
-		if (activeStates.contains(State.State7)) {
+		} else if (activeStates.contains(State.State6)) {
+			exitSequenceState6();
+
+		} else if (activeStates.contains(State.State9)) {
+			exitSequenceState9();
+
+		} else if (activeStates.contains(State.State7)) {
 			exitSequenceState7();
 
 		} else if (activeStates.contains(State.State8)) {
@@ -184,8 +189,7 @@ public abstract class Test_ParallelRegionsAbstractBaseStatemachine
 		} else if (activeStates.contains(State.State6)) {
 			exitSequenceState6();
 
-		}
-		if (activeStates.contains(State.State9)) {
+		} else if (activeStates.contains(State.State9)) {
 			exitSequenceState9();
 
 		}
@@ -205,82 +209,83 @@ public abstract class Test_ParallelRegionsAbstractBaseStatemachine
 	private void exitSequenceState8() {
 		activeStates.remove(State.State8);
 	}
-	private void cycleState1(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState1() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		}
 	}
-	private void cycleState2(Collection<?> events) {
+	private void reactState2() {
 	}
-	private void cycleState3(Collection<?> events) {
-		if (conditionState3Tr0(events)) {
+	private void reactState3() {
+		if (conditionState3Tr0()) {
 			actionsState3Tr0();
 		}
 
 	}
-	private void cycleState4(Collection<?> events) {
+	private void reactState4() {
 	}
-	private void cycleState5(Collection<?> events) {
-		if (conditionState5Tr0(events)) {
+	private void reactState5() {
+		if (conditionState5Tr0()) {
 			actionsState5Tr0();
 		}
 
 	}
-	private void cycleState6(Collection<?> events) {
-		if (conditionState6Tr0(events)) {
+	private void reactState6() {
+		if (conditionState6Tr0()) {
 			actionsState6Tr0();
 		}
 
 	}
-	private void cycleState9(Collection<?> events) {
+	private void reactState9() {
 
 	}
-	private void cycleState7(Collection<?> events) {
-		if (conditionState7Tr0(events)) {
+	private void reactState7() {
+		if (conditionState7Tr0()) {
 			actionsState7Tr0();
 		}
 
 	}
-	private void cycleState8(Collection<?> events) {
-		if (conditionState8Tr0(events)) {
+	private void reactState8() {
+		if (conditionState8Tr0()) {
 			actionsState8Tr0();
 		}
 
 	}
-	protected void runCycle(Collection<?> events) {
-		getOutEvents().clear();
+	public void runCycle() {
+		outEvents.clear();
 		for (State state : activeStates) {
 			switch (state) {
 				case State1 :
-					cycleState1(events);
+					reactState1();
 					break;
 				case State2 :
-					cycleState2(events);
+					reactState2();
 					break;
 				case State3 :
-					cycleState3(events);
+					reactState3();
 					break;
 				case State4 :
-					cycleState4(events);
+					reactState4();
 					break;
 				case State5 :
-					cycleState5(events);
+					reactState5();
 					break;
 				case State6 :
-					cycleState6(events);
+					reactState6();
 					break;
 				case State9 :
-					cycleState9(events);
+					reactState9();
 					break;
 				case State7 :
-					cycleState7(events);
+					reactState7();
 					break;
 				case State8 :
-					cycleState8(events);
+					reactState8();
 					break;
 				default :
 					// no state found
 			}
 		}
+		occuredEvents.clear();
 	}
 }

+ 0 - 30
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsCyleBasedStatemachine.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.runtime.java.test_parallelregions;
-
-import java.util.HashSet;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_ParallelRegionsCyleBasedStatemachine
-		extends
-			Test_ParallelRegionsAbstractBaseStatemachine {
-
-	public Test_ParallelRegionsCyleBasedStatemachine() {
-		super(new HashSet<Event>());
-	}
-
-	public void runCycle() {
-		runCycle(getOccuredEvents());
-		// remove all events
-		getOccuredEvents().clear();
-	}
-}

+ 0 - 37
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_parallelregions/Test_ParallelRegionsEventBasedStatemachine.java

@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.runtime.java.test_parallelregions;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_ParallelRegionsEventBasedStatemachine
-		extends
-			Test_ParallelRegionsAbstractBaseStatemachine {
-
-	public Test_ParallelRegionsEventBasedStatemachine() {
-		super(new LinkedList<Event>());
-	}
-
-	protected Queue<Event> getOccuredEvents() {
-		return (Queue<Event>) super.getOccuredEvents();
-	}
-
-	public void runCycle() {
-		if (eventOccured()) {
-			Event event = getOccuredEvents().poll();
-			runCycle(Collections.singletonList(event));
-		}
-	}
-}

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/InterfaceDefaultImpl.java

@@ -23,10 +23,10 @@ public class InterfaceDefaultImpl implements InterfaceDefault {
 	private final Event EventEvent7 = new Event("event7");
 	private final Event EventEvent8 = new Event("event8");
 
-	private Test_ShallowHistoryAbstractBaseStatemachine statemachine;
+	private Test_ShallowHistoryCycleBasedStatemachine statemachine;
 
 	public InterfaceDefaultImpl(
-			Test_ShallowHistoryAbstractBaseStatemachine statemachine) {
+			Test_ShallowHistoryCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 72 - 64
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryAbstractBaseStatemachine.java

@@ -10,6 +10,7 @@
  */
 package org.yakindu.sct.runtime.java.test_shallowhistory;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -17,9 +18,7 @@ import java.util.Set;
 import org.yakindu.sct.runtime.java.Event;
 import org.yakindu.sct.runtime.java.IStatemachine;
 
-public abstract class Test_ShallowHistoryAbstractBaseStatemachine
-		implements
-			IStatemachine {
+public class Test_ShallowHistoryCycleBasedStatemachine implements IStatemachine {
 
 	public enum State {
 		State1, State2, State3, State4, State6, State7, State8, State9, State5,
@@ -29,14 +28,13 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final Collection<Event> occuredEvents;
+	private final ArrayList<Event> occuredEvents;
 
 	private final Collection<Event> outEvents;
 
-	public Test_ShallowHistoryAbstractBaseStatemachine(
-			Collection<Event> occuredEvents) {
-		this.occuredEvents = occuredEvents;
-		this.outEvents = new HashSet<Event>();
+	public Test_ShallowHistoryCycleBasedStatemachine() {
+		occuredEvents = new ArrayList<Event>();
+		outEvents = new HashSet<Event>();
 		interfaceDefault = new InterfaceDefaultImpl(this);
 	}
 
@@ -49,7 +47,7 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 	}
 
 	protected boolean eventOccured() {
-		return !getOccuredEvents().isEmpty();
+		return !occuredEvents.isEmpty();
 	}
 
 	public void init() {
@@ -68,29 +66,29 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 		enterSequenceState1();
 	}
 
-	private boolean conditionState1Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent1());
+	private boolean conditionState1Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent1());
 	}
-	private boolean conditionState2Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent2());
+	private boolean conditionState2Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent2());
 	}
-	private boolean conditionState3Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent3());
+	private boolean conditionState3Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent3());
 	}
-	private boolean conditionState4Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent4());
+	private boolean conditionState4Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent4());
 	}
-	private boolean conditionState6Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent5());
+	private boolean conditionState6Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent5());
 	}
-	private boolean conditionState7Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent6());
+	private boolean conditionState7Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent6());
 	}
-	private boolean conditionState8Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent7());
+	private boolean conditionState8Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent7());
 	}
-	private boolean conditionState9Tr0(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent8());
+	private boolean conditionState9Tr0() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent8());
 	}
 	private void actionsState1Tr0() {
 		exitSequenceState1();
@@ -175,8 +173,14 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 		if (activeStates.contains(State.State3)) {
 			exitSequenceState3();
 
-		} else if (activeStates.contains(State.State4)) {
-			exitSequenceState4();
+		} else if (activeStates.contains(State.State6)) {
+			exitSequenceState6();
+
+		} else if (activeStates.contains(State.State8)) {
+			exitSequenceState8();
+
+		} else if (activeStates.contains(State.State9)) {
+			exitSequenceState9();
 
 		} else if (activeStates.contains(State.State5)) {
 			exitSequenceState5();
@@ -190,8 +194,11 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 		if (activeStates.contains(State.State6)) {
 			exitSequenceState6();
 
-		} else if (activeStates.contains(State.State7)) {
-			exitSequenceState7();
+		} else if (activeStates.contains(State.State8)) {
+			exitSequenceState8();
+
+		} else if (activeStates.contains(State.State9)) {
+			exitSequenceState9();
 
 		}
 	}
@@ -216,33 +223,33 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 	private void exitSequenceState5() {
 		activeStates.remove(State.State5);
 	}
-	private void cycleState1(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState1() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		}
 	}
-	private void cycleState2(Collection<?> events) {
+	private void reactState2() {
 	}
-	private void cycleState3(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState3() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState3Tr0(events)) {
+			if (conditionState3Tr0()) {
 				actionsState3Tr0();
 			}
 
 		}
 	}
-	private void cycleState4(Collection<?> events) {
+	private void reactState4() {
 	}
-	private void cycleState6(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState6() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState6Tr0(events)) {
+				if (conditionState6Tr0()) {
 					actionsState6Tr0();
 				}
 
@@ -250,19 +257,19 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState7(Collection<?> events) {
+	private void reactState7() {
 	}
-	private void cycleState8(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState8() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState7Tr0(events)) {
+				if (conditionState7Tr0()) {
 					actionsState7Tr0();
 				} else {
-					if (conditionState8Tr0(events)) {
+					if (conditionState8Tr0()) {
 						actionsState8Tr0();
 					}
 
@@ -272,17 +279,17 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState9(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState9() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
-			if (conditionState4Tr0(events)) {
+			if (conditionState4Tr0()) {
 				actionsState4Tr0();
 			} else {
-				if (conditionState7Tr0(events)) {
+				if (conditionState7Tr0()) {
 					actionsState7Tr0();
 				} else {
-					if (conditionState9Tr0(events)) {
+					if (conditionState9Tr0()) {
 						actionsState9Tr0();
 					}
 
@@ -292,47 +299,48 @@ public abstract class Test_ShallowHistoryAbstractBaseStatemachine
 
 		}
 	}
-	private void cycleState5(Collection<?> events) {
-		if (conditionState2Tr0(events)) {
+	private void reactState5() {
+		if (conditionState2Tr0()) {
 			actionsState2Tr0();
 		} else {
 
 		}
 	}
-	protected void runCycle(Collection<?> events) {
-		getOutEvents().clear();
+	public void runCycle() {
+		outEvents.clear();
 		for (State state : activeStates) {
 			switch (state) {
 				case State1 :
-					cycleState1(events);
+					reactState1();
 					break;
 				case State2 :
-					cycleState2(events);
+					reactState2();
 					break;
 				case State3 :
-					cycleState3(events);
+					reactState3();
 					break;
 				case State4 :
-					cycleState4(events);
+					reactState4();
 					break;
 				case State6 :
-					cycleState6(events);
+					reactState6();
 					break;
 				case State7 :
-					cycleState7(events);
+					reactState7();
 					break;
 				case State8 :
-					cycleState8(events);
+					reactState8();
 					break;
 				case State9 :
-					cycleState9(events);
+					reactState9();
 					break;
 				case State5 :
-					cycleState5(events);
+					reactState5();
 					break;
 				default :
 					// no state found
 			}
 		}
+		occuredEvents.clear();
 	}
 }

+ 0 - 30
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryCyleBasedStatemachine.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.runtime.java.test_shallowhistory;
-
-import java.util.HashSet;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_ShallowHistoryCyleBasedStatemachine
-		extends
-			Test_ShallowHistoryAbstractBaseStatemachine {
-
-	public Test_ShallowHistoryCyleBasedStatemachine() {
-		super(new HashSet<Event>());
-	}
-
-	public void runCycle() {
-		runCycle(getOccuredEvents());
-		// remove all events
-		getOccuredEvents().clear();
-	}
-}

+ 0 - 37
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_shallowhistory/Test_ShallowHistoryEventBasedStatemachine.java

@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.runtime.java.test_shallowhistory;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_ShallowHistoryEventBasedStatemachine
-		extends
-			Test_ShallowHistoryAbstractBaseStatemachine {
-
-	public Test_ShallowHistoryEventBasedStatemachine() {
-		super(new LinkedList<Event>());
-	}
-
-	protected Queue<Event> getOccuredEvents() {
-		return (Queue<Event>) super.getOccuredEvents();
-	}
-
-	public void runCycle() {
-		if (eventOccured()) {
-			Event event = getOccuredEvents().poll();
-			runCycle(Collections.singletonList(event));
-		}
-	}
-}

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceAImpl.java

@@ -23,9 +23,9 @@ public class InterfaceAImpl extends NotificationSender implements InterfaceA {
 	private final Event EventEvent3 = new Event("event3");
 	private final Event EventEvent4 = new Event("event4");
 
-	private Test_TransitionAbstractBaseStatemachine statemachine;
+	private Test_TransitionCycleBasedStatemachine statemachine;
 
-	public InterfaceAImpl(Test_TransitionAbstractBaseStatemachine statemachine) {
+	public InterfaceAImpl(Test_TransitionCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 2 - 2
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/InterfaceDefaultImpl.java

@@ -24,10 +24,10 @@ public class InterfaceDefaultImpl extends NotificationSender
 	private final Event EventEvent6 = new Event("event6");
 	private final Event EventEvent7 = new Event("event7");
 
-	private Test_TransitionAbstractBaseStatemachine statemachine;
+	private Test_TransitionCycleBasedStatemachine statemachine;
 
 	public InterfaceDefaultImpl(
-			Test_TransitionAbstractBaseStatemachine statemachine) {
+			Test_TransitionCycleBasedStatemachine statemachine) {
 		this.statemachine = statemachine;
 	}
 

+ 40 - 39
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionAbstractBaseStatemachine.java

@@ -10,6 +10,7 @@
  */
 package org.yakindu.sct.runtime.java.test_transition;
 
+import java.util.ArrayList;
 import java.util.Collection;
 import java.util.EnumSet;
 import java.util.HashSet;
@@ -22,7 +23,7 @@ import org.yakindu.sct.runtime.java.EventNotification;
 import org.yakindu.sct.runtime.java.Notification;
 import org.yakindu.sct.runtime.java.ValuedEvent;
 
-public abstract class Test_TransitionAbstractBaseStatemachine
+public class Test_TransitionCycleBasedStatemachine
 		implements
 			ITimedStatemachine {
 
@@ -43,7 +44,7 @@ public abstract class Test_TransitionAbstractBaseStatemachine
 
 	private final Set<State> activeStates = EnumSet.noneOf(State.class);
 
-	private final Collection<Event> occuredEvents;
+	private final ArrayList<Event> occuredEvents;
 
 	private final Collection<Event> outEvents;
 
@@ -51,10 +52,9 @@ public abstract class Test_TransitionAbstractBaseStatemachine
 
 	private long cycleStartTime;
 
-	public Test_TransitionAbstractBaseStatemachine(
-			Collection<Event> occuredEvents) {
-		this.occuredEvents = occuredEvents;
-		this.outEvents = new HashSet<Event>();
+	public Test_TransitionCycleBasedStatemachine() {
+		occuredEvents = new ArrayList<Event>();
+		outEvents = new HashSet<Event>();
 		interfaceA = new InterfaceAImpl(this);
 		interfaceDefault = new InterfaceDefaultImpl(this);
 	}
@@ -68,7 +68,7 @@ public abstract class Test_TransitionAbstractBaseStatemachine
 	}
 
 	protected boolean eventOccured() {
-		return !getOccuredEvents().isEmpty();
+		return !occuredEvents.isEmpty();
 	}
 
 	public void init() {
@@ -124,36 +124,36 @@ public abstract class Test_TransitionAbstractBaseStatemachine
 		enterSequenceState1();
 	}
 
-	private boolean conditionState1Tr0(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceA.getEventEvent1()) || getOccuredEvents()
+	private boolean conditionState1Tr0() {
+		return (occuredEvents.contains(interfaceA.getEventEvent1()) || occuredEvents
 				.contains(interfaceA.getEventEvent2()));
 	}
-	private boolean conditionState1Tr1(Collection<?> events) {
+	private boolean conditionState1Tr1() {
 		return (interfaceDefault.getVarI() == 5);
 	}
-	private boolean conditionState1Tr2(Collection<?> events) {
-		return (getOccuredEvents().contains(interfaceA.getEventEvent3()) && (interfaceDefault
+	private boolean conditionState1Tr2() {
+		return (occuredEvents.contains(interfaceA.getEventEvent3()) && (interfaceDefault
 				.getVarJ() < 20));
 	}
-	private boolean conditionState1Tr3(Collection<?> events) {
-		return ((getOccuredEvents().contains(interfaceA.getEventEvent3()) || getOccuredEvents()
+	private boolean conditionState1Tr3() {
+		return ((occuredEvents.contains(interfaceA.getEventEvent3()) || occuredEvents
 				.contains(interfaceA.getEventEvent4())) && (interfaceDefault
 				.getVarJ() > 30));
 	}
-	private boolean conditionState1Tr4(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent6());
+	private boolean conditionState1Tr4() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent6());
 	}
-	private boolean conditionState1Tr5(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceDefault.getEventEvent7());
+	private boolean conditionState1Tr5() {
+		return occuredEvents.contains(interfaceDefault.getEventEvent7());
 	}
-	private boolean conditionState1Tr6(Collection<?> events) {
-		return getOccuredEvents().contains(State1_time_event_0);
+	private boolean conditionState1Tr6() {
+		return occuredEvents.contains(State1_time_event_0);
 	}
-	private boolean conditionState1Tr7(Collection<?> events) {
-		return getOccuredEvents().contains(State1_time_event_1);
+	private boolean conditionState1Tr7() {
+		return occuredEvents.contains(State1_time_event_1);
 	}
-	private boolean conditionState1Tr8(Collection<?> events) {
-		return getOccuredEvents().contains(interfaceA.getEventEvent1());
+	private boolean conditionState1Tr8() {
+		return occuredEvents.contains(interfaceA.getEventEvent1());
 	}
 	private void actionsState1Tr0() {
 		exitSequenceState1();
@@ -231,32 +231,32 @@ public abstract class Test_TransitionAbstractBaseStatemachine
 	private void exitSequenceState2() {
 		activeStates.remove(State.State2);
 	}
-	private void cycleState1(Collection<?> events) {
-		if (conditionState1Tr0(events)) {
+	private void reactState1() {
+		if (conditionState1Tr0()) {
 			actionsState1Tr0();
 		} else {
-			if (conditionState1Tr1(events)) {
+			if (conditionState1Tr1()) {
 				actionsState1Tr1();
 			} else {
-				if (conditionState1Tr2(events)) {
+				if (conditionState1Tr2()) {
 					actionsState1Tr2();
 				} else {
-					if (conditionState1Tr3(events)) {
+					if (conditionState1Tr3()) {
 						actionsState1Tr3();
 					} else {
-						if (conditionState1Tr4(events)) {
+						if (conditionState1Tr4()) {
 							actionsState1Tr4();
 						} else {
-							if (conditionState1Tr5(events)) {
+							if (conditionState1Tr5()) {
 								actionsState1Tr5();
 							} else {
-								if (conditionState1Tr6(events)) {
+								if (conditionState1Tr6()) {
 									actionsState1Tr6();
 								} else {
-									if (conditionState1Tr7(events)) {
+									if (conditionState1Tr7()) {
 										actionsState1Tr7();
 									} else {
-										if (conditionState1Tr8(events)) {
+										if (conditionState1Tr8()) {
 											actionsState1Tr8();
 										}
 									}
@@ -268,22 +268,23 @@ public abstract class Test_TransitionAbstractBaseStatemachine
 			}
 		}
 	}
-	private void cycleState2(Collection<?> events) {
+	private void reactState2() {
 	}
-	protected void runCycle(Collection<?> events) {
+	public void runCycle() {
 		cycleStartTime = System.currentTimeMillis();
-		getOutEvents().clear();
+		outEvents.clear();
 		for (State state : activeStates) {
 			switch (state) {
 				case State1 :
-					cycleState1(events);
+					reactState1();
 					break;
 				case State2 :
-					cycleState2(events);
+					reactState2();
 					break;
 				default :
 					// no state found
 			}
 		}
+		occuredEvents.clear();
 	}
 }

+ 0 - 30
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionCyleBasedStatemachine.java

@@ -1,30 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- *     committers of YAKINDU - initial API and implementation
- */
-package org.yakindu.sct.runtime.java.test_transition;
-
-import java.util.HashSet;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_TransitionCyleBasedStatemachine
-		extends
-			Test_TransitionAbstractBaseStatemachine {
-
-	public Test_TransitionCyleBasedStatemachine() {
-		super(new HashSet<Event>());
-	}
-
-	public void runCycle() {
-		runCycle(getOccuredEvents());
-		// remove all events
-		getOccuredEvents().clear();
-	}
-}

+ 0 - 37
test-plugins/org.yakindu.sct.generator.java.runtime.test/src-gen/org/yakindu/sct/runtime/java/test_transition/Test_TransitionEventBasedStatemachine.java

@@ -1,37 +0,0 @@
-/**
- * Copyright (c) 2011 committers of YAKINDU and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- * Contributors:
- * 	committers of YAKINDU - initial API and implementation
- * 
- */
-package org.yakindu.sct.runtime.java.test_transition;
-
-import java.util.Collections;
-import java.util.LinkedList;
-import java.util.Queue;
-
-import org.yakindu.sct.runtime.java.Event;
-
-public class Test_TransitionEventBasedStatemachine
-		extends
-			Test_TransitionAbstractBaseStatemachine {
-
-	public Test_TransitionEventBasedStatemachine() {
-		super(new LinkedList<Event>());
-	}
-
-	protected Queue<Event> getOccuredEvents() {
-		return (Queue<Event>) super.getOccuredEvents();
-	}
-
-	public void runCycle() {
-		if (eventOccured()) {
-			Event event = getOccuredEvents().poll();
-			runCycle(Collections.singletonList(event));
-		}
-	}
-}

+ 3 - 3
test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestExpressionCycleBasedStatemachine.java

@@ -5,15 +5,15 @@ import static org.junit.Assert.assertEquals;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.yakindu.sct.runtime.java.test_expression.Test_ExpressionCyleBasedStatemachine;
+import org.yakindu.sct.runtime.java.test_expression.Test_ExpressionCycleBasedStatemachine;
 
 public class TestExpressionCycleBasedStatemachine {
 	
-	private Test_ExpressionCyleBasedStatemachine statemachine;
+	private Test_ExpressionCycleBasedStatemachine statemachine;
 	
 	@Before
 	public void setUp() {
-		statemachine = new Test_ExpressionCyleBasedStatemachine();
+		statemachine = new Test_ExpressionCycleBasedStatemachine();
 		statemachine.enterSequenceStatechartTest_Expression();
 	}
 

+ 4 - 4
test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestInterfaceTestCycleBasedStatemachine.java

@@ -18,8 +18,8 @@ import static org.junit.Assert.fail;
 import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
-import org.yakindu.sct.runtime.java.interfacetest.InterfaceTestAbstractBaseStatemachine.State;
-import org.yakindu.sct.runtime.java.interfacetest.InterfaceTestCyleBasedStatemachine;
+import org.yakindu.sct.runtime.java.interfacetest.InterfaceTestCycleBasedStatemachine.State;
+import org.yakindu.sct.runtime.java.interfacetest.InterfaceTestCycleBasedStatemachine;
 
 /**
  * Testcases for 'InterfaceTest' cycle based statemachine.
@@ -29,11 +29,11 @@ import org.yakindu.sct.runtime.java.interfacetest.InterfaceTestCyleBasedStatemac
  */
 public class TestInterfaceTestCycleBasedStatemachine {
 
-	private InterfaceTestCyleBasedStatemachine statemachine;
+	private InterfaceTestCycleBasedStatemachine statemachine;
 
 	@Before
 	public void setUp() {
-		statemachine = new InterfaceTestCyleBasedStatemachine();
+		statemachine = new InterfaceTestCycleBasedStatemachine();
 		statemachine.enterSequenceStatechartInterfaceTest();
 	}
 

+ 5 - 5
test-plugins/org.yakindu.sct.generator.java.runtime.test/src/org/yakindu/sct/generator/java/runtime/test/TestLocalActionsCycleBasedStatemachine.java

@@ -18,8 +18,8 @@ import org.junit.After;
 import org.junit.Before;
 import org.junit.Test;
 import org.yakindu.sct.runtime.java.TimerHandler;
-import org.yakindu.sct.runtime.java.test_localactions.Test_LocalActionsAbstractBaseStatemachine.State;
-import org.yakindu.sct.runtime.java.test_localactions.Test_LocalActionsCyleBasedStatemachine;
+import org.yakindu.sct.runtime.java.test_localactions.Test_LocalActionsCycleBasedStatemachine.State;
+import org.yakindu.sct.runtime.java.test_localactions.Test_LocalActionsCycleBasedStatemachine;
 
 /**
  * Testcases for 'Test_LocalActions' cycle based statemachine.
@@ -29,7 +29,7 @@ import org.yakindu.sct.runtime.java.test_localactions.Test_LocalActionsCyleBased
  */
 public class TestLocalActionsCycleBasedStatemachine {
 
-	private Test_LocalActionsCyleBasedStatemachine statemachine;
+	private Test_LocalActionsCycleBasedStatemachine statemachine;
 
 	// Define the error threshold in ms. 10 ms are required to satisfy
 	// soft-realtime requirements.
@@ -42,7 +42,7 @@ public class TestLocalActionsCycleBasedStatemachine {
 
 	@Before
 	public void setUp() {
-		statemachine = new Test_LocalActionsCyleBasedStatemachine();
+		statemachine = new Test_LocalActionsCycleBasedStatemachine();
 		statemachine.setTimerHandler(new TimerHandler(statemachine));
 		statemachine.enterSequenceStatechartTest_LocalActions();
 	}
@@ -56,7 +56,7 @@ public class TestLocalActionsCycleBasedStatemachine {
 	@Test
 	public void testExceptionHandling() {
 		try {
-			Test_LocalActionsCyleBasedStatemachine statemachine = new Test_LocalActionsCyleBasedStatemachine();
+			Test_LocalActionsCycleBasedStatemachine statemachine = new Test_LocalActionsCycleBasedStatemachine();
 			statemachine.enterSequenceStatechartTest_LocalActions();
 			fail("Statemachine should throw a NullPointerException if entered without TimerHandler set before");
 		} catch (NullPointerException exception) {