瀏覽代碼

Enter parallel Regions by calling the enter sequence (YAKHMI-469)

benjamin.schwertfeger@gmail.com 13 年之前
父節點
當前提交
48790c8526
共有 26 個文件被更改,包括 1446 次插入2167 次删除
  1. 0 20
      plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/ExecutionStateItemProvider.java
  2. 0 10
      plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/ReactionItemProvider.java
  3. 0 10
      plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/SequenceItemProvider.java
  4. 0 48
      plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/SexecItemProviderAdapterFactory.java
  5. 0 10
      plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/StateCaseItemProvider.java
  6. 0 139
      plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/TraceRegionEnteredItemProvider.java
  7. 0 139
      plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/TraceRegionExitedItemProvider.java
  8. 0 6
      plugins/org.yakindu.sct.model.sexec/model/sexec.ecore
  9. 0 6
      plugins/org.yakindu.sct.model.sexec/model/sexec.genmodel
  10. 0 18
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/SexecFactory.java
  11. 0 189
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/SexecPackage.java
  12. 0 22
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/SexecFactoryImpl.java
  13. 0 64
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/SexecPackageImpl.java
  14. 0 160
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/TraceRegionEnteredImpl.java
  15. 0 160
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/TraceRegionExitedImpl.java
  16. 8 4
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/BehaviorMapping.xtend
  17. 21 15
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.xtend
  18. 1 21
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/TraceExtensions.xtend
  19. 0 36
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/util/SexecAdapterFactory.java
  20. 0 48
      plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/util/SexecSwitch.java
  21. 32 18
      plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/BehaviorMapping.java
  22. 57 48
      plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.java
  23. 0 51
      plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/TraceExtensions.java
  24. 831 528
      test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/ModelSequencerOrthogonalityTest.java
  25. 11 3
      test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/ModelSequencerSCTest.java
  26. 485 394
      test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/ModelSequencerStateTest.java

+ 0 - 20
plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/ExecutionStateItemProvider.java

@@ -320,16 +320,6 @@ public class ExecutionStateItemProvider
 				(SexecPackage.Literals.EXECUTION_STATE__ENTRY_ACTION,
 				 SexecFactory.eINSTANCE.createTraceStateExited()));
 
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.EXECUTION_STATE__ENTRY_ACTION,
-				 SexecFactory.eINSTANCE.createTraceRegionExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.EXECUTION_STATE__ENTRY_ACTION,
-				 SexecFactory.eINSTANCE.createTraceRegionEntered()));
-
 		newChildDescriptors.add
 			(createChildParameter
 				(SexecPackage.Literals.EXECUTION_STATE__EXIT_ACTION,
@@ -404,16 +394,6 @@ public class ExecutionStateItemProvider
 			(createChildParameter
 				(SexecPackage.Literals.EXECUTION_STATE__EXIT_ACTION,
 				 SexecFactory.eINSTANCE.createTraceStateExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.EXECUTION_STATE__EXIT_ACTION,
-				 SexecFactory.eINSTANCE.createTraceRegionExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.EXECUTION_STATE__EXIT_ACTION,
-				 SexecFactory.eINSTANCE.createTraceRegionEntered()));
 	}
 
 	/**

+ 0 - 10
plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/ReactionItemProvider.java

@@ -285,16 +285,6 @@ public class ReactionItemProvider
 			(createChildParameter
 				(SexecPackage.Literals.REACTION__EFFECT,
 				 SexecFactory.eINSTANCE.createTraceStateExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.REACTION__EFFECT,
-				 SexecFactory.eINSTANCE.createTraceRegionExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.REACTION__EFFECT,
-				 SexecFactory.eINSTANCE.createTraceRegionEntered()));
 	}
 
 	/**

+ 0 - 10
plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/SequenceItemProvider.java

@@ -222,16 +222,6 @@ public class SequenceItemProvider
 			(createChildParameter
 				(SexecPackage.Literals.SEQUENCE__STEPS,
 				 SexecFactory.eINSTANCE.createTraceStateExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.SEQUENCE__STEPS,
-				 SexecFactory.eINSTANCE.createTraceRegionExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.SEQUENCE__STEPS,
-				 SexecFactory.eINSTANCE.createTraceRegionEntered()));
 	}
 
 }

+ 0 - 48
plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/SexecItemProviderAdapterFactory.java

@@ -648,52 +648,6 @@ public class SexecItemProviderAdapterFactory extends SexecAdapterFactory impleme
 		return traceStateExitedItemProvider;
 	}
 
-	/**
-	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sexec.TraceRegionExited} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TraceRegionExitedItemProvider traceRegionExitedItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.yakindu.sct.model.sexec.TraceRegionExited}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createTraceRegionExitedAdapter() {
-		if (traceRegionExitedItemProvider == null) {
-			traceRegionExitedItemProvider = new TraceRegionExitedItemProvider(this);
-		}
-
-		return traceRegionExitedItemProvider;
-	}
-
-	/**
-	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sexec.TraceRegionEntered} instances.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TraceRegionEnteredItemProvider traceRegionEnteredItemProvider;
-
-	/**
-	 * This creates an adapter for a {@link org.yakindu.sct.model.sexec.TraceRegionEntered}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Adapter createTraceRegionEnteredAdapter() {
-		if (traceRegionEnteredItemProvider == null) {
-			traceRegionEnteredItemProvider = new TraceRegionEnteredItemProvider(this);
-		}
-
-		return traceRegionEnteredItemProvider;
-	}
-
 	/**
 	 * This keeps track of the one adapter used for all {@link org.yakindu.sct.model.sexec.CheckRef} instances.
 	 * <!-- begin-user-doc -->
@@ -890,8 +844,6 @@ public class SexecItemProviderAdapterFactory extends SexecAdapterFactory impleme
 		if (reactionFiredItemProvider != null) reactionFiredItemProvider.dispose();
 		if (traceStateEnteredItemProvider != null) traceStateEnteredItemProvider.dispose();
 		if (traceStateExitedItemProvider != null) traceStateExitedItemProvider.dispose();
-		if (traceRegionExitedItemProvider != null) traceRegionExitedItemProvider.dispose();
-		if (traceRegionEnteredItemProvider != null) traceRegionEnteredItemProvider.dispose();
 	}
 
 }

+ 0 - 10
plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/StateCaseItemProvider.java

@@ -249,16 +249,6 @@ public class StateCaseItemProvider
 			(createChildParameter
 				(SexecPackage.Literals.STATE_CASE__STEP,
 				 SexecFactory.eINSTANCE.createTraceStateExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.STATE_CASE__STEP,
-				 SexecFactory.eINSTANCE.createTraceRegionExited()));
-
-		newChildDescriptors.add
-			(createChildParameter
-				(SexecPackage.Literals.STATE_CASE__STEP,
-				 SexecFactory.eINSTANCE.createTraceRegionEntered()));
 	}
 
 	/**

+ 0 - 139
plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/TraceRegionEnteredItemProvider.java

@@ -1,139 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.yakindu.sct.model.sexec.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-
-import org.yakindu.sct.model.sexec.SexecPackage;
-import org.yakindu.sct.model.sexec.TraceRegionEntered;
-
-/**
- * This is the item provider adapter for a {@link org.yakindu.sct.model.sexec.TraceRegionEntered} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class TraceRegionEnteredItemProvider
-	extends TraceItemProvider
-	implements
-		IEditingDomainItemProvider,
-		IStructuredItemContentProvider,
-		ITreeItemContentProvider,
-		IItemLabelProvider,
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TraceRegionEnteredItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addRegionPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Region feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addRegionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_TraceRegionEntered_region_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_TraceRegionEntered_region_feature", "_UI_TraceRegionEntered_type"),
-				 SexecPackage.Literals.TRACE_REGION_ENTERED__REGION,
-				 true,
-				 false,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns TraceRegionEntered.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/TraceRegionEntered"));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((TraceRegionEntered)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_TraceRegionEntered_type") :
-			getString("_UI_TraceRegionEntered_type") + " " + label;
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}

+ 0 - 139
plugins/org.yakindu.sct.model.sexec.edit/src/org/yakindu/sct/model/sexec/provider/TraceRegionExitedItemProvider.java

@@ -1,139 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.yakindu.sct.model.sexec.provider;
-
-
-import java.util.Collection;
-import java.util.List;
-
-import org.eclipse.emf.common.notify.AdapterFactory;
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.edit.provider.ComposeableAdapterFactory;
-import org.eclipse.emf.edit.provider.IEditingDomainItemProvider;
-import org.eclipse.emf.edit.provider.IItemLabelProvider;
-import org.eclipse.emf.edit.provider.IItemPropertyDescriptor;
-import org.eclipse.emf.edit.provider.IItemPropertySource;
-import org.eclipse.emf.edit.provider.IStructuredItemContentProvider;
-import org.eclipse.emf.edit.provider.ITreeItemContentProvider;
-
-import org.yakindu.sct.model.sexec.SexecPackage;
-import org.yakindu.sct.model.sexec.TraceRegionExited;
-
-/**
- * This is the item provider adapter for a {@link org.yakindu.sct.model.sexec.TraceRegionExited} object.
- * <!-- begin-user-doc -->
- * <!-- end-user-doc -->
- * @generated
- */
-public class TraceRegionExitedItemProvider
-	extends TraceItemProvider
-	implements
-		IEditingDomainItemProvider,
-		IStructuredItemContentProvider,
-		ITreeItemContentProvider,
-		IItemLabelProvider,
-		IItemPropertySource {
-	/**
-	 * This constructs an instance from a factory and a notifier.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TraceRegionExitedItemProvider(AdapterFactory adapterFactory) {
-		super(adapterFactory);
-	}
-
-	/**
-	 * This returns the property descriptors for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public List<IItemPropertyDescriptor> getPropertyDescriptors(Object object) {
-		if (itemPropertyDescriptors == null) {
-			super.getPropertyDescriptors(object);
-
-			addRegionPropertyDescriptor(object);
-		}
-		return itemPropertyDescriptors;
-	}
-
-	/**
-	 * This adds a property descriptor for the Region feature.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected void addRegionPropertyDescriptor(Object object) {
-		itemPropertyDescriptors.add
-			(createItemPropertyDescriptor
-				(((ComposeableAdapterFactory)adapterFactory).getRootAdapterFactory(),
-				 getResourceLocator(),
-				 getString("_UI_TraceRegionExited_region_feature"),
-				 getString("_UI_PropertyDescriptor_description", "_UI_TraceRegionExited_region_feature", "_UI_TraceRegionExited_type"),
-				 SexecPackage.Literals.TRACE_REGION_EXITED__REGION,
-				 true,
-				 false,
-				 true,
-				 null,
-				 null,
-				 null));
-	}
-
-	/**
-	 * This returns TraceRegionExited.gif.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object getImage(Object object) {
-		return overlayImage(object, getResourceLocator().getImage("full/obj16/TraceRegionExited"));
-	}
-
-	/**
-	 * This returns the label text for the adapted class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public String getText(Object object) {
-		String label = ((TraceRegionExited)object).getName();
-		return label == null || label.length() == 0 ?
-			getString("_UI_TraceRegionExited_type") :
-			getString("_UI_TraceRegionExited_type") + " " + label;
-	}
-
-	/**
-	 * This handles model notifications by calling {@link #updateChildren} to update any cached
-	 * children and by creating a viewer notification, which it passes to {@link #fireNotifyChanged}.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void notifyChanged(Notification notification) {
-		updateChildren(notification);
-		super.notifyChanged(notification);
-	}
-
-	/**
-	 * This adds {@link org.eclipse.emf.edit.command.CommandParameter}s describing the children
-	 * that can be created under this object.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected void collectNewChildDescriptors(Collection<Object> newChildDescriptors, Object object) {
-		super.collectNewChildDescriptors(newChildDescriptors, object);
-	}
-
-}

+ 0 - 6
plugins/org.yakindu.sct.model.sexec/model/sexec.ecore

@@ -135,10 +135,4 @@
   <eClassifiers xsi:type="ecore:EClass" name="TraceStateExited" eSuperTypes="#//Trace">
     <eStructuralFeatures xsi:type="ecore:EReference" name="state" eType="#//ExecutionState"/>
   </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TraceRegionExited" eSuperTypes="#//Trace">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="region" eType="#//ExecutionRegion"/>
-  </eClassifiers>
-  <eClassifiers xsi:type="ecore:EClass" name="TraceRegionEntered" eSuperTypes="#//Trace">
-    <eStructuralFeatures xsi:type="ecore:EReference" name="region" eType="#//ExecutionRegion"/>
-  </eClassifiers>
 </ecore:EPackage>

+ 0 - 6
plugins/org.yakindu.sct.model.sexec/model/sexec.genmodel

@@ -109,11 +109,5 @@
     <genClasses ecoreClass="sexec.ecore#//TraceStateExited">
       <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sexec.ecore#//TraceStateExited/state"/>
     </genClasses>
-    <genClasses ecoreClass="sexec.ecore#//TraceRegionExited">
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sexec.ecore#//TraceRegionExited/region"/>
-    </genClasses>
-    <genClasses ecoreClass="sexec.ecore#//TraceRegionEntered">
-      <genFeatures notify="false" createChild="false" propertySortChoices="true" ecoreFeature="ecore:EReference sexec.ecore#//TraceRegionEntered/region"/>
-    </genClasses>
   </genPackages>
 </genmodel:GenModel>

+ 0 - 18
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/SexecFactory.java

@@ -250,24 +250,6 @@ public interface SexecFactory extends EFactory {
 	 */
 	TraceStateExited createTraceStateExited();
 
-	/**
-	 * Returns a new object of class '<em>Trace Region Exited</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Trace Region Exited</em>'.
-	 * @generated
-	 */
-	TraceRegionExited createTraceRegionExited();
-
-	/**
-	 * Returns a new object of class '<em>Trace Region Entered</em>'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return a new object of class '<em>Trace Region Entered</em>'.
-	 * @generated
-	 */
-	TraceRegionEntered createTraceRegionEntered();
-
 	/**
 	 * Returns a new object of class '<em>Check Ref</em>'.
 	 * <!-- begin-user-doc -->

+ 0 - 189
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/SexecPackage.java

@@ -1894,117 +1894,6 @@ public interface SexecPackage extends EPackage {
 	int TRACE_STATE_EXITED_FEATURE_COUNT = TRACE_FEATURE_COUNT + 1;
 
 
-	/**
-	 * The meta object id for the '{@link org.yakindu.sct.model.sexec.impl.TraceRegionExitedImpl <em>Trace Region Exited</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.yakindu.sct.model.sexec.impl.TraceRegionExitedImpl
-	 * @see org.yakindu.sct.model.sexec.impl.SexecPackageImpl#getTraceRegionExited()
-	 * @generated
-	 */
-	int TRACE_REGION_EXITED = 30;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_EXITED__NAME = TRACE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Comment</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_EXITED__COMMENT = TRACE__COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Caller</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_EXITED__CALLER = TRACE__CALLER;
-
-	/**
-	 * The feature id for the '<em><b>Region</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_EXITED__REGION = TRACE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Trace Region Exited</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_EXITED_FEATURE_COUNT = TRACE_FEATURE_COUNT + 1;
-
-	/**
-	 * The meta object id for the '{@link org.yakindu.sct.model.sexec.impl.TraceRegionEnteredImpl <em>Trace Region Entered</em>}' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see org.yakindu.sct.model.sexec.impl.TraceRegionEnteredImpl
-	 * @see org.yakindu.sct.model.sexec.impl.SexecPackageImpl#getTraceRegionEntered()
-	 * @generated
-	 */
-	int TRACE_REGION_ENTERED = 31;
-
-	/**
-	 * The feature id for the '<em><b>Name</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_ENTERED__NAME = TRACE__NAME;
-
-	/**
-	 * The feature id for the '<em><b>Comment</b></em>' attribute.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_ENTERED__COMMENT = TRACE__COMMENT;
-
-	/**
-	 * The feature id for the '<em><b>Caller</b></em>' reference list.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_ENTERED__CALLER = TRACE__CALLER;
-
-	/**
-	 * The feature id for the '<em><b>Region</b></em>' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_ENTERED__REGION = TRACE_FEATURE_COUNT + 0;
-
-	/**
-	 * The number of structural features of the '<em>Trace Region Entered</em>' class.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 * @ordered
-	 */
-	int TRACE_REGION_ENTERED_FEATURE_COUNT = TRACE_FEATURE_COUNT + 1;
-
-
 	/**
 	 * Returns the meta object for class '{@link org.yakindu.sct.model.sexec.ExecutionFlow <em>Execution Flow</em>}'.
 	 * <!-- begin-user-doc -->
@@ -2737,48 +2626,6 @@ public interface SexecPackage extends EPackage {
 	 */
 	EReference getTraceStateExited_State();
 
-	/**
-	 * Returns the meta object for class '{@link org.yakindu.sct.model.sexec.TraceRegionExited <em>Trace Region Exited</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Trace Region Exited</em>'.
-	 * @see org.yakindu.sct.model.sexec.TraceRegionExited
-	 * @generated
-	 */
-	EClass getTraceRegionExited();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.yakindu.sct.model.sexec.TraceRegionExited#getRegion <em>Region</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Region</em>'.
-	 * @see org.yakindu.sct.model.sexec.TraceRegionExited#getRegion()
-	 * @see #getTraceRegionExited()
-	 * @generated
-	 */
-	EReference getTraceRegionExited_Region();
-
-	/**
-	 * Returns the meta object for class '{@link org.yakindu.sct.model.sexec.TraceRegionEntered <em>Trace Region Entered</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for class '<em>Trace Region Entered</em>'.
-	 * @see org.yakindu.sct.model.sexec.TraceRegionEntered
-	 * @generated
-	 */
-	EClass getTraceRegionEntered();
-
-	/**
-	 * Returns the meta object for the reference '{@link org.yakindu.sct.model.sexec.TraceRegionEntered#getRegion <em>Region</em>}'.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @return the meta object for the reference '<em>Region</em>'.
-	 * @see org.yakindu.sct.model.sexec.TraceRegionEntered#getRegion()
-	 * @see #getTraceRegionEntered()
-	 * @generated
-	 */
-	EReference getTraceRegionEntered_Region();
-
 	/**
 	 * Returns the meta object for class '{@link org.yakindu.sct.model.sexec.CheckRef <em>Check Ref</em>}'.
 	 * <!-- begin-user-doc -->
@@ -3481,42 +3328,6 @@ public interface SexecPackage extends EPackage {
 		 */
 		EReference TRACE_STATE_EXITED__STATE = eINSTANCE.getTraceStateExited_State();
 
-		/**
-		 * The meta object literal for the '{@link org.yakindu.sct.model.sexec.impl.TraceRegionExitedImpl <em>Trace Region Exited</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.yakindu.sct.model.sexec.impl.TraceRegionExitedImpl
-		 * @see org.yakindu.sct.model.sexec.impl.SexecPackageImpl#getTraceRegionExited()
-		 * @generated
-		 */
-		EClass TRACE_REGION_EXITED = eINSTANCE.getTraceRegionExited();
-
-		/**
-		 * The meta object literal for the '<em><b>Region</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TRACE_REGION_EXITED__REGION = eINSTANCE.getTraceRegionExited_Region();
-
-		/**
-		 * The meta object literal for the '{@link org.yakindu.sct.model.sexec.impl.TraceRegionEnteredImpl <em>Trace Region Entered</em>}' class.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @see org.yakindu.sct.model.sexec.impl.TraceRegionEnteredImpl
-		 * @see org.yakindu.sct.model.sexec.impl.SexecPackageImpl#getTraceRegionEntered()
-		 * @generated
-		 */
-		EClass TRACE_REGION_ENTERED = eINSTANCE.getTraceRegionEntered();
-
-		/**
-		 * The meta object literal for the '<em><b>Region</b></em>' reference feature.
-		 * <!-- begin-user-doc -->
-		 * <!-- end-user-doc -->
-		 * @generated
-		 */
-		EReference TRACE_REGION_ENTERED__REGION = eINSTANCE.getTraceRegionEntered_Region();
-
 		/**
 		 * The meta object literal for the '{@link org.yakindu.sct.model.sexec.impl.CheckRefImpl <em>Check Ref</em>}' class.
 		 * <!-- begin-user-doc -->

+ 0 - 22
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/SexecFactoryImpl.java

@@ -109,8 +109,6 @@ public class SexecFactoryImpl extends EFactoryImpl implements SexecFactory {
 			case SexecPackage.REACTION_FIRED: return createReactionFired();
 			case SexecPackage.TRACE_STATE_ENTERED: return createTraceStateEntered();
 			case SexecPackage.TRACE_STATE_EXITED: return createTraceStateExited();
-			case SexecPackage.TRACE_REGION_EXITED: return createTraceRegionExited();
-			case SexecPackage.TRACE_REGION_ENTERED: return createTraceRegionEntered();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -366,26 +364,6 @@ public class SexecFactoryImpl extends EFactoryImpl implements SexecFactory {
 		return traceStateExited;
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TraceRegionExited createTraceRegionExited() {
-		TraceRegionExitedImpl traceRegionExited = new TraceRegionExitedImpl();
-		return traceRegionExited;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public TraceRegionEntered createTraceRegionEntered() {
-		TraceRegionEnteredImpl traceRegionEntered = new TraceRegionEnteredImpl();
-		return traceRegionEntered;
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->

+ 0 - 64
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/SexecPackageImpl.java

@@ -243,20 +243,6 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 	 */
 	private EClass traceStateExitedEClass = null;
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass traceRegionExitedEClass = null;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	private EClass traceRegionEnteredEClass = null;
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -963,42 +949,6 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 		return (EReference)traceStateExitedEClass.getEStructuralFeatures().get(0);
 	}
 
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getTraceRegionExited() {
-		return traceRegionExitedEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTraceRegionExited_Region() {
-		return (EReference)traceRegionExitedEClass.getEStructuralFeatures().get(0);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EClass getTraceRegionEntered() {
-		return traceRegionEnteredEClass;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public EReference getTraceRegionEntered_Region() {
-		return (EReference)traceRegionEnteredEClass.getEStructuralFeatures().get(0);
-	}
-
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -1195,12 +1145,6 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 
 		traceStateExitedEClass = createEClass(TRACE_STATE_EXITED);
 		createEReference(traceStateExitedEClass, TRACE_STATE_EXITED__STATE);
-
-		traceRegionExitedEClass = createEClass(TRACE_REGION_EXITED);
-		createEReference(traceRegionExitedEClass, TRACE_REGION_EXITED__REGION);
-
-		traceRegionEnteredEClass = createEClass(TRACE_REGION_ENTERED);
-		createEReference(traceRegionEnteredEClass, TRACE_REGION_ENTERED__REGION);
 	}
 
 	/**
@@ -1265,8 +1209,6 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 		reactionFiredEClass.getESuperTypes().add(this.getTrace());
 		traceStateEnteredEClass.getESuperTypes().add(this.getTrace());
 		traceStateExitedEClass.getESuperTypes().add(this.getTrace());
-		traceRegionExitedEClass.getESuperTypes().add(this.getTrace());
-		traceRegionEnteredEClass.getESuperTypes().add(this.getTrace());
 
 		// Initialize classes and features; add operations and parameters
 		initEClass(namedElementEClass, NamedElement.class, "NamedElement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -1375,12 +1317,6 @@ public class SexecPackageImpl extends EPackageImpl implements SexecPackage {
 		initEClass(traceStateExitedEClass, TraceStateExited.class, "TraceStateExited", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getTraceStateExited_State(), this.getExecutionState(), null, "state", null, 0, 1, TraceStateExited.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
-		initEClass(traceRegionExitedEClass, TraceRegionExited.class, "TraceRegionExited", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getTraceRegionExited_Region(), this.getExecutionRegion(), null, "region", null, 0, 1, TraceRegionExited.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
-		initEClass(traceRegionEnteredEClass, TraceRegionEntered.class, "TraceRegionEntered", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
-		initEReference(getTraceRegionEntered_Region(), this.getExecutionRegion(), null, "region", null, 0, 1, TraceRegionEntered.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
-
 		// Create resource
 		createResource(eNS_URI);
 	}

+ 0 - 160
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/TraceRegionEnteredImpl.java

@@ -1,160 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.yakindu.sct.model.sexec.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.yakindu.sct.model.sexec.ExecutionRegion;
-import org.yakindu.sct.model.sexec.SexecPackage;
-import org.yakindu.sct.model.sexec.TraceRegionEntered;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Trace Region Entered</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.yakindu.sct.model.sexec.impl.TraceRegionEnteredImpl#getRegion <em>Region</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TraceRegionEnteredImpl extends TraceImpl implements TraceRegionEntered {
-	/**
-	 * The cached value of the '{@link #getRegion() <em>Region</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRegion()
-	 * @generated
-	 * @ordered
-	 */
-	protected ExecutionRegion region;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TraceRegionEnteredImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return SexecPackage.Literals.TRACE_REGION_ENTERED;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ExecutionRegion getRegion() {
-		if (region != null && region.eIsProxy()) {
-			InternalEObject oldRegion = (InternalEObject)region;
-			region = (ExecutionRegion)eResolveProxy(oldRegion);
-			if (region != oldRegion) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, SexecPackage.TRACE_REGION_ENTERED__REGION, oldRegion, region));
-			}
-		}
-		return region;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ExecutionRegion basicGetRegion() {
-		return region;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setRegion(ExecutionRegion newRegion) {
-		ExecutionRegion oldRegion = region;
-		region = newRegion;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SexecPackage.TRACE_REGION_ENTERED__REGION, oldRegion, region));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case SexecPackage.TRACE_REGION_ENTERED__REGION:
-				if (resolve) return getRegion();
-				return basicGetRegion();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case SexecPackage.TRACE_REGION_ENTERED__REGION:
-				setRegion((ExecutionRegion)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case SexecPackage.TRACE_REGION_ENTERED__REGION:
-				setRegion((ExecutionRegion)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case SexecPackage.TRACE_REGION_ENTERED__REGION:
-				return region != null;
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //TraceRegionEnteredImpl

+ 0 - 160
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/impl/TraceRegionExitedImpl.java

@@ -1,160 +0,0 @@
-/**
- * <copyright>
- * </copyright>
- *
- * $Id$
- */
-package org.yakindu.sct.model.sexec.impl;
-
-import org.eclipse.emf.common.notify.Notification;
-
-import org.eclipse.emf.ecore.EClass;
-import org.eclipse.emf.ecore.InternalEObject;
-
-import org.eclipse.emf.ecore.impl.ENotificationImpl;
-
-import org.yakindu.sct.model.sexec.ExecutionRegion;
-import org.yakindu.sct.model.sexec.SexecPackage;
-import org.yakindu.sct.model.sexec.TraceRegionExited;
-
-/**
- * <!-- begin-user-doc -->
- * An implementation of the model object '<em><b>Trace Region Exited</b></em>'.
- * <!-- end-user-doc -->
- * <p>
- * The following features are implemented:
- * <ul>
- *   <li>{@link org.yakindu.sct.model.sexec.impl.TraceRegionExitedImpl#getRegion <em>Region</em>}</li>
- * </ul>
- * </p>
- *
- * @generated
- */
-public class TraceRegionExitedImpl extends TraceImpl implements TraceRegionExited {
-	/**
-	 * The cached value of the '{@link #getRegion() <em>Region</em>}' reference.
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @see #getRegion()
-	 * @generated
-	 * @ordered
-	 */
-	protected ExecutionRegion region;
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	protected TraceRegionExitedImpl() {
-		super();
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	protected EClass eStaticClass() {
-		return SexecPackage.Literals.TRACE_REGION_EXITED;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ExecutionRegion getRegion() {
-		if (region != null && region.eIsProxy()) {
-			InternalEObject oldRegion = (InternalEObject)region;
-			region = (ExecutionRegion)eResolveProxy(oldRegion);
-			if (region != oldRegion) {
-				if (eNotificationRequired())
-					eNotify(new ENotificationImpl(this, Notification.RESOLVE, SexecPackage.TRACE_REGION_EXITED__REGION, oldRegion, region));
-			}
-		}
-		return region;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public ExecutionRegion basicGetRegion() {
-		return region;
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	public void setRegion(ExecutionRegion newRegion) {
-		ExecutionRegion oldRegion = region;
-		region = newRegion;
-		if (eNotificationRequired())
-			eNotify(new ENotificationImpl(this, Notification.SET, SexecPackage.TRACE_REGION_EXITED__REGION, oldRegion, region));
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public Object eGet(int featureID, boolean resolve, boolean coreType) {
-		switch (featureID) {
-			case SexecPackage.TRACE_REGION_EXITED__REGION:
-				if (resolve) return getRegion();
-				return basicGetRegion();
-		}
-		return super.eGet(featureID, resolve, coreType);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eSet(int featureID, Object newValue) {
-		switch (featureID) {
-			case SexecPackage.TRACE_REGION_EXITED__REGION:
-				setRegion((ExecutionRegion)newValue);
-				return;
-		}
-		super.eSet(featureID, newValue);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public void eUnset(int featureID) {
-		switch (featureID) {
-			case SexecPackage.TRACE_REGION_EXITED__REGION:
-				setRegion((ExecutionRegion)null);
-				return;
-		}
-		super.eUnset(featureID);
-	}
-
-	/**
-	 * <!-- begin-user-doc -->
-	 * <!-- end-user-doc -->
-	 * @generated
-	 */
-	@Override
-	public boolean eIsSet(int featureID) {
-		switch (featureID) {
-			case SexecPackage.TRACE_REGION_EXITED__REGION:
-				return region != null;
-		}
-		return super.eIsSet(featureID);
-	}
-
-} //TraceRegionExitedImpl

+ 8 - 4
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/BehaviorMapping.xtend

@@ -327,7 +327,9 @@ class BehaviorMapping {
 				
 				// process higher order sibling regions
 				for ( region : siblingRegions.take(siblingRegions.indexOf(scope)) ) {
-					seq.addEnterRegion(region)
+					if (region.enterSequence != null) {
+						seq.steps.add(region.enterSequence.newCall)
+					}
 				}
 			} 
 			
@@ -368,12 +370,14 @@ class BehaviorMapping {
 				
 				// process lower order sibling regions 
 				for ( region : siblingRegions.drop(siblingRegions.indexOf(scope)+1) ) {
-					seq.addEnterRegion(region)
-				} 				
+					if (region.enterSequence != null) {
+						seq.steps.add(region.enterSequence.newCall)
+					}
+				}
 			} 
 			seq
 		}])
-			
+		
 		return sequence
 	}
 	

+ 21 - 15
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.xtend

@@ -41,9 +41,18 @@ class SequenceBuilder {
 	
 
 	def dispatch void defineStateEnterSequence(Region r) {
-		
+		val execState = r.create
+		val seq = sexec.factory.createSequence
+		seq.name = "enterSequence"
+		seq.comment = "Default enter sequence for region " + r.name
+
 		// process all vertices of a region
 		for ( s : r.vertices) defineStateEnterSequence(s)
+
+		val entryState = r.entry?.target?.create
+		if (entryState != null && entryState.enterSequence != null) 
+				seq.steps.add(entryState.enterSequence.newCall);
+		execState.enterSequence = seq
 	}
 	
 
@@ -84,24 +93,19 @@ class SequenceBuilder {
 	
 			for ( r : state.regions ) {
 				defineStateEnterSequence(r)
-				
-				seq.addEnterRegion(r)
+
+				val execRegion = r.create
+				if (execRegion.enterSequence != null) {
+					seq.steps.add(execRegion.enterSequence.newCall)
+				}
 			} 
 		}
 
 		execState.enterSequence = seq
 	}
-	
-	
-	def dispatch addEnterRegion(Sequence seq, Region r) {
-		val entryState = r.entry?.target?.create
-					
-		if (entryState != null && entryState.enterSequence != null) 
-				seq.steps.add(entryState.enterSequence.newCall);
-	}
-	
+
 	// TODO: refactor - don't access source element...
-	def dispatch addEnterRegion(Sequence seq, ExecutionRegion r) {
+	def addEnterRegion(Sequence seq, ExecutionRegion r) {
 		val entryState = (r.sourceElement as Region).entry?.target?.create
 					
 		if (entryState != null && entryState.enterSequence != null) 
@@ -233,8 +237,10 @@ class SequenceBuilder {
 		}
 		
 		for ( r : sc.regions) {
-			enterSequence.addEnterRegion(r)
-			
+			val execRegion = r.create
+			if (execRegion.enterSequence != null) {
+				enterSequence.steps.add(execRegion.enterSequence.newCall)
+			}
 		} 
 		
 		flow.enterSequence = enterSequence

+ 1 - 21
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/transformation/TraceExtensions.xtend

@@ -47,32 +47,12 @@ class TraceExtensions {
 		t
 	}
 
-	def newTraceRegionExited(ExecutionRegion state) {
-		val t = sexec.factory.createTraceRegionExited
-		t.region = state
-		t
-	}
-	def newTraceRegionEntered(ExecutionRegion state) {
-		val t = sexec.factory.createTraceRegionEntered
-		t.region = state
-		t
-	}
-	
 	def traceStateExited(Sequence seq, ExecutionState state) {
 		if (addTraceSteps) {
 			seq.steps.add(state.newTraceStateExited)
 		}
 	}
-	def traceRegionExited(Sequence seq, ExecutionRegion state) {
-		if (addTraceSteps) {
-			seq.steps.add(state.newTraceRegionExited)
-		}
-	}
-	def traceRegionEntered(Sequence seq, ExecutionRegion state) {
-		if (addTraceSteps) {
-			seq.steps.add(state.newTraceRegionEntered)
-		}
-	}
+
 	def traceStateExited(Sequence seq, RegularState state) {
 		if (addTraceSteps) {
 			traceStateExited(seq, state.create)

+ 0 - 36
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/util/SexecAdapterFactory.java

@@ -217,14 +217,6 @@ public class SexecAdapterFactory extends AdapterFactoryImpl {
 				return createTraceStateExitedAdapter();
 			}
 			@Override
-			public Adapter caseTraceRegionExited(TraceRegionExited object) {
-				return createTraceRegionExitedAdapter();
-			}
-			@Override
-			public Adapter caseTraceRegionEntered(TraceRegionEntered object) {
-				return createTraceRegionEnteredAdapter();
-			}
-			@Override
 			public Adapter caseScopedElement(ScopedElement object) {
 				return createScopedElementAdapter();
 			}
@@ -638,34 +630,6 @@ public class SexecAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
-	/**
-	 * Creates a new adapter for an object of class '{@link org.yakindu.sct.model.sexec.TraceRegionExited <em>Trace Region Exited</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.yakindu.sct.model.sexec.TraceRegionExited
-	 * @generated
-	 */
-	public Adapter createTraceRegionExitedAdapter() {
-		return null;
-	}
-
-	/**
-	 * Creates a new adapter for an object of class '{@link org.yakindu.sct.model.sexec.TraceRegionEntered <em>Trace Region Entered</em>}'.
-	 * <!-- begin-user-doc -->
-	 * This default implementation returns null so that we can easily ignore cases;
-	 * it's useful to ignore a case when inheritance will catch all the cases anyway.
-	 * <!-- end-user-doc -->
-	 * @return the new adapter.
-	 * @see org.yakindu.sct.model.sexec.TraceRegionEntered
-	 * @generated
-	 */
-	public Adapter createTraceRegionEnteredAdapter() {
-		return null;
-	}
-
 	/**
 	 * Creates a new adapter for an object of class '{@link org.yakindu.sct.model.sexec.CheckRef <em>Check Ref</em>}'.
 	 * <!-- begin-user-doc -->

+ 0 - 48
plugins/org.yakindu.sct.model.sexec/src/org/yakindu/sct/model/sexec/util/SexecSwitch.java

@@ -340,24 +340,6 @@ public class SexecSwitch<T> extends Switch<T> {
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
-			case SexecPackage.TRACE_REGION_EXITED: {
-				TraceRegionExited traceRegionExited = (TraceRegionExited)theEObject;
-				T result = caseTraceRegionExited(traceRegionExited);
-				if (result == null) result = caseTrace(traceRegionExited);
-				if (result == null) result = caseStep(traceRegionExited);
-				if (result == null) result = caseNamedElement(traceRegionExited);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
-			case SexecPackage.TRACE_REGION_ENTERED: {
-				TraceRegionEntered traceRegionEntered = (TraceRegionEntered)theEObject;
-				T result = caseTraceRegionEntered(traceRegionEntered);
-				if (result == null) result = caseTrace(traceRegionEntered);
-				if (result == null) result = caseStep(traceRegionEntered);
-				if (result == null) result = caseNamedElement(traceRegionEntered);
-				if (result == null) result = defaultCase(theEObject);
-				return result;
-			}
 			default: return defaultCase(theEObject);
 		}
 	}
@@ -767,36 +749,6 @@ public class SexecSwitch<T> extends Switch<T> {
 		return null;
 	}
 
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Trace Region Exited</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Trace Region Exited</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseTraceRegionExited(TraceRegionExited object) {
-		return null;
-	}
-
-	/**
-	 * Returns the result of interpreting the object as an instance of '<em>Trace Region Entered</em>'.
-	 * <!-- begin-user-doc -->
-	 * This implementation returns null;
-	 * returning a non-null result will terminate the switch.
-	 * <!-- end-user-doc -->
-	 * @param object the target of the switch.
-	 * @return the result of interpreting the object as an instance of '<em>Trace Region Entered</em>'.
-	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
-	 * @generated
-	 */
-	public T caseTraceRegionEntered(TraceRegionEntered object) {
-		return null;
-	}
-
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Check Ref</em>'.
 	 * <!-- begin-user-doc -->

+ 32 - 18
plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/BehaviorMapping.java

@@ -768,25 +768,32 @@ public class BehaviorMapping {
                   int _indexOf = siblingRegions.indexOf(scope);
                   Iterable<ExecutionScope> _take_1 = IterableExtensions.<ExecutionScope>take(siblingRegions, _indexOf);
                   for (final ExecutionScope region : _take_1) {
-                    BehaviorMapping.this.seqBuilder.addEnterRegion(seq_1, region);
+                    Sequence _enterSequence = region.getEnterSequence();
+                    boolean _operator_notEquals_9 = ObjectExtensions.operator_notEquals(_enterSequence, null);
+                    if (_operator_notEquals_9) {
+                      EList<Step> _steps_9 = seq_1.getSteps();
+                      Sequence _enterSequence_1 = region.getEnterSequence();
+                      Call _newCall_3 = BehaviorMapping.this.factory.newCall(_enterSequence_1);
+                      _steps_9.add(_newCall_3);
+                    }
                   }
                 }
               }
               if ((scope instanceof org.yakindu.sct.model.sexec.ExecutionState)) {
                 {
                   Step _entryAction = ((ExecutionState) scope).getEntryAction();
-                  boolean _operator_notEquals_9 = ObjectExtensions.operator_notEquals(_entryAction, null);
-                  if (_operator_notEquals_9) {
-                    EList<Step> _steps_9 = seq_1.getSteps();
+                  boolean _operator_notEquals_10 = ObjectExtensions.operator_notEquals(_entryAction, null);
+                  if (_operator_notEquals_10) {
+                    EList<Step> _steps_10 = seq_1.getSteps();
                     Step _entryAction_1 = ((ExecutionState) scope).getEntryAction();
-                    Call _newCall_3 = BehaviorMapping.this.factory.newCall(_entryAction_1);
-                    _steps_9.add(_newCall_3);
+                    Call _newCall_4 = BehaviorMapping.this.factory.newCall(_entryAction_1);
+                    _steps_10.add(_newCall_4);
                   }
                   boolean _isAddTraceSteps_3 = BehaviorMapping.this.trace.isAddTraceSteps();
                   if (_isAddTraceSteps_3) {
-                    EList<Step> _steps_10 = seq_1.getSteps();
+                    EList<Step> _steps_11 = seq_1.getSteps();
                     TraceStateEntered _newTraceStateEntered = BehaviorMapping.this.trace.newTraceStateEntered(((ExecutionState) scope));
-                    _steps_10.add(_newTraceStateEntered);
+                    _steps_11.add(_newTraceStateEntered);
                   }
                 }
               }
@@ -797,8 +804,8 @@ public class BehaviorMapping {
         };
       IterableExtensions.<ExecutionScope, Sequence>fold(_reverse, sequence, _function_1);
       Vertex _target = t.getTarget();
-      boolean _operator_notEquals_10 = ObjectExtensions.operator_notEquals(_target, null);
-      if (_operator_notEquals_10) {
+      boolean _operator_notEquals_11 = ObjectExtensions.operator_notEquals(_target, null);
+      if (_operator_notEquals_11) {
         {
           Vertex _target_1 = t.getTarget();
           Region _parentRegion = _target_1.getParentRegion();
@@ -807,21 +814,21 @@ public class BehaviorMapping {
           final EList<Region> siblingRegions_1 = _regions;
           Vertex _target_2 = t.getTarget();
           if ((_target_2 instanceof org.yakindu.sct.model.sgraph.RegularState)) {
-            EList<Step> _steps_11 = sequence.getSteps();
+            EList<Step> _steps_12 = sequence.getSteps();
             Vertex _target_3 = t.getTarget();
             ExecutionState _create_8 = this.factory.create(((RegularState) _target_3));
-            Sequence _enterSequence = _create_8.getEnterSequence();
-            Call _newCall_4 = this.factory.newCall(_enterSequence);
-            _steps_11.add(_newCall_4);
+            Sequence _enterSequence_2 = _create_8.getEnterSequence();
+            Call _newCall_5 = this.factory.newCall(_enterSequence_2);
+            _steps_12.add(_newCall_5);
           } else {
             Vertex _target_4 = t.getTarget();
             if ((_target_4 instanceof org.yakindu.sct.model.sgraph.Choice)) {
-              EList<Step> _steps_12 = sequence.getSteps();
+              EList<Step> _steps_13 = sequence.getSteps();
               Vertex _target_5 = t.getTarget();
               ExecutionChoice _create_9 = this.factory.create(((Choice) _target_5));
               Sequence _reactSequence = _create_9.getReactSequence();
-              Call _newCall_5 = this.factory.newCall(_reactSequence);
-              _steps_12.add(_newCall_5);
+              Call _newCall_6 = this.factory.newCall(_reactSequence);
+              _steps_13.add(_newCall_6);
             }
           }
         }
@@ -841,7 +848,14 @@ public class BehaviorMapping {
                   int _operator_plus = IntegerExtensions.operator_plus(((Integer)_indexOf_1), ((Integer)1));
                   Iterable<ExecutionScope> _drop_3 = IterableExtensions.<ExecutionScope>drop(siblingRegions_2, _operator_plus);
                   for (final ExecutionScope region_1 : _drop_3) {
-                    BehaviorMapping.this.seqBuilder.addEnterRegion(seq_2, region_1);
+                    Sequence _enterSequence_3 = region_1.getEnterSequence();
+                    boolean _operator_notEquals_12 = ObjectExtensions.operator_notEquals(_enterSequence_3, null);
+                    if (_operator_notEquals_12) {
+                      EList<Step> _steps_14 = seq_2.getSteps();
+                      Sequence _enterSequence_4 = region_1.getEnterSequence();
+                      Call _newCall_7 = BehaviorMapping.this.factory.newCall(_enterSequence_4);
+                      _steps_14.add(_newCall_7);
+                    }
                   }
                 }
               }

+ 57 - 48
plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/SequenceBuilder.java

@@ -82,9 +82,40 @@ public class SequenceBuilder {
   }
   
   protected void _defineStateEnterSequence(final Region r) {
-    EList<Vertex> _vertices = r.getVertices();
-    for (final Vertex s : _vertices) {
-      this.defineStateEnterSequence(s);
+    {
+      ExecutionRegion _create = this.mapping.create(r);
+      final ExecutionRegion execState = _create;
+      SexecFactory _factory = this.sexec.factory();
+      Sequence _createSequence = _factory.createSequence();
+      final Sequence seq = _createSequence;
+      seq.setName("enterSequence");
+      String _name = r.getName();
+      String _operator_plus = StringExtensions.operator_plus("Default enter sequence for region ", _name);
+      seq.setComment(_operator_plus);
+      EList<Vertex> _vertices = r.getVertices();
+      for (final Vertex s : _vertices) {
+        this.defineStateEnterSequence(s);
+      }
+      Entry _entry = this.sgraph.entry(r);
+      State _target = this.sgraph==null?(State)null:this.sgraph.target(_entry);
+      ExecutionState _create_1 = this.mapping==null?(ExecutionState)null:this.mapping.create(_target);
+      final ExecutionState entryState = _create_1;
+      boolean _operator_and = false;
+      boolean _operator_notEquals = ObjectExtensions.operator_notEquals(entryState, null);
+      if (!_operator_notEquals) {
+        _operator_and = false;
+      } else {
+        Sequence _enterSequence = entryState.getEnterSequence();
+        boolean _operator_notEquals_1 = ObjectExtensions.operator_notEquals(_enterSequence, null);
+        _operator_and = BooleanExtensions.operator_and(_operator_notEquals, _operator_notEquals_1);
+      }
+      if (_operator_and) {
+        EList<Step> _steps = seq.getSteps();
+        Sequence _enterSequence_1 = entryState.getEnterSequence();
+        Call _newCall = this.mapping.newCall(_enterSequence_1);
+        _steps.add(_newCall);
+      }
+      execState.setEnterSequence(seq);
     }
   }
   
@@ -156,7 +187,16 @@ public class SequenceBuilder {
         for (final Region r : _regions) {
           {
             this.defineStateEnterSequence(r);
-            this.addEnterRegion(seq, r);
+            ExecutionRegion _create_1 = this.mapping.create(r);
+            final ExecutionRegion execRegion = _create_1;
+            Sequence _enterSequence = execRegion.getEnterSequence();
+            boolean _operator_notEquals_1 = ObjectExtensions.operator_notEquals(_enterSequence, null);
+            if (_operator_notEquals_1) {
+              EList<Step> _steps_3 = seq.getSteps();
+              Sequence _enterSequence_1 = execRegion.getEnterSequence();
+              Call _newCall_1 = this.mapping.newCall(_enterSequence_1);
+              _steps_3.add(_newCall_1);
+            }
           }
         }
       }
@@ -164,36 +204,7 @@ public class SequenceBuilder {
     }
   }
   
-  protected Boolean _addEnterRegion(final Sequence seq, final Region r) {
-    Boolean _xblockexpression = null;
-    {
-      Entry _entry = this.sgraph.entry(r);
-      State _target = this.sgraph==null?(State)null:this.sgraph.target(_entry);
-      ExecutionState _create = this.mapping==null?(ExecutionState)null:this.mapping.create(_target);
-      final ExecutionState entryState = _create;
-      Boolean _xifexpression = null;
-      boolean _operator_and = false;
-      boolean _operator_notEquals = ObjectExtensions.operator_notEquals(entryState, null);
-      if (!_operator_notEquals) {
-        _operator_and = false;
-      } else {
-        Sequence _enterSequence = entryState.getEnterSequence();
-        boolean _operator_notEquals_1 = ObjectExtensions.operator_notEquals(_enterSequence, null);
-        _operator_and = BooleanExtensions.operator_and(_operator_notEquals, _operator_notEquals_1);
-      }
-      if (_operator_and) {
-        EList<Step> _steps = seq.getSteps();
-        Sequence _enterSequence_1 = entryState.getEnterSequence();
-        Call _newCall = this.mapping.newCall(_enterSequence_1);
-        boolean _add = _steps.add(_newCall);
-        _xifexpression = _add;
-      }
-      _xblockexpression = (_xifexpression);
-    }
-    return _xblockexpression;
-  }
-  
-  protected Boolean _addEnterRegion(final Sequence seq, final ExecutionRegion r) {
+  public Boolean addEnterRegion(final Sequence seq, final ExecutionRegion r) {
     Boolean _xblockexpression = null;
     {
       EObject _sourceElement = r.getSourceElement();
@@ -459,7 +470,18 @@ public class SequenceBuilder {
       }
       EList<Region> _regions = sc.getRegions();
       for (final Region r : _regions) {
-        this.addEnterRegion(enterSequence, r);
+        {
+          ExecutionRegion _create = this.mapping.create(r);
+          final ExecutionRegion execRegion = _create;
+          Sequence _enterSequence = execRegion.getEnterSequence();
+          boolean _operator_notEquals_1 = ObjectExtensions.operator_notEquals(_enterSequence, null);
+          if (_operator_notEquals_1) {
+            EList<Step> _steps_1 = enterSequence.getSteps();
+            Sequence _enterSequence_1 = execRegion.getEnterSequence();
+            Call _newCall = this.mapping.newCall(_enterSequence_1);
+            _steps_1.add(_newCall);
+          }
+        }
       }
       flow.setEnterSequence(enterSequence);
       return enterSequence;
@@ -499,19 +521,6 @@ public class SequenceBuilder {
     }
   }
   
-  public Boolean addEnterRegion(final Sequence seq, final EObject r) {
-    if ((seq instanceof Sequence)
-         && (r instanceof ExecutionRegion)) {
-      return _addEnterRegion((Sequence)seq, (ExecutionRegion)r);
-    } else if ((seq instanceof Sequence)
-         && (r instanceof Region)) {
-      return _addEnterRegion((Sequence)seq, (Region)r);
-    } else {
-      throw new IllegalArgumentException("Unhandled parameter types: " +
-        java.util.Arrays.<Object>asList(seq, r).toString());
-    }
-  }
-  
   public void defineStateExitSequence(final NamedElement s) {
     if ((s instanceof FinalState)) {
       _defineStateExitSequence((FinalState)s);

+ 0 - 51
plugins/org.yakindu.sct.model.sexec/xtend-gen/org/yakindu/sct/model/sexec/transformation/TraceExtensions.java

@@ -4,7 +4,6 @@ import com.google.inject.Inject;
 import com.google.inject.name.Named;
 import org.eclipse.emf.common.util.EList;
 import org.yakindu.sct.model.sexec.ExecutionNode;
-import org.yakindu.sct.model.sexec.ExecutionRegion;
 import org.yakindu.sct.model.sexec.ExecutionState;
 import org.yakindu.sct.model.sexec.Reaction;
 import org.yakindu.sct.model.sexec.ReactionFired;
@@ -12,8 +11,6 @@ import org.yakindu.sct.model.sexec.Sequence;
 import org.yakindu.sct.model.sexec.SexecFactory;
 import org.yakindu.sct.model.sexec.Step;
 import org.yakindu.sct.model.sexec.TraceNodeExecuted;
-import org.yakindu.sct.model.sexec.TraceRegionEntered;
-import org.yakindu.sct.model.sexec.TraceRegionExited;
 import org.yakindu.sct.model.sexec.TraceStateEntered;
 import org.yakindu.sct.model.sexec.TraceStateExited;
 import org.yakindu.sct.model.sexec.transformation.SexecElementMapping;
@@ -85,30 +82,6 @@ public class TraceExtensions {
     return _xblockexpression;
   }
   
-  public TraceRegionExited newTraceRegionExited(final ExecutionRegion state) {
-    TraceRegionExited _xblockexpression = null;
-    {
-      SexecFactory _factory = this.sexec.factory();
-      TraceRegionExited _createTraceRegionExited = _factory.createTraceRegionExited();
-      final TraceRegionExited t = _createTraceRegionExited;
-      t.setRegion(state);
-      _xblockexpression = (t);
-    }
-    return _xblockexpression;
-  }
-  
-  public TraceRegionEntered newTraceRegionEntered(final ExecutionRegion state) {
-    TraceRegionEntered _xblockexpression = null;
-    {
-      SexecFactory _factory = this.sexec.factory();
-      TraceRegionEntered _createTraceRegionEntered = _factory.createTraceRegionEntered();
-      final TraceRegionEntered t = _createTraceRegionEntered;
-      t.setRegion(state);
-      _xblockexpression = (t);
-    }
-    return _xblockexpression;
-  }
-  
   public Boolean traceStateExited(final Sequence seq, final ExecutionState state) {
     Boolean _xifexpression = null;
     boolean _isAddTraceSteps = this.isAddTraceSteps();
@@ -121,30 +94,6 @@ public class TraceExtensions {
     return _xifexpression;
   }
   
-  public Boolean traceRegionExited(final Sequence seq, final ExecutionRegion state) {
-    Boolean _xifexpression = null;
-    boolean _isAddTraceSteps = this.isAddTraceSteps();
-    if (_isAddTraceSteps) {
-      EList<Step> _steps = seq.getSteps();
-      TraceRegionExited _newTraceRegionExited = this.newTraceRegionExited(state);
-      boolean _add = _steps.add(_newTraceRegionExited);
-      _xifexpression = _add;
-    }
-    return _xifexpression;
-  }
-  
-  public Boolean traceRegionEntered(final Sequence seq, final ExecutionRegion state) {
-    Boolean _xifexpression = null;
-    boolean _isAddTraceSteps = this.isAddTraceSteps();
-    if (_isAddTraceSteps) {
-      EList<Step> _steps = seq.getSteps();
-      TraceRegionEntered _newTraceRegionEntered = this.newTraceRegionEntered(state);
-      boolean _add = _steps.add(_newTraceRegionEntered);
-      _xifexpression = _add;
-    }
-    return _xifexpression;
-  }
-  
   public Boolean traceStateExited(final Sequence seq, final RegularState state) {
     Boolean _xifexpression = null;
     boolean _isAddTraceSteps = this.isAddTraceSteps();

文件差異過大導致無法顯示
+ 831 - 528
test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/ModelSequencerOrthogonalityTest.java


+ 11 - 3
test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/ModelSequencerSCTest.java

@@ -36,7 +36,10 @@ public class ModelSequencerSCTest extends ModelSequencerTest {
 		assertEquals(1, flow.getEnterSequence().getSteps().size());
 
 		assertCall(flow.getEnterSequence(), 0, flow.getStates().get(0)
-				.getEnterSequence());
+				.getSuperScope().getEnterSequence());
+
+		assertCall(flow.getStates().get(0).getSuperScope().getEnterSequence(),
+				0, flow.getStates().get(0).getEnterSequence());
 	}
 
 	/**
@@ -52,9 +55,14 @@ public class ModelSequencerSCTest extends ModelSequencerTest {
 		assertEquals(2, flow.getEnterSequence().getSteps().size());
 
 		assertCall(flow.getEnterSequence(), 0, flow.getStates().get(0)
-				.getEnterSequence());
+				.getSuperScope().getEnterSequence());
+		assertCall(flow.getStates().get(0).getSuperScope().getEnterSequence(),
+				0, flow.getStates().get(0).getEnterSequence());
+
 		assertCall(flow.getEnterSequence(), 1, flow.getStates().get(2)
-				.getEnterSequence());
+				.getSuperScope().getEnterSequence());
+		assertCall(flow.getStates().get(2).getSuperScope().getEnterSequence(),
+				0, flow.getStates().get(2).getEnterSequence());
 
 	}
 

文件差異過大導致無法顯示
+ 485 - 394
test-plugins/org.yakindu.sct.model.sexec.test/src/org/yakindu/sct/model/sexec/transformation/test/ModelSequencerStateTest.java