Просмотр исходного кода

Added ReferenceSlot that delegates to a further slot for modeling variable references.

tomqc86@googlemail.com 12 лет назад
Родитель
Сommit
9539858a27

+ 3 - 0
plugins/org.yakindu.sct.simulation.core/model/sruntime.ecore

@@ -48,4 +48,7 @@
     <eLiterals name="OUT" value="2"/>
   </eClassifiers>
   <eClassifiers xsi:type="ecore:EDataType" name="JavaObject" instanceClassName="java.lang.Object"/>
+  <eClassifiers xsi:type="ecore:EClass" name="ReferenceSlot" eSuperTypes="#//CompositeSlot">
+    <eStructuralFeatures xsi:type="ecore:EReference" name="reference" eType="#//CompositeSlot"/>
+  </eClassifiers>
 </ecore:EPackage>

+ 57 - 0
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/sruntime/ReferenceSlot.java

@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2013 committers of YAKINDU and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ * 
+ */
+package org.yakindu.sct.simulation.core.sruntime;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Reference Slot</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ *   <li>{@link org.yakindu.sct.simulation.core.sruntime.ReferenceSlot#getReference <em>Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.yakindu.sct.simulation.core.sruntime.SRuntimePackage#getReferenceSlot()
+ * @model
+ * @generated
+ */
+public interface ReferenceSlot extends CompositeSlot {
+	/**
+	 * Returns the value of the '<em><b>Reference</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <p>
+	 * If the meaning of the '<em>Reference</em>' reference isn't clear,
+	 * there really should be more of a description here...
+	 * </p>
+	 * <!-- end-user-doc -->
+	 * @return the value of the '<em>Reference</em>' reference.
+	 * @see #setReference(CompositeSlot)
+	 * @see org.yakindu.sct.simulation.core.sruntime.SRuntimePackage#getReferenceSlot_Reference()
+	 * @model
+	 * @generated
+	 */
+	CompositeSlot getReference();
+
+	/**
+	 * Sets the value of the '{@link org.yakindu.sct.simulation.core.sruntime.ReferenceSlot#getReference <em>Reference</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @param value the new value of the '<em>Reference</em>' reference.
+	 * @see #getReference()
+	 * @generated
+	 */
+	void setReference(CompositeSlot value);
+
+} // ReferenceSlot

+ 9 - 0
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/sruntime/SRuntimeFactory.java

@@ -65,6 +65,15 @@ public interface SRuntimeFactory extends EFactory {
 	 */
 	CompositeSlot createCompositeSlot();
 
+	/**
+	 * Returns a new object of class '<em>Reference Slot</em>'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return a new object of class '<em>Reference Slot</em>'.
+	 * @generated
+	 */
+	ReferenceSlot createReferenceSlot();
+
 	/**
 	 * Returns the package supported by this factory.
 	 * <!-- begin-user-doc -->

+ 115 - 3
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/sruntime/SRuntimePackage.java

@@ -423,6 +423,79 @@ public interface SRuntimePackage extends EPackage {
 	 */
 	int COMPOSITE_SLOT_FEATURE_COUNT = EXECUTION_SLOT_FEATURE_COUNT + 1;
 
+	/**
+	 * The meta object id for the '{@link org.yakindu.sct.simulation.core.sruntime.impl.ReferenceSlotImpl <em>Reference Slot</em>}' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see org.yakindu.sct.simulation.core.sruntime.impl.ReferenceSlotImpl
+	 * @see org.yakindu.sct.simulation.core.sruntime.impl.SRuntimePackageImpl#getReferenceSlot()
+	 * @generated
+	 */
+	int REFERENCE_SLOT = 5;
+
+	/**
+	 * The feature id for the '<em><b>Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SLOT__NAME = COMPOSITE_SLOT__NAME;
+
+	/**
+	 * The feature id for the '<em><b>Type</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SLOT__TYPE = COMPOSITE_SLOT__TYPE;
+
+	/**
+	 * The feature id for the '<em><b>Value</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SLOT__VALUE = COMPOSITE_SLOT__VALUE;
+
+	/**
+	 * The feature id for the '<em><b>Fq Name</b></em>' attribute.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SLOT__FQ_NAME = COMPOSITE_SLOT__FQ_NAME;
+
+	/**
+	 * The feature id for the '<em><b>Slots</b></em>' containment reference list.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SLOT__SLOTS = COMPOSITE_SLOT__SLOTS;
+
+	/**
+	 * The feature id for the '<em><b>Reference</b></em>' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SLOT__REFERENCE = COMPOSITE_SLOT_FEATURE_COUNT + 0;
+
+	/**
+	 * The number of structural features of the '<em>Reference Slot</em>' class.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 * @ordered
+	 */
+	int REFERENCE_SLOT_FEATURE_COUNT = COMPOSITE_SLOT_FEATURE_COUNT + 1;
+
 	/**
 	 * The meta object id for the '{@link org.yakindu.sct.simulation.core.sruntime.EventDirection <em>Event Direction</em>}' enum.
 	 * <!-- begin-user-doc -->
@@ -431,7 +504,7 @@ public interface SRuntimePackage extends EPackage {
 	 * @see org.yakindu.sct.simulation.core.sruntime.impl.SRuntimePackageImpl#getEventDirection()
 	 * @generated
 	 */
-	int EVENT_DIRECTION = 5;
+	int EVENT_DIRECTION = 6;
 
 	/**
 	 * The meta object id for the '<em>Inferred Type</em>' data type.
@@ -441,7 +514,7 @@ public interface SRuntimePackage extends EPackage {
 	 * @see org.yakindu.sct.simulation.core.sruntime.impl.SRuntimePackageImpl#getInferredType()
 	 * @generated
 	 */
-	int INFERRED_TYPE = 6;
+	int INFERRED_TYPE = 7;
 
 
 	/**
@@ -452,7 +525,7 @@ public interface SRuntimePackage extends EPackage {
 	 * @see org.yakindu.sct.simulation.core.sruntime.impl.SRuntimePackageImpl#getJavaObject()
 	 * @generated
 	 */
-	int JAVA_OBJECT = 7;
+	int JAVA_OBJECT = 8;
 
 
 	/**
@@ -626,6 +699,27 @@ public interface SRuntimePackage extends EPackage {
 	 */
 	EReference getCompositeSlot_Slots();
 
+	/**
+	 * Returns the meta object for class '{@link org.yakindu.sct.simulation.core.sruntime.ReferenceSlot <em>Reference Slot</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for class '<em>Reference Slot</em>'.
+	 * @see org.yakindu.sct.simulation.core.sruntime.ReferenceSlot
+	 * @generated
+	 */
+	EClass getReferenceSlot();
+
+	/**
+	 * Returns the meta object for the reference '{@link org.yakindu.sct.simulation.core.sruntime.ReferenceSlot#getReference <em>Reference</em>}'.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @return the meta object for the reference '<em>Reference</em>'.
+	 * @see org.yakindu.sct.simulation.core.sruntime.ReferenceSlot#getReference()
+	 * @see #getReferenceSlot()
+	 * @generated
+	 */
+	EReference getReferenceSlot_Reference();
+
 	/**
 	 * Returns the meta object for enum '{@link org.yakindu.sct.simulation.core.sruntime.EventDirection <em>Event Direction</em>}'.
 	 * <!-- begin-user-doc -->
@@ -818,6 +912,24 @@ public interface SRuntimePackage extends EPackage {
 		 */
 		EReference COMPOSITE_SLOT__SLOTS = eINSTANCE.getCompositeSlot_Slots();
 
+		/**
+		 * The meta object literal for the '{@link org.yakindu.sct.simulation.core.sruntime.impl.ReferenceSlotImpl <em>Reference Slot</em>}' class.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @see org.yakindu.sct.simulation.core.sruntime.impl.ReferenceSlotImpl
+		 * @see org.yakindu.sct.simulation.core.sruntime.impl.SRuntimePackageImpl#getReferenceSlot()
+		 * @generated
+		 */
+		EClass REFERENCE_SLOT = eINSTANCE.getReferenceSlot();
+
+		/**
+		 * The meta object literal for the '<em><b>Reference</b></em>' reference feature.
+		 * <!-- begin-user-doc -->
+		 * <!-- end-user-doc -->
+		 * @generated
+		 */
+		EReference REFERENCE_SLOT__REFERENCE = eINSTANCE.getReferenceSlot_Reference();
+
 		/**
 		 * The meta object literal for the '{@link org.yakindu.sct.simulation.core.sruntime.EventDirection <em>Event Direction</em>}' enum.
 		 * <!-- begin-user-doc -->

+ 175 - 0
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/sruntime/impl/ReferenceSlotImpl.java

@@ -0,0 +1,175 @@
+/**
+ * Copyright (c) 2013 committers of YAKINDU and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ * Contributors:
+ * committers of YAKINDU - initial API and implementation
+ * 
+ */
+package org.yakindu.sct.simulation.core.sruntime.impl;
+
+import java.util.List;
+
+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.simulation.core.sruntime.CompositeSlot;
+import org.yakindu.sct.simulation.core.sruntime.ExecutionSlot;
+import org.yakindu.sct.simulation.core.sruntime.ReferenceSlot;
+import org.yakindu.sct.simulation.core.sruntime.SRuntimePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Reference Slot</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ *   <li>{@link org.yakindu.sct.simulation.core.sruntime.impl.ReferenceSlotImpl#getReference <em>Reference</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ReferenceSlotImpl extends CompositeSlotImpl implements ReferenceSlot {
+	/**
+	 * The cached value of the '{@link #getReference() <em>Reference</em>}' reference.
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @see #getReference()
+	 * @generated
+	 * @ordered
+	 */
+	protected CompositeSlot reference;
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ReferenceSlotImpl() {
+		super();
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	protected EClass eStaticClass() {
+		return SRuntimePackage.Literals.REFERENCE_SLOT;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CompositeSlot getReference() {
+		if (reference != null && reference.eIsProxy()) {
+			InternalEObject oldReference = (InternalEObject)reference;
+			reference = (CompositeSlot)eResolveProxy(oldReference);
+			if (reference != oldReference) {
+				if (eNotificationRequired())
+					eNotify(new ENotificationImpl(this, Notification.RESOLVE, SRuntimePackage.REFERENCE_SLOT__REFERENCE, oldReference, reference));
+			}
+		}
+		return reference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public CompositeSlot basicGetReference() {
+		return reference;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public void setReference(CompositeSlot newReference) {
+		CompositeSlot oldReference = reference;
+		reference = newReference;
+		if (eNotificationRequired())
+			eNotify(new ENotificationImpl(this, Notification.SET, SRuntimePackage.REFERENCE_SLOT__REFERENCE, oldReference, reference));
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public Object eGet(int featureID, boolean resolve, boolean coreType) {
+		switch (featureID) {
+			case SRuntimePackage.REFERENCE_SLOT__REFERENCE:
+				if (resolve) return getReference();
+				return basicGetReference();
+		}
+		return super.eGet(featureID, resolve, coreType);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eSet(int featureID, Object newValue) {
+		switch (featureID) {
+			case SRuntimePackage.REFERENCE_SLOT__REFERENCE:
+				setReference((CompositeSlot)newValue);
+				return;
+		}
+		super.eSet(featureID, newValue);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public void eUnset(int featureID) {
+		switch (featureID) {
+			case SRuntimePackage.REFERENCE_SLOT__REFERENCE:
+				setReference((CompositeSlot)null);
+				return;
+		}
+		super.eUnset(featureID);
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	@Override
+	public boolean eIsSet(int featureID) {
+		switch (featureID) {
+			case SRuntimePackage.REFERENCE_SLOT__REFERENCE:
+				return reference != null;
+		}
+		return super.eIsSet(featureID);
+	}
+	
+	/**
+	 * @generated NOT
+	 */
+	@Override
+	public List<ExecutionSlot> getSlots() {
+		if (getReference() != null) {
+			return getReference().getSlots();
+		}
+		return super.getSlots();
+	}
+
+} //ReferenceSlotImpl

+ 12 - 0
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/sruntime/impl/SRuntimeFactoryImpl.java

@@ -19,6 +19,7 @@ import org.eclipse.emf.ecore.plugin.EcorePlugin;
 import org.yakindu.base.types.InferredType;
 import org.yakindu.base.types.PrimitiveType;
 import org.yakindu.base.types.TypesFactory;
+import org.yakindu.sct.simulation.core.sruntime.*;
 import org.yakindu.sct.simulation.core.sruntime.CompositeSlot;
 import org.yakindu.sct.simulation.core.sruntime.EventDirection;
 import org.yakindu.sct.simulation.core.sruntime.ExecutionContext;
@@ -73,6 +74,7 @@ public class SRuntimeFactoryImpl extends EFactoryImpl implements SRuntimeFactory
 			case SRuntimePackage.EXECUTION_EVENT: return createExecutionEvent();
 			case SRuntimePackage.EXECUTION_VARIABLE: return createExecutionVariable();
 			case SRuntimePackage.COMPOSITE_SLOT: return createCompositeSlot();
+			case SRuntimePackage.REFERENCE_SLOT: return createReferenceSlot();
 			default:
 				throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
 		}
@@ -150,6 +152,16 @@ public class SRuntimeFactoryImpl extends EFactoryImpl implements SRuntimeFactory
 		return compositeSlot;
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public ReferenceSlot createReferenceSlot() {
+		ReferenceSlotImpl referenceSlot = new ReferenceSlotImpl();
+		return referenceSlot;
+	}
+
 	/**
 	 * <!-- begin-user-doc --> <!-- end-user-doc -->
 	 * @generated

+ 33 - 0
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/sruntime/impl/SRuntimePackageImpl.java

@@ -27,6 +27,7 @@ import org.yakindu.sct.simulation.core.sruntime.ExecutionContext;
 import org.yakindu.sct.simulation.core.sruntime.ExecutionEvent;
 import org.yakindu.sct.simulation.core.sruntime.ExecutionSlot;
 import org.yakindu.sct.simulation.core.sruntime.ExecutionVariable;
+import org.yakindu.sct.simulation.core.sruntime.ReferenceSlot;
 import org.yakindu.sct.simulation.core.sruntime.SRuntimeFactory;
 import org.yakindu.sct.simulation.core.sruntime.SRuntimePackage;
 
@@ -72,6 +73,13 @@ public class SRuntimePackageImpl extends EPackageImpl implements SRuntimePackage
 	 */
 	private EClass compositeSlotEClass = null;
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	private EClass referenceSlotEClass = null;
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -301,6 +309,24 @@ public class SRuntimePackageImpl extends EPackageImpl implements SRuntimePackage
 		return (EReference)compositeSlotEClass.getEStructuralFeatures().get(0);
 	}
 
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EClass getReferenceSlot() {
+		return referenceSlotEClass;
+	}
+
+	/**
+	 * <!-- begin-user-doc -->
+	 * <!-- end-user-doc -->
+	 * @generated
+	 */
+	public EReference getReferenceSlot_Reference() {
+		return (EReference)referenceSlotEClass.getEStructuralFeatures().get(0);
+	}
+
 	/**
 	 * <!-- begin-user-doc -->
 	 * <!-- end-user-doc -->
@@ -377,6 +403,9 @@ public class SRuntimePackageImpl extends EPackageImpl implements SRuntimePackage
 		compositeSlotEClass = createEClass(COMPOSITE_SLOT);
 		createEReference(compositeSlotEClass, COMPOSITE_SLOT__SLOTS);
 
+		referenceSlotEClass = createEClass(REFERENCE_SLOT);
+		createEReference(referenceSlotEClass, REFERENCE_SLOT__REFERENCE);
+
 		// Create enums
 		eventDirectionEEnum = createEEnum(EVENT_DIRECTION);
 
@@ -423,6 +452,7 @@ public class SRuntimePackageImpl extends EPackageImpl implements SRuntimePackage
 		executionSlotEClass.getESuperTypes().add(theBasePackage.getNamedElement());
 		executionVariableEClass.getESuperTypes().add(this.getExecutionSlot());
 		compositeSlotEClass.getESuperTypes().add(this.getExecutionSlot());
+		referenceSlotEClass.getESuperTypes().add(this.getCompositeSlot());
 
 		// Initialize classes and features; add operations and parameters
 		initEClass(executionContextEClass, ExecutionContext.class, "ExecutionContext", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
@@ -467,6 +497,9 @@ public class SRuntimePackageImpl extends EPackageImpl implements SRuntimePackage
 		initEClass(compositeSlotEClass, CompositeSlot.class, "CompositeSlot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
 		initEReference(getCompositeSlot_Slots(), this.getExecutionSlot(), null, "slots", null, 0, -1, CompositeSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
 
+		initEClass(referenceSlotEClass, ReferenceSlot.class, "ReferenceSlot", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+		initEReference(getReferenceSlot_Reference(), this.getCompositeSlot(), null, "reference", null, 0, 1, ReferenceSlot.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
 		// Initialize enums and add enum literals
 		initEEnum(eventDirectionEEnum, EventDirection.class, "EventDirection");
 		addEEnumLiteral(eventDirectionEEnum, EventDirection.LOCAL);

+ 18 - 0
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/sruntime/util/SRuntimeAdapterFactory.java

@@ -98,6 +98,10 @@ public class SRuntimeAdapterFactory extends AdapterFactoryImpl {
 				return createCompositeSlotAdapter();
 			}
 			@Override
+			public Adapter caseReferenceSlot(ReferenceSlot object) {
+				return createReferenceSlotAdapter();
+			}
+			@Override
 			public Adapter caseNamedElement(NamedElement object) {
 				return createNamedElementAdapter();
 			}
@@ -191,6 +195,20 @@ public class SRuntimeAdapterFactory extends AdapterFactoryImpl {
 		return null;
 	}
 
+	/**
+	 * Creates a new adapter for an object of class '{@link org.yakindu.sct.simulation.core.sruntime.ReferenceSlot <em>Reference Slot</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.simulation.core.sruntime.ReferenceSlot
+	 * @generated
+	 */
+	public Adapter createReferenceSlotAdapter() {
+		return null;
+	}
+
 	/**
 	 * Creates a new adapter for an object of class '{@link org.yakindu.base.base.NamedElement <em>Named Element</em>}'.
 	 * <!-- begin-user-doc -->

+ 24 - 0
plugins/org.yakindu.sct.simulation.core/src/org/yakindu/sct/simulation/core/sruntime/util/SRuntimeSwitch.java

@@ -116,6 +116,15 @@ public class SRuntimeSwitch<T> extends Switch<T> {
 				if (result == null) result = defaultCase(theEObject);
 				return result;
 			}
+			case SRuntimePackage.REFERENCE_SLOT: {
+				ReferenceSlot referenceSlot = (ReferenceSlot)theEObject;
+				T result = caseReferenceSlot(referenceSlot);
+				if (result == null) result = caseCompositeSlot(referenceSlot);
+				if (result == null) result = caseExecutionSlot(referenceSlot);
+				if (result == null) result = caseNamedElement(referenceSlot);
+				if (result == null) result = defaultCase(theEObject);
+				return result;
+			}
 			default: return defaultCase(theEObject);
 		}
 	}
@@ -195,6 +204,21 @@ public class SRuntimeSwitch<T> extends Switch<T> {
 		return null;
 	}
 
+	/**
+	 * Returns the result of interpreting the object as an instance of '<em>Reference Slot</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>Reference Slot</em>'.
+	 * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+	 * @generated
+	 */
+	public T caseReferenceSlot(ReferenceSlot object) {
+		return null;
+	}
+
 	/**
 	 * Returns the result of interpreting the object as an instance of '<em>Named Element</em>'.
 	 * <!-- begin-user-doc -->