Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl')
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/AcquireImpl.java173
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ClockResourceImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/CommunicationEndPointImpl.java173
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/CommunicationMediaImpl.java407
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ComputingResourceImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ConcurrencyResourceImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/DeviceResourceImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GRMFactoryImpl.java315
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GRMPackageImpl.java1420
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GrServiceImpl.java474
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/MutualExclusionResourceImpl.java398
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ProcessingResourceImpl.java235
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ReleaseImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ResourceImpl.java589
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ResourceUsageImpl.java476
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SchedulableResourceImpl.java366
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SchedulerImpl.java547
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SecondarySchedulerImpl.java176
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/StorageResourceImpl.java173
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SynchronizationResourceImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/TimerResourceImpl.java227
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/TimingResourceImpl.java50
22 files changed, 6499 insertions, 0 deletions
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/AcquireImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/AcquireImpl.java
new file mode 100644
index 00000000000..8d0afc6ef83
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/AcquireImpl.java
@@ -0,0 +1,173 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Acquire;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Acquire</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.AcquireImpl#isIsBlocking <em>Is Blocking</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AcquireImpl extends GrServiceImpl implements Acquire {
+ /**
+ * The default value of the '{@link #isIsBlocking() <em>Is Blocking</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBlocking()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BLOCKING_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBlocking() <em>Is Blocking</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBlocking()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBlocking = IS_BLOCKING_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AcquireImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.ACQUIRE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBlocking() {
+ return isBlocking;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBlocking(boolean newIsBlocking) {
+ boolean oldIsBlocking = isBlocking;
+ isBlocking = newIsBlocking;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.ACQUIRE__IS_BLOCKING, oldIsBlocking, isBlocking));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.ACQUIRE__IS_BLOCKING:
+ return isIsBlocking();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.ACQUIRE__IS_BLOCKING:
+ setIsBlocking((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.ACQUIRE__IS_BLOCKING:
+ setIsBlocking(IS_BLOCKING_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.ACQUIRE__IS_BLOCKING:
+ return isBlocking != IS_BLOCKING_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isBlocking: ");
+ result.append(isBlocking);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AcquireImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ClockResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ClockResourceImpl.java
new file mode 100644
index 00000000000..0f98e408778
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ClockResourceImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ClockResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Clock Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ClockResourceImpl extends TimingResourceImpl implements ClockResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClockResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.CLOCK_RESOURCE;
+ }
+
+} //ClockResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/CommunicationEndPointImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/CommunicationEndPointImpl.java
new file mode 100644
index 00000000000..d9852d54622
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/CommunicationEndPointImpl.java
@@ -0,0 +1,173 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationEndPoint;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Communication End Point</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.CommunicationEndPointImpl#getPacketSize <em>Packet Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CommunicationEndPointImpl extends ResourceImpl implements CommunicationEndPoint {
+ /**
+ * The default value of the '{@link #getPacketSize() <em>Packet Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPacketSize()
+ * @generated
+ * @ordered
+ */
+ protected static final String PACKET_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getPacketSize() <em>Packet Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPacketSize()
+ * @generated
+ * @ordered
+ */
+ protected String packetSize = PACKET_SIZE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommunicationEndPointImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.COMMUNICATION_END_POINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getPacketSize() {
+ return packetSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setPacketSize(String newPacketSize) {
+ String oldPacketSize = packetSize;
+ packetSize = newPacketSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.COMMUNICATION_END_POINT__PACKET_SIZE, oldPacketSize, packetSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.COMMUNICATION_END_POINT__PACKET_SIZE:
+ return getPacketSize();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.COMMUNICATION_END_POINT__PACKET_SIZE:
+ setPacketSize((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.COMMUNICATION_END_POINT__PACKET_SIZE:
+ setPacketSize(PACKET_SIZE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.COMMUNICATION_END_POINT__PACKET_SIZE:
+ return PACKET_SIZE_EDEFAULT == null ? packetSize != null : !PACKET_SIZE_EDEFAULT.equals(packetSize);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (packetSize: ");
+ result.append(packetSize);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CommunicationEndPointImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/CommunicationMediaImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/CommunicationMediaImpl.java
new file mode 100644
index 00000000000..5e06e28da33
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/CommunicationMediaImpl.java
@@ -0,0 +1,407 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.TransmModeKind;
+
+import org.eclipse.uml2.uml.Connector;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Communication Media</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.CommunicationMediaImpl#getElementSize <em>Element Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.CommunicationMediaImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.CommunicationMediaImpl#getTransmMode <em>Transm Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.CommunicationMediaImpl#getBlockT <em>Block T</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.CommunicationMediaImpl#getPacketT <em>Packet T</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.CommunicationMediaImpl#getCapacity <em>Capacity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CommunicationMediaImpl extends ProcessingResourceImpl implements CommunicationMedia {
+ /**
+ * The default value of the '{@link #getElementSize() <em>Element Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementSize()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getElementSize() <em>Element Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementSize()
+ * @generated
+ * @ordered
+ */
+ protected String elementSize = ELEMENT_SIZE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Connector() <em>Base Connector</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Connector()
+ * @generated
+ * @ordered
+ */
+ protected Connector base_Connector;
+
+ /**
+ * The default value of the '{@link #getTransmMode() <em>Transm Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransmMode()
+ * @generated
+ * @ordered
+ */
+ protected static final TransmModeKind TRANSM_MODE_EDEFAULT = TransmModeKind.SIMPLEX;
+
+ /**
+ * The cached value of the '{@link #getTransmMode() <em>Transm Mode</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTransmMode()
+ * @generated
+ * @ordered
+ */
+ protected TransmModeKind transmMode = TRANSM_MODE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBlockT() <em>Block T</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBlockT()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> blockT;
+
+ /**
+ * The cached value of the '{@link #getPacketT() <em>Packet T</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPacketT()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> packetT;
+
+ /**
+ * The cached value of the '{@link #getCapacity() <em>Capacity</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCapacity()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> capacity;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CommunicationMediaImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.COMMUNICATION_MEDIA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getElementSize() {
+ return elementSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElementSize(String newElementSize) {
+ String oldElementSize = elementSize;
+ elementSize = newElementSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.COMMUNICATION_MEDIA__ELEMENT_SIZE, oldElementSize, elementSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector getBase_Connector() {
+ if (base_Connector != null && base_Connector.eIsProxy()) {
+ InternalEObject oldBase_Connector = (InternalEObject)base_Connector;
+ base_Connector = (Connector)eResolveProxy(oldBase_Connector);
+ if (base_Connector != oldBase_Connector) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+ }
+ }
+ return base_Connector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Connector basicGetBase_Connector() {
+ return base_Connector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Connector(Connector newBase_Connector) {
+ Connector oldBase_Connector = base_Connector;
+ base_Connector = newBase_Connector;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR, oldBase_Connector, base_Connector));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TransmModeKind getTransmMode() {
+ return transmMode;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTransmMode(TransmModeKind newTransmMode) {
+ TransmModeKind oldTransmMode = transmMode;
+ transmMode = newTransmMode == null ? TRANSM_MODE_EDEFAULT : newTransmMode;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.COMMUNICATION_MEDIA__TRANSM_MODE, oldTransmMode, transmMode));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getBlockT() {
+ if (blockT == null) {
+ blockT = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.COMMUNICATION_MEDIA__BLOCK_T);
+ }
+ return blockT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getPacketT() {
+ if (packetT == null) {
+ packetT = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.COMMUNICATION_MEDIA__PACKET_T);
+ }
+ return packetT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getCapacity() {
+ if (capacity == null) {
+ capacity = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.COMMUNICATION_MEDIA__CAPACITY);
+ }
+ return capacity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.COMMUNICATION_MEDIA__ELEMENT_SIZE:
+ return getElementSize();
+ case GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR:
+ if (resolve) return getBase_Connector();
+ return basicGetBase_Connector();
+ case GRMPackage.COMMUNICATION_MEDIA__TRANSM_MODE:
+ return getTransmMode();
+ case GRMPackage.COMMUNICATION_MEDIA__BLOCK_T:
+ return getBlockT();
+ case GRMPackage.COMMUNICATION_MEDIA__PACKET_T:
+ return getPacketT();
+ case GRMPackage.COMMUNICATION_MEDIA__CAPACITY:
+ return getCapacity();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.COMMUNICATION_MEDIA__ELEMENT_SIZE:
+ setElementSize((String)newValue);
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR:
+ setBase_Connector((Connector)newValue);
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__TRANSM_MODE:
+ setTransmMode((TransmModeKind)newValue);
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__BLOCK_T:
+ getBlockT().clear();
+ getBlockT().addAll((Collection<? extends String>)newValue);
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__PACKET_T:
+ getPacketT().clear();
+ getPacketT().addAll((Collection<? extends String>)newValue);
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__CAPACITY:
+ getCapacity().clear();
+ getCapacity().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.COMMUNICATION_MEDIA__ELEMENT_SIZE:
+ setElementSize(ELEMENT_SIZE_EDEFAULT);
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR:
+ setBase_Connector((Connector)null);
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__TRANSM_MODE:
+ setTransmMode(TRANSM_MODE_EDEFAULT);
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__BLOCK_T:
+ getBlockT().clear();
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__PACKET_T:
+ getPacketT().clear();
+ return;
+ case GRMPackage.COMMUNICATION_MEDIA__CAPACITY:
+ getCapacity().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.COMMUNICATION_MEDIA__ELEMENT_SIZE:
+ return ELEMENT_SIZE_EDEFAULT == null ? elementSize != null : !ELEMENT_SIZE_EDEFAULT.equals(elementSize);
+ case GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR:
+ return base_Connector != null;
+ case GRMPackage.COMMUNICATION_MEDIA__TRANSM_MODE:
+ return transmMode != TRANSM_MODE_EDEFAULT;
+ case GRMPackage.COMMUNICATION_MEDIA__BLOCK_T:
+ return blockT != null && !blockT.isEmpty();
+ case GRMPackage.COMMUNICATION_MEDIA__PACKET_T:
+ return packetT != null && !packetT.isEmpty();
+ case GRMPackage.COMMUNICATION_MEDIA__CAPACITY:
+ return capacity != null && !capacity.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (elementSize: ");
+ result.append(elementSize);
+ result.append(", transmMode: ");
+ result.append(transmMode);
+ result.append(", blockT: ");
+ result.append(blockT);
+ result.append(", packetT: ");
+ result.append(packetT);
+ result.append(", capacity: ");
+ result.append(capacity);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CommunicationMediaImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ComputingResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ComputingResourceImpl.java
new file mode 100644
index 00000000000..1c89db71b88
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ComputingResourceImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Computing Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ComputingResourceImpl extends ProcessingResourceImpl implements ComputingResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ComputingResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.COMPUTING_RESOURCE;
+ }
+
+} //ComputingResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ConcurrencyResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ConcurrencyResourceImpl.java
new file mode 100644
index 00000000000..2be9d3e31e2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ConcurrencyResourceImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ConcurrencyResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Concurrency Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ConcurrencyResourceImpl extends ResourceImpl implements ConcurrencyResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ConcurrencyResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.CONCURRENCY_RESOURCE;
+ }
+
+} //ConcurrencyResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/DeviceResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/DeviceResourceImpl.java
new file mode 100644
index 00000000000..338e054facf
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/DeviceResourceImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.DeviceResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Device Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class DeviceResourceImpl extends ProcessingResourceImpl implements DeviceResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeviceResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.DEVICE_RESOURCE;
+ }
+
+} //DeviceResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GRMFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GRMFactoryImpl.java
new file mode 100644
index 00000000000..37d774328af
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GRMFactoryImpl.java
@@ -0,0 +1,315 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GRMFactoryImpl extends EFactoryImpl implements GRMFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static GRMFactory init() {
+ try {
+ GRMFactory theGRMFactory = (GRMFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/GRM/1");
+ if (theGRMFactory != null) {
+ return theGRMFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new GRMFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GRMFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case GRMPackage.RESOURCE: return createResource();
+ case GRMPackage.STORAGE_RESOURCE: return createStorageResource();
+ case GRMPackage.COMMUNICATION_END_POINT: return createCommunicationEndPoint();
+ case GRMPackage.SYNCHRONIZATION_RESOURCE: return createSynchronizationResource();
+ case GRMPackage.CONCURRENCY_RESOURCE: return createConcurrencyResource();
+ case GRMPackage.SCHEDULER: return createScheduler();
+ case GRMPackage.PROCESSING_RESOURCE: return createProcessingResource();
+ case GRMPackage.COMPUTING_RESOURCE: return createComputingResource();
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE: return createMutualExclusionResource();
+ case GRMPackage.SCHEDULABLE_RESOURCE: return createSchedulableResource();
+ case GRMPackage.SECONDARY_SCHEDULER: return createSecondaryScheduler();
+ case GRMPackage.COMMUNICATION_MEDIA: return createCommunicationMedia();
+ case GRMPackage.DEVICE_RESOURCE: return createDeviceResource();
+ case GRMPackage.TIMING_RESOURCE: return createTimingResource();
+ case GRMPackage.CLOCK_RESOURCE: return createClockResource();
+ case GRMPackage.TIMER_RESOURCE: return createTimerResource();
+ case GRMPackage.GR_SERVICE: return createGrService();
+ case GRMPackage.RELEASE: return createRelease();
+ case GRMPackage.ACQUIRE: return createAcquire();
+ case GRMPackage.RESOURCE_USAGE: return createResourceUsage();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Resource createResource() {
+ ResourceImpl resource = new ResourceImpl();
+ return resource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StorageResource createStorageResource() {
+ StorageResourceImpl storageResource = new StorageResourceImpl();
+ return storageResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommunicationEndPoint createCommunicationEndPoint() {
+ CommunicationEndPointImpl communicationEndPoint = new CommunicationEndPointImpl();
+ return communicationEndPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SynchronizationResource createSynchronizationResource() {
+ SynchronizationResourceImpl synchronizationResource = new SynchronizationResourceImpl();
+ return synchronizationResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConcurrencyResource createConcurrencyResource() {
+ ConcurrencyResourceImpl concurrencyResource = new ConcurrencyResourceImpl();
+ return concurrencyResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler createScheduler() {
+ SchedulerImpl scheduler = new SchedulerImpl();
+ return scheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProcessingResource createProcessingResource() {
+ ProcessingResourceImpl processingResource = new ProcessingResourceImpl();
+ return processingResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComputingResource createComputingResource() {
+ ComputingResourceImpl computingResource = new ComputingResourceImpl();
+ return computingResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MutualExclusionResource createMutualExclusionResource() {
+ MutualExclusionResourceImpl mutualExclusionResource = new MutualExclusionResourceImpl();
+ return mutualExclusionResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SchedulableResource createSchedulableResource() {
+ SchedulableResourceImpl schedulableResource = new SchedulableResourceImpl();
+ return schedulableResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecondaryScheduler createSecondaryScheduler() {
+ SecondarySchedulerImpl secondaryScheduler = new SecondarySchedulerImpl();
+ return secondaryScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CommunicationMedia createCommunicationMedia() {
+ CommunicationMediaImpl communicationMedia = new CommunicationMediaImpl();
+ return communicationMedia;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviceResource createDeviceResource() {
+ DeviceResourceImpl deviceResource = new DeviceResourceImpl();
+ return deviceResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimingResource createTimingResource() {
+ TimingResourceImpl timingResource = new TimingResourceImpl();
+ return timingResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ClockResource createClockResource() {
+ ClockResourceImpl clockResource = new ClockResourceImpl();
+ return clockResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TimerResource createTimerResource() {
+ TimerResourceImpl timerResource = new TimerResourceImpl();
+ return timerResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GrService createGrService() {
+ GrServiceImpl grService = new GrServiceImpl();
+ return grService;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Release createRelease() {
+ ReleaseImpl release = new ReleaseImpl();
+ return release;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Acquire createAcquire() {
+ AcquireImpl acquire = new AcquireImpl();
+ return acquire;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ResourceUsage createResourceUsage() {
+ ResourceUsageImpl resourceUsage = new ResourceUsageImpl();
+ return resourceUsage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GRMPackage getGRMPackage() {
+ return (GRMPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static GRMPackage getPackage() {
+ return GRMPackage.eINSTANCE;
+ }
+
+} //GRMFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GRMPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GRMPackageImpl.java
new file mode 100644
index 00000000000..5e0bbd98078
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GRMPackageImpl.java
@@ -0,0 +1,1420 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTEPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.GQAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.GQAM.impl.GQAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.PAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.PAM.impl.PAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.SAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_AnalysisModel.SAM.impl.SAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.RSMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.RSM.impl.RSMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Acquire;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ClockResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationEndPoint;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ConcurrencyResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.DeviceResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMFactory;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.MutualExclusionResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Release;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ResourceUsage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Scheduler;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SecondaryScheduler;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SynchronizationResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimerResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.NFPsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.NFPs.impl.NFPsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.TimePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Time.impl.TimePackageImpl;
+
+import org.eclipse.papyrus.MARTE.impl.MARTEPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.BasicNFP_TypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.impl.BasicNFP_TypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.GRM_BasicTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.impl.GRM_BasicTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.MARTE_DataTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_DataTypes.impl.MARTE_DataTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.MARTE_PrimitivesTypesPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.impl.MARTE_PrimitivesTypesPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.MeasurementUnitsPackage;
+
+import org.eclipse.papyrus.MARTE_Library.MeasurementUnits.impl.MeasurementUnitsPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.RS_LibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.RS_Library.impl.RS_LibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.TimeLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeLibrary.impl.TimeLibraryPackageImpl;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.TimeTypesLibraryPackage;
+
+import org.eclipse.papyrus.MARTE_Library.TimeTypesLibrary.impl.TimeTypesLibraryPackageImpl;
+
+import org.eclipse.uml2.uml.UMLPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class GRMPackageImpl extends EPackageImpl implements GRMPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass resourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass storageResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass communicationEndPointEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass synchronizationResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass concurrencyResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass schedulerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass processingResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass computingResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mutualExclusionResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass schedulableResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass secondarySchedulerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass communicationMediaEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deviceResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timingResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass clockResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timerResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass grServiceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass releaseEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass acquireEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass resourceUsageEClass = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private GRMPackageImpl() {
+ super(eNS_URI, GRMFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link GRMPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static GRMPackage init() {
+ if (isInited) return (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+
+ // Obtain or create and register package
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new GRMPackageImpl());
+
+ isInited = true;
+
+ // Initialize simple dependencies
+ UMLPackage.eINSTANCE.eClass();
+
+ // Obtain or create and register interdependencies
+ MARTEPackageImpl theMARTEPackage = (MARTEPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) instanceof MARTEPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTEPackage.eNS_URI) : MARTEPackage.eINSTANCE);
+ NFPsPackageImpl theNFPsPackage = (NFPsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) instanceof NFPsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(NFPsPackage.eNS_URI) : NFPsPackage.eINSTANCE);
+ CoreElementsPackageImpl theCoreElementsPackage = (CoreElementsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) instanceof CoreElementsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(CoreElementsPackage.eNS_URI) : CoreElementsPackage.eINSTANCE);
+ AllocPackageImpl theAllocPackage = (AllocPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) instanceof AllocPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(AllocPackage.eNS_URI) : AllocPackage.eINSTANCE);
+ TimePackageImpl theTimePackage = (TimePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) instanceof TimePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimePackage.eNS_URI) : TimePackage.eINSTANCE);
+ RSMPackageImpl theRSMPackage = (RSMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) instanceof RSMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RSMPackage.eNS_URI) : RSMPackage.eINSTANCE);
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI) : VariablesPackage.eINSTANCE);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theGRMPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theGRMPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theGRMPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(GRMPackage.eNS_URI, theGRMPackage);
+ return theGRMPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getResource() {
+ return resourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResource_ResMult() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResource_IsProtected() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResource_IsActive() {
+ return (EAttribute)resourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResource_Base_Property() {
+ return (EReference)resourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResource_Base_InstanceSpecification() {
+ return (EReference)resourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResource_Base_Classifier() {
+ return (EReference)resourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResource_Base_Lifeline() {
+ return (EReference)resourceEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResource_Base_ConnectableElement() {
+ return (EReference)resourceEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStorageResource() {
+ return storageResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStorageResource_ElementSize() {
+ return (EAttribute)storageResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCommunicationEndPoint() {
+ return communicationEndPointEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCommunicationEndPoint_PacketSize() {
+ return (EAttribute)communicationEndPointEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSynchronizationResource() {
+ return synchronizationResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getConcurrencyResource() {
+ return concurrencyResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getScheduler() {
+ return schedulerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScheduler_IsPreemptible() {
+ return (EAttribute)schedulerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScheduler_SchedPolicy() {
+ return (EAttribute)schedulerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScheduler_OtherSchedPolicy() {
+ return (EAttribute)schedulerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScheduler_Schedule() {
+ return (EAttribute)schedulerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getScheduler_ProcessingUnits() {
+ return (EReference)schedulerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getScheduler_Host() {
+ return (EReference)schedulerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getScheduler_ProtectedSharedResources() {
+ return (EReference)schedulerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getScheduler_SchedulableResources() {
+ return (EReference)schedulerEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getProcessingResource() {
+ return processingResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getProcessingResource_SpeedFactor() {
+ return (EAttribute)processingResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getProcessingResource_MainScheduler() {
+ return (EReference)processingResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getComputingResource() {
+ return computingResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMutualExclusionResource() {
+ return mutualExclusionResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMutualExclusionResource_ProtectKind() {
+ return (EAttribute)mutualExclusionResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMutualExclusionResource_Ceiling() {
+ return (EAttribute)mutualExclusionResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMutualExclusionResource_OtherProtectProtocol() {
+ return (EAttribute)mutualExclusionResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMutualExclusionResource_Scheduler() {
+ return (EReference)mutualExclusionResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSchedulableResource() {
+ return schedulableResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSchedulableResource_SchedParams() {
+ return (EAttribute)schedulableResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSchedulableResource_DependentScheduler() {
+ return (EReference)schedulableResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSchedulableResource_Host() {
+ return (EReference)schedulableResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSecondaryScheduler() {
+ return secondarySchedulerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSecondaryScheduler_VirtualProcessingUnits() {
+ return (EReference)secondarySchedulerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCommunicationMedia() {
+ return communicationMediaEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCommunicationMedia_ElementSize() {
+ return (EAttribute)communicationMediaEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCommunicationMedia_Base_Connector() {
+ return (EReference)communicationMediaEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCommunicationMedia_TransmMode() {
+ return (EAttribute)communicationMediaEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCommunicationMedia_BlockT() {
+ return (EAttribute)communicationMediaEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCommunicationMedia_PacketT() {
+ return (EAttribute)communicationMediaEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCommunicationMedia_Capacity() {
+ return (EAttribute)communicationMediaEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeviceResource() {
+ return deviceResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimingResource() {
+ return timingResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClockResource() {
+ return clockResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTimerResource() {
+ return timerResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTimerResource_Duration() {
+ return (EAttribute)timerResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTimerResource_IsPeriodic() {
+ return (EAttribute)timerResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGrService() {
+ return grServiceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGrService_Owner() {
+ return (EReference)grServiceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGrService_Base_ExecutionSpecification() {
+ return (EReference)grServiceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGrService_Base_BehavioralFeature() {
+ return (EReference)grServiceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGrService_Base_Behavior() {
+ return (EReference)grServiceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGrService_Base_Collaboration() {
+ return (EReference)grServiceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGrService_Base_CollaborationUse() {
+ return (EReference)grServiceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRelease() {
+ return releaseEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAcquire() {
+ return acquireEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAcquire_IsBlocking() {
+ return (EAttribute)acquireEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getResourceUsage() {
+ return resourceUsageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResourceUsage_ExecTime() {
+ return (EAttribute)resourceUsageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResourceUsage_AllocatedMemory() {
+ return (EAttribute)resourceUsageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResourceUsage_UsedMemory() {
+ return (EAttribute)resourceUsageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResourceUsage_PowerPeak() {
+ return (EAttribute)resourceUsageEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResourceUsage_Energy() {
+ return (EAttribute)resourceUsageEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceUsage_Base_NamedElement() {
+ return (EReference)resourceUsageEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceUsage_SubUsage() {
+ return (EReference)resourceUsageEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getResourceUsage_UsedResources() {
+ return (EReference)resourceUsageEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getResourceUsage_MsgSize() {
+ return (EAttribute)resourceUsageEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public GRMFactory getGRMFactory() {
+ return (GRMFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents() {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ resourceEClass = createEClass(RESOURCE);
+ createEAttribute(resourceEClass, RESOURCE__RES_MULT);
+ createEAttribute(resourceEClass, RESOURCE__IS_PROTECTED);
+ createEAttribute(resourceEClass, RESOURCE__IS_ACTIVE);
+ createEReference(resourceEClass, RESOURCE__BASE_PROPERTY);
+ createEReference(resourceEClass, RESOURCE__BASE_INSTANCE_SPECIFICATION);
+ createEReference(resourceEClass, RESOURCE__BASE_CLASSIFIER);
+ createEReference(resourceEClass, RESOURCE__BASE_LIFELINE);
+ createEReference(resourceEClass, RESOURCE__BASE_CONNECTABLE_ELEMENT);
+
+ storageResourceEClass = createEClass(STORAGE_RESOURCE);
+ createEAttribute(storageResourceEClass, STORAGE_RESOURCE__ELEMENT_SIZE);
+
+ communicationEndPointEClass = createEClass(COMMUNICATION_END_POINT);
+ createEAttribute(communicationEndPointEClass, COMMUNICATION_END_POINT__PACKET_SIZE);
+
+ synchronizationResourceEClass = createEClass(SYNCHRONIZATION_RESOURCE);
+
+ concurrencyResourceEClass = createEClass(CONCURRENCY_RESOURCE);
+
+ schedulerEClass = createEClass(SCHEDULER);
+ createEAttribute(schedulerEClass, SCHEDULER__IS_PREEMPTIBLE);
+ createEAttribute(schedulerEClass, SCHEDULER__SCHED_POLICY);
+ createEAttribute(schedulerEClass, SCHEDULER__OTHER_SCHED_POLICY);
+ createEAttribute(schedulerEClass, SCHEDULER__SCHEDULE);
+ createEReference(schedulerEClass, SCHEDULER__PROCESSING_UNITS);
+ createEReference(schedulerEClass, SCHEDULER__HOST);
+ createEReference(schedulerEClass, SCHEDULER__PROTECTED_SHARED_RESOURCES);
+ createEReference(schedulerEClass, SCHEDULER__SCHEDULABLE_RESOURCES);
+
+ processingResourceEClass = createEClass(PROCESSING_RESOURCE);
+ createEAttribute(processingResourceEClass, PROCESSING_RESOURCE__SPEED_FACTOR);
+ createEReference(processingResourceEClass, PROCESSING_RESOURCE__MAIN_SCHEDULER);
+
+ computingResourceEClass = createEClass(COMPUTING_RESOURCE);
+
+ mutualExclusionResourceEClass = createEClass(MUTUAL_EXCLUSION_RESOURCE);
+ createEAttribute(mutualExclusionResourceEClass, MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND);
+ createEAttribute(mutualExclusionResourceEClass, MUTUAL_EXCLUSION_RESOURCE__CEILING);
+ createEAttribute(mutualExclusionResourceEClass, MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL);
+ createEReference(mutualExclusionResourceEClass, MUTUAL_EXCLUSION_RESOURCE__SCHEDULER);
+
+ schedulableResourceEClass = createEClass(SCHEDULABLE_RESOURCE);
+ createEAttribute(schedulableResourceEClass, SCHEDULABLE_RESOURCE__SCHED_PARAMS);
+ createEReference(schedulableResourceEClass, SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER);
+ createEReference(schedulableResourceEClass, SCHEDULABLE_RESOURCE__HOST);
+
+ secondarySchedulerEClass = createEClass(SECONDARY_SCHEDULER);
+ createEReference(secondarySchedulerEClass, SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS);
+
+ communicationMediaEClass = createEClass(COMMUNICATION_MEDIA);
+ createEAttribute(communicationMediaEClass, COMMUNICATION_MEDIA__ELEMENT_SIZE);
+ createEReference(communicationMediaEClass, COMMUNICATION_MEDIA__BASE_CONNECTOR);
+ createEAttribute(communicationMediaEClass, COMMUNICATION_MEDIA__TRANSM_MODE);
+ createEAttribute(communicationMediaEClass, COMMUNICATION_MEDIA__BLOCK_T);
+ createEAttribute(communicationMediaEClass, COMMUNICATION_MEDIA__PACKET_T);
+ createEAttribute(communicationMediaEClass, COMMUNICATION_MEDIA__CAPACITY);
+
+ deviceResourceEClass = createEClass(DEVICE_RESOURCE);
+
+ timingResourceEClass = createEClass(TIMING_RESOURCE);
+
+ clockResourceEClass = createEClass(CLOCK_RESOURCE);
+
+ timerResourceEClass = createEClass(TIMER_RESOURCE);
+ createEAttribute(timerResourceEClass, TIMER_RESOURCE__DURATION);
+ createEAttribute(timerResourceEClass, TIMER_RESOURCE__IS_PERIODIC);
+
+ grServiceEClass = createEClass(GR_SERVICE);
+ createEReference(grServiceEClass, GR_SERVICE__OWNER);
+ createEReference(grServiceEClass, GR_SERVICE__BASE_EXECUTION_SPECIFICATION);
+ createEReference(grServiceEClass, GR_SERVICE__BASE_BEHAVIORAL_FEATURE);
+ createEReference(grServiceEClass, GR_SERVICE__BASE_BEHAVIOR);
+ createEReference(grServiceEClass, GR_SERVICE__BASE_COLLABORATION);
+ createEReference(grServiceEClass, GR_SERVICE__BASE_COLLABORATION_USE);
+
+ releaseEClass = createEClass(RELEASE);
+
+ acquireEClass = createEClass(ACQUIRE);
+ createEAttribute(acquireEClass, ACQUIRE__IS_BLOCKING);
+
+ resourceUsageEClass = createEClass(RESOURCE_USAGE);
+ createEAttribute(resourceUsageEClass, RESOURCE_USAGE__EXEC_TIME);
+ createEAttribute(resourceUsageEClass, RESOURCE_USAGE__ALLOCATED_MEMORY);
+ createEAttribute(resourceUsageEClass, RESOURCE_USAGE__USED_MEMORY);
+ createEAttribute(resourceUsageEClass, RESOURCE_USAGE__POWER_PEAK);
+ createEAttribute(resourceUsageEClass, RESOURCE_USAGE__ENERGY);
+ createEReference(resourceUsageEClass, RESOURCE_USAGE__BASE_NAMED_ELEMENT);
+ createEReference(resourceUsageEClass, RESOURCE_USAGE__SUB_USAGE);
+ createEReference(resourceUsageEClass, RESOURCE_USAGE__USED_RESOURCES);
+ createEAttribute(resourceUsageEClass, RESOURCE_USAGE__MSG_SIZE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents() {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Obtain other dependent packages
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+ MARTE_PrimitivesTypesPackage theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackage)EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ GRM_BasicTypesPackage theGRM_BasicTypesPackage = (GRM_BasicTypesPackage)EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI);
+ MARTE_DataTypesPackage theMARTE_DataTypesPackage = (MARTE_DataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ storageResourceEClass.getESuperTypes().add(this.getResource());
+ communicationEndPointEClass.getESuperTypes().add(this.getResource());
+ synchronizationResourceEClass.getESuperTypes().add(this.getResource());
+ concurrencyResourceEClass.getESuperTypes().add(this.getResource());
+ schedulerEClass.getESuperTypes().add(this.getResource());
+ processingResourceEClass.getESuperTypes().add(this.getResource());
+ computingResourceEClass.getESuperTypes().add(this.getProcessingResource());
+ mutualExclusionResourceEClass.getESuperTypes().add(this.getResource());
+ schedulableResourceEClass.getESuperTypes().add(this.getResource());
+ secondarySchedulerEClass.getESuperTypes().add(this.getScheduler());
+ communicationMediaEClass.getESuperTypes().add(this.getProcessingResource());
+ deviceResourceEClass.getESuperTypes().add(this.getProcessingResource());
+ timingResourceEClass.getESuperTypes().add(this.getResource());
+ clockResourceEClass.getESuperTypes().add(this.getTimingResource());
+ timerResourceEClass.getESuperTypes().add(this.getTimingResource());
+ releaseEClass.getESuperTypes().add(this.getGrService());
+ acquireEClass.getESuperTypes().add(this.getGrService());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(resourceEClass, Resource.class, "Resource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getResource_ResMult(), theBasicNFP_TypesPackage.getNFP_Integer(), "resMult", "1", 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getResource_IsProtected(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isProtected", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getResource_IsActive(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isActive", null, 0, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getResource_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getResource_Base_InstanceSpecification(), theUMLPackage.getInstanceSpecification(), null, "base_InstanceSpecification", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getResource_Base_Classifier(), theUMLPackage.getClassifier(), null, "base_Classifier", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getResource_Base_Lifeline(), theUMLPackage.getLifeline(), null, "base_Lifeline", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getResource_Base_ConnectableElement(), theUMLPackage.getConnectableElement(), null, "base_ConnectableElement", null, 1, 1, Resource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(storageResourceEClass, StorageResource.class, "StorageResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStorageResource_ElementSize(), theBasicNFP_TypesPackage.getNFP_Integer(), "elementSize", null, 0, 1, StorageResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(communicationEndPointEClass, CommunicationEndPoint.class, "CommunicationEndPoint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCommunicationEndPoint_PacketSize(), theBasicNFP_TypesPackage.getNFP_Integer(), "packetSize", null, 0, 1, CommunicationEndPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(synchronizationResourceEClass, SynchronizationResource.class, "SynchronizationResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(concurrencyResourceEClass, ConcurrencyResource.class, "ConcurrencyResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(schedulerEClass, Scheduler.class, "Scheduler", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getScheduler_IsPreemptible(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isPreemptible", "true", 0, 1, Scheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getScheduler_SchedPolicy(), theGRM_BasicTypesPackage.getSchedPolicyKind(), "schedPolicy", "FixedPriority", 0, 1, Scheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getScheduler_OtherSchedPolicy(), theMARTE_PrimitivesTypesPackage.getString(), "otherSchedPolicy", null, 0, 1, Scheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getScheduler_Schedule(), theGRM_BasicTypesPackage.getScheduleSpecification(), "schedule", null, 0, 1, Scheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getScheduler_ProcessingUnits(), this.getProcessingResource(), null, "processingUnits", null, 0, -1, Scheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getScheduler_Host(), this.getComputingResource(), null, "host", null, 0, 1, Scheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getScheduler_ProtectedSharedResources(), this.getMutualExclusionResource(), this.getMutualExclusionResource_Scheduler(), "protectedSharedResources", null, 0, -1, Scheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getScheduler_SchedulableResources(), this.getSchedulableResource(), this.getSchedulableResource_Host(), "schedulableResources", null, 0, -1, Scheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(processingResourceEClass, ProcessingResource.class, "ProcessingResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getProcessingResource_SpeedFactor(), theBasicNFP_TypesPackage.getNFP_Real(), "speedFactor", "1.0", 0, 1, ProcessingResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getProcessingResource_MainScheduler(), this.getScheduler(), null, "mainScheduler", null, 0, 1, ProcessingResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(computingResourceEClass, ComputingResource.class, "ComputingResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(mutualExclusionResourceEClass, MutualExclusionResource.class, "MutualExclusionResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMutualExclusionResource_ProtectKind(), theGRM_BasicTypesPackage.getProtectProtocolKind(), "protectKind", "PriorityInheritance", 0, 1, MutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMutualExclusionResource_Ceiling(), theBasicNFP_TypesPackage.getNFP_Integer(), "ceiling", null, 0, 1, MutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMutualExclusionResource_OtherProtectProtocol(), theMARTE_PrimitivesTypesPackage.getString(), "otherProtectProtocol", null, 0, 1, MutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMutualExclusionResource_Scheduler(), this.getScheduler(), this.getScheduler_ProtectedSharedResources(), "scheduler", null, 0, 1, MutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(schedulableResourceEClass, SchedulableResource.class, "SchedulableResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSchedulableResource_SchedParams(), theGRM_BasicTypesPackage.getSchedParameters(), "schedParams", null, 0, -1, SchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSchedulableResource_DependentScheduler(), this.getSecondaryScheduler(), this.getSecondaryScheduler_VirtualProcessingUnits(), "dependentScheduler", null, 0, 1, SchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSchedulableResource_Host(), this.getScheduler(), this.getScheduler_SchedulableResources(), "host", null, 0, 1, SchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(secondarySchedulerEClass, SecondaryScheduler.class, "SecondaryScheduler", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSecondaryScheduler_VirtualProcessingUnits(), this.getSchedulableResource(), this.getSchedulableResource_DependentScheduler(), "virtualProcessingUnits", null, 0, -1, SecondaryScheduler.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(communicationMediaEClass, CommunicationMedia.class, "CommunicationMedia", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCommunicationMedia_ElementSize(), theBasicNFP_TypesPackage.getNFP_Integer(), "elementSize", null, 0, 1, CommunicationMedia.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getCommunicationMedia_Base_Connector(), theUMLPackage.getConnector(), null, "base_Connector", null, 1, 1, CommunicationMedia.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getCommunicationMedia_TransmMode(), theMARTE_DataTypesPackage.getTransmModeKind(), "transmMode", null, 0, 1, CommunicationMedia.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getCommunicationMedia_BlockT(), theBasicNFP_TypesPackage.getNFP_Duration(), "blockT", null, 0, -1, CommunicationMedia.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getCommunicationMedia_PacketT(), theBasicNFP_TypesPackage.getNFP_Duration(), "packetT", null, 0, -1, CommunicationMedia.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getCommunicationMedia_Capacity(), theBasicNFP_TypesPackage.getNFP_DataTxRate(), "capacity", null, 0, -1, CommunicationMedia.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(deviceResourceEClass, DeviceResource.class, "DeviceResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(timingResourceEClass, TimingResource.class, "TimingResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(clockResourceEClass, ClockResource.class, "ClockResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(timerResourceEClass, TimerResource.class, "TimerResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getTimerResource_Duration(), theBasicNFP_TypesPackage.getNFP_Duration(), "duration", null, 0, 1, TimerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getTimerResource_IsPeriodic(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isPeriodic", null, 0, 1, TimerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(grServiceEClass, GrService.class, "GrService", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGrService_Owner(), this.getResource(), null, "owner", null, 0, 1, GrService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGrService_Base_ExecutionSpecification(), theUMLPackage.getExecutionSpecification(), null, "base_ExecutionSpecification", null, 1, 1, GrService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGrService_Base_BehavioralFeature(), theUMLPackage.getBehavioralFeature(), null, "base_BehavioralFeature", null, 1, 1, GrService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGrService_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 1, 1, GrService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGrService_Base_Collaboration(), theUMLPackage.getCollaboration(), null, "base_Collaboration", null, 1, 1, GrService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getGrService_Base_CollaborationUse(), theUMLPackage.getCollaborationUse(), null, "base_CollaborationUse", null, 1, 1, GrService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(releaseEClass, Release.class, "Release", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(acquireEClass, Acquire.class, "Acquire", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAcquire_IsBlocking(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isBlocking", null, 0, 1, Acquire.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(resourceUsageEClass, ResourceUsage.class, "ResourceUsage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getResourceUsage_ExecTime(), theBasicNFP_TypesPackage.getNFP_Duration(), "execTime", null, 0, -1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResourceUsage_AllocatedMemory(), theBasicNFP_TypesPackage.getNFP_DataSize(), "allocatedMemory", null, 0, -1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResourceUsage_UsedMemory(), theBasicNFP_TypesPackage.getNFP_DataSize(), "usedMemory", null, 0, -1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResourceUsage_PowerPeak(), theBasicNFP_TypesPackage.getNFP_Power(), "powerPeak", null, 0, -1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResourceUsage_Energy(), theBasicNFP_TypesPackage.getNFP_Energy(), "energy", null, 0, -1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getResourceUsage_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 1, 1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getResourceUsage_SubUsage(), this.getResourceUsage(), null, "subUsage", null, 0, -1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getResourceUsage_UsedResources(), this.getResource(), null, "usedResources", null, 0, -1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getResourceUsage_MsgSize(), theBasicNFP_TypesPackage.getNFP_DataSize(), "msgSize", null, 0, -1, ResourceUsage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ }
+
+} //GRMPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GrServiceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GrServiceImpl.java
new file mode 100644
index 00000000000..9772844a244
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/GrServiceImpl.java
@@ -0,0 +1,474 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.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.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Collaboration;
+import org.eclipse.uml2.uml.CollaborationUse;
+import org.eclipse.uml2.uml.ExecutionSpecification;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Gr Service</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GrServiceImpl#getOwner <em>Owner</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GrServiceImpl#getBase_ExecutionSpecification <em>Base Execution Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GrServiceImpl#getBase_BehavioralFeature <em>Base Behavioral Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GrServiceImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GrServiceImpl#getBase_Collaboration <em>Base Collaboration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GrServiceImpl#getBase_CollaborationUse <em>Base Collaboration Use</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GrServiceImpl extends EObjectImpl implements GrService {
+ /**
+ * The cached value of the '{@link #getOwner() <em>Owner</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOwner()
+ * @generated
+ * @ordered
+ */
+ protected Resource owner;
+
+ /**
+ * The cached value of the '{@link #getBase_ExecutionSpecification() <em>Base Execution Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ExecutionSpecification()
+ * @generated
+ * @ordered
+ */
+ protected ExecutionSpecification base_ExecutionSpecification;
+
+ /**
+ * The cached value of the '{@link #getBase_BehavioralFeature() <em>Base Behavioral Feature</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_BehavioralFeature()
+ * @generated
+ * @ordered
+ */
+ protected BehavioralFeature base_BehavioralFeature;
+
+ /**
+ * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Behavior()
+ * @generated
+ * @ordered
+ */
+ protected Behavior base_Behavior;
+
+ /**
+ * The cached value of the '{@link #getBase_Collaboration() <em>Base Collaboration</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Collaboration()
+ * @generated
+ * @ordered
+ */
+ protected Collaboration base_Collaboration;
+
+ /**
+ * The cached value of the '{@link #getBase_CollaborationUse() <em>Base Collaboration Use</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_CollaborationUse()
+ * @generated
+ * @ordered
+ */
+ protected CollaborationUse base_CollaborationUse;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GrServiceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.GR_SERVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Resource getOwner() {
+ if (owner != null && owner.eIsProxy()) {
+ InternalEObject oldOwner = (InternalEObject)owner;
+ owner = (Resource)eResolveProxy(oldOwner);
+ if (owner != oldOwner) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.GR_SERVICE__OWNER, oldOwner, owner));
+ }
+ }
+ return owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Resource basicGetOwner() {
+ return owner;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOwner(Resource newOwner) {
+ Resource oldOwner = owner;
+ owner = newOwner;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.GR_SERVICE__OWNER, oldOwner, owner));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionSpecification getBase_ExecutionSpecification() {
+ if (base_ExecutionSpecification != null && base_ExecutionSpecification.eIsProxy()) {
+ InternalEObject oldBase_ExecutionSpecification = (InternalEObject)base_ExecutionSpecification;
+ base_ExecutionSpecification = (ExecutionSpecification)eResolveProxy(oldBase_ExecutionSpecification);
+ if (base_ExecutionSpecification != oldBase_ExecutionSpecification) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.GR_SERVICE__BASE_EXECUTION_SPECIFICATION, oldBase_ExecutionSpecification, base_ExecutionSpecification));
+ }
+ }
+ return base_ExecutionSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExecutionSpecification basicGetBase_ExecutionSpecification() {
+ return base_ExecutionSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ExecutionSpecification(ExecutionSpecification newBase_ExecutionSpecification) {
+ ExecutionSpecification oldBase_ExecutionSpecification = base_ExecutionSpecification;
+ base_ExecutionSpecification = newBase_ExecutionSpecification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.GR_SERVICE__BASE_EXECUTION_SPECIFICATION, oldBase_ExecutionSpecification, base_ExecutionSpecification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature getBase_BehavioralFeature() {
+ if (base_BehavioralFeature != null && base_BehavioralFeature.eIsProxy()) {
+ InternalEObject oldBase_BehavioralFeature = (InternalEObject)base_BehavioralFeature;
+ base_BehavioralFeature = (BehavioralFeature)eResolveProxy(oldBase_BehavioralFeature);
+ if (base_BehavioralFeature != oldBase_BehavioralFeature) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.GR_SERVICE__BASE_BEHAVIORAL_FEATURE, oldBase_BehavioralFeature, base_BehavioralFeature));
+ }
+ }
+ return base_BehavioralFeature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature basicGetBase_BehavioralFeature() {
+ return base_BehavioralFeature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_BehavioralFeature(BehavioralFeature newBase_BehavioralFeature) {
+ BehavioralFeature oldBase_BehavioralFeature = base_BehavioralFeature;
+ base_BehavioralFeature = newBase_BehavioralFeature;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.GR_SERVICE__BASE_BEHAVIORAL_FEATURE, oldBase_BehavioralFeature, base_BehavioralFeature));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBase_Behavior() {
+ if (base_Behavior != null && base_Behavior.eIsProxy()) {
+ InternalEObject oldBase_Behavior = (InternalEObject)base_Behavior;
+ base_Behavior = (Behavior)eResolveProxy(oldBase_Behavior);
+ if (base_Behavior != oldBase_Behavior) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.GR_SERVICE__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+ }
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBase_Behavior() {
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Behavior(Behavior newBase_Behavior) {
+ Behavior oldBase_Behavior = base_Behavior;
+ base_Behavior = newBase_Behavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.GR_SERVICE__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collaboration getBase_Collaboration() {
+ if (base_Collaboration != null && base_Collaboration.eIsProxy()) {
+ InternalEObject oldBase_Collaboration = (InternalEObject)base_Collaboration;
+ base_Collaboration = (Collaboration)eResolveProxy(oldBase_Collaboration);
+ if (base_Collaboration != oldBase_Collaboration) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.GR_SERVICE__BASE_COLLABORATION, oldBase_Collaboration, base_Collaboration));
+ }
+ }
+ return base_Collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Collaboration basicGetBase_Collaboration() {
+ return base_Collaboration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Collaboration(Collaboration newBase_Collaboration) {
+ Collaboration oldBase_Collaboration = base_Collaboration;
+ base_Collaboration = newBase_Collaboration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.GR_SERVICE__BASE_COLLABORATION, oldBase_Collaboration, base_Collaboration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse getBase_CollaborationUse() {
+ if (base_CollaborationUse != null && base_CollaborationUse.eIsProxy()) {
+ InternalEObject oldBase_CollaborationUse = (InternalEObject)base_CollaborationUse;
+ base_CollaborationUse = (CollaborationUse)eResolveProxy(oldBase_CollaborationUse);
+ if (base_CollaborationUse != oldBase_CollaborationUse) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.GR_SERVICE__BASE_COLLABORATION_USE, oldBase_CollaborationUse, base_CollaborationUse));
+ }
+ }
+ return base_CollaborationUse;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollaborationUse basicGetBase_CollaborationUse() {
+ return base_CollaborationUse;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_CollaborationUse(CollaborationUse newBase_CollaborationUse) {
+ CollaborationUse oldBase_CollaborationUse = base_CollaborationUse;
+ base_CollaborationUse = newBase_CollaborationUse;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.GR_SERVICE__BASE_COLLABORATION_USE, oldBase_CollaborationUse, base_CollaborationUse));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.GR_SERVICE__OWNER:
+ if (resolve) return getOwner();
+ return basicGetOwner();
+ case GRMPackage.GR_SERVICE__BASE_EXECUTION_SPECIFICATION:
+ if (resolve) return getBase_ExecutionSpecification();
+ return basicGetBase_ExecutionSpecification();
+ case GRMPackage.GR_SERVICE__BASE_BEHAVIORAL_FEATURE:
+ if (resolve) return getBase_BehavioralFeature();
+ return basicGetBase_BehavioralFeature();
+ case GRMPackage.GR_SERVICE__BASE_BEHAVIOR:
+ if (resolve) return getBase_Behavior();
+ return basicGetBase_Behavior();
+ case GRMPackage.GR_SERVICE__BASE_COLLABORATION:
+ if (resolve) return getBase_Collaboration();
+ return basicGetBase_Collaboration();
+ case GRMPackage.GR_SERVICE__BASE_COLLABORATION_USE:
+ if (resolve) return getBase_CollaborationUse();
+ return basicGetBase_CollaborationUse();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.GR_SERVICE__OWNER:
+ setOwner((Resource)newValue);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_EXECUTION_SPECIFICATION:
+ setBase_ExecutionSpecification((ExecutionSpecification)newValue);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_BEHAVIORAL_FEATURE:
+ setBase_BehavioralFeature((BehavioralFeature)newValue);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)newValue);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_COLLABORATION:
+ setBase_Collaboration((Collaboration)newValue);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_COLLABORATION_USE:
+ setBase_CollaborationUse((CollaborationUse)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.GR_SERVICE__OWNER:
+ setOwner((Resource)null);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_EXECUTION_SPECIFICATION:
+ setBase_ExecutionSpecification((ExecutionSpecification)null);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_BEHAVIORAL_FEATURE:
+ setBase_BehavioralFeature((BehavioralFeature)null);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)null);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_COLLABORATION:
+ setBase_Collaboration((Collaboration)null);
+ return;
+ case GRMPackage.GR_SERVICE__BASE_COLLABORATION_USE:
+ setBase_CollaborationUse((CollaborationUse)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.GR_SERVICE__OWNER:
+ return owner != null;
+ case GRMPackage.GR_SERVICE__BASE_EXECUTION_SPECIFICATION:
+ return base_ExecutionSpecification != null;
+ case GRMPackage.GR_SERVICE__BASE_BEHAVIORAL_FEATURE:
+ return base_BehavioralFeature != null;
+ case GRMPackage.GR_SERVICE__BASE_BEHAVIOR:
+ return base_Behavior != null;
+ case GRMPackage.GR_SERVICE__BASE_COLLABORATION:
+ return base_Collaboration != null;
+ case GRMPackage.GR_SERVICE__BASE_COLLABORATION_USE:
+ return base_CollaborationUse != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //GrServiceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/MutualExclusionResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/MutualExclusionResourceImpl.java
new file mode 100644
index 00000000000..2ffaafc83d6
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/MutualExclusionResourceImpl.java
@@ -0,0 +1,398 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.MutualExclusionResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Scheduler;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.ProtectProtocolKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Mutual Exclusion Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.MutualExclusionResourceImpl#getProtectKind <em>Protect Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.MutualExclusionResourceImpl#getCeiling <em>Ceiling</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.MutualExclusionResourceImpl#getOtherProtectProtocol <em>Other Protect Protocol</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.MutualExclusionResourceImpl#getScheduler <em>Scheduler</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MutualExclusionResourceImpl extends ResourceImpl implements MutualExclusionResource {
+ /**
+ * The default value of the '{@link #getProtectKind() <em>Protect Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProtectKind()
+ * @generated
+ * @ordered
+ */
+ protected static final ProtectProtocolKind PROTECT_KIND_EDEFAULT = ProtectProtocolKind.PRIORITY_INHERITANCE;
+
+ /**
+ * The cached value of the '{@link #getProtectKind() <em>Protect Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProtectKind()
+ * @generated
+ * @ordered
+ */
+ protected ProtectProtocolKind protectKind = PROTECT_KIND_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getCeiling() <em>Ceiling</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCeiling()
+ * @generated
+ * @ordered
+ */
+ protected static final String CEILING_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getCeiling() <em>Ceiling</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCeiling()
+ * @generated
+ * @ordered
+ */
+ protected String ceiling = CEILING_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOtherProtectProtocol() <em>Other Protect Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOtherProtectProtocol()
+ * @generated
+ * @ordered
+ */
+ protected static final String OTHER_PROTECT_PROTOCOL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOtherProtectProtocol() <em>Other Protect Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOtherProtectProtocol()
+ * @generated
+ * @ordered
+ */
+ protected String otherProtectProtocol = OTHER_PROTECT_PROTOCOL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getScheduler() <em>Scheduler</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScheduler()
+ * @generated
+ * @ordered
+ */
+ protected Scheduler scheduler;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MutualExclusionResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.MUTUAL_EXCLUSION_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ProtectProtocolKind getProtectKind() {
+ return protectKind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProtectKind(ProtectProtocolKind newProtectKind) {
+ ProtectProtocolKind oldProtectKind = protectKind;
+ protectKind = newProtectKind == null ? PROTECT_KIND_EDEFAULT : newProtectKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND, oldProtectKind, protectKind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getCeiling() {
+ return ceiling;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCeiling(String newCeiling) {
+ String oldCeiling = ceiling;
+ ceiling = newCeiling;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.MUTUAL_EXCLUSION_RESOURCE__CEILING, oldCeiling, ceiling));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOtherProtectProtocol() {
+ return otherProtectProtocol;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOtherProtectProtocol(String newOtherProtectProtocol) {
+ String oldOtherProtectProtocol = otherProtectProtocol;
+ otherProtectProtocol = newOtherProtectProtocol;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL, oldOtherProtectProtocol, otherProtectProtocol));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler getScheduler() {
+ if (scheduler != null && scheduler.eIsProxy()) {
+ InternalEObject oldScheduler = (InternalEObject)scheduler;
+ scheduler = (Scheduler)eResolveProxy(oldScheduler);
+ if (scheduler != oldScheduler) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER, oldScheduler, scheduler));
+ }
+ }
+ return scheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler basicGetScheduler() {
+ return scheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetScheduler(Scheduler newScheduler, NotificationChain msgs) {
+ Scheduler oldScheduler = scheduler;
+ scheduler = newScheduler;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER, oldScheduler, newScheduler);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setScheduler(Scheduler newScheduler) {
+ if (newScheduler != scheduler) {
+ NotificationChain msgs = null;
+ if (scheduler != null)
+ msgs = ((InternalEObject)scheduler).eInverseRemove(this, GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES, Scheduler.class, msgs);
+ if (newScheduler != null)
+ msgs = ((InternalEObject)newScheduler).eInverseAdd(this, GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES, Scheduler.class, msgs);
+ msgs = basicSetScheduler(newScheduler, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER, newScheduler, newScheduler));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ if (scheduler != null)
+ msgs = ((InternalEObject)scheduler).eInverseRemove(this, GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES, Scheduler.class, msgs);
+ return basicSetScheduler((Scheduler)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ return basicSetScheduler(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND:
+ return getProtectKind();
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__CEILING:
+ return getCeiling();
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL:
+ return getOtherProtectProtocol();
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ if (resolve) return getScheduler();
+ return basicGetScheduler();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND:
+ setProtectKind((ProtectProtocolKind)newValue);
+ return;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__CEILING:
+ setCeiling((String)newValue);
+ return;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL:
+ setOtherProtectProtocol((String)newValue);
+ return;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ setScheduler((Scheduler)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND:
+ setProtectKind(PROTECT_KIND_EDEFAULT);
+ return;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__CEILING:
+ setCeiling(CEILING_EDEFAULT);
+ return;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL:
+ setOtherProtectProtocol(OTHER_PROTECT_PROTOCOL_EDEFAULT);
+ return;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ setScheduler((Scheduler)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND:
+ return protectKind != PROTECT_KIND_EDEFAULT;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__CEILING:
+ return CEILING_EDEFAULT == null ? ceiling != null : !CEILING_EDEFAULT.equals(ceiling);
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL:
+ return OTHER_PROTECT_PROTOCOL_EDEFAULT == null ? otherProtectProtocol != null : !OTHER_PROTECT_PROTOCOL_EDEFAULT.equals(otherProtectProtocol);
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ return scheduler != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (protectKind: ");
+ result.append(protectKind);
+ result.append(", ceiling: ");
+ result.append(ceiling);
+ result.append(", otherProtectProtocol: ");
+ result.append(otherProtectProtocol);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MutualExclusionResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ProcessingResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ProcessingResourceImpl.java
new file mode 100644
index 00000000000..03f8edec578
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ProcessingResourceImpl.java
@@ -0,0 +1,235 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.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.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Scheduler;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Processing Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ProcessingResourceImpl#getSpeedFactor <em>Speed Factor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ProcessingResourceImpl#getMainScheduler <em>Main Scheduler</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ProcessingResourceImpl extends ResourceImpl implements ProcessingResource {
+ /**
+ * The default value of the '{@link #getSpeedFactor() <em>Speed Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpeedFactor()
+ * @generated
+ * @ordered
+ */
+ protected static final String SPEED_FACTOR_EDEFAULT = "1.0";
+
+ /**
+ * The cached value of the '{@link #getSpeedFactor() <em>Speed Factor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSpeedFactor()
+ * @generated
+ * @ordered
+ */
+ protected String speedFactor = SPEED_FACTOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMainScheduler() <em>Main Scheduler</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMainScheduler()
+ * @generated
+ * @ordered
+ */
+ protected Scheduler mainScheduler;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ProcessingResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.PROCESSING_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSpeedFactor() {
+ return speedFactor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSpeedFactor(String newSpeedFactor) {
+ String oldSpeedFactor = speedFactor;
+ speedFactor = newSpeedFactor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR, oldSpeedFactor, speedFactor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler getMainScheduler() {
+ if (mainScheduler != null && mainScheduler.eIsProxy()) {
+ InternalEObject oldMainScheduler = (InternalEObject)mainScheduler;
+ mainScheduler = (Scheduler)eResolveProxy(oldMainScheduler);
+ if (mainScheduler != oldMainScheduler) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER, oldMainScheduler, mainScheduler));
+ }
+ }
+ return mainScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler basicGetMainScheduler() {
+ return mainScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMainScheduler(Scheduler newMainScheduler) {
+ Scheduler oldMainScheduler = mainScheduler;
+ mainScheduler = newMainScheduler;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER, oldMainScheduler, mainScheduler));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR:
+ return getSpeedFactor();
+ case GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER:
+ if (resolve) return getMainScheduler();
+ return basicGetMainScheduler();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR:
+ setSpeedFactor((String)newValue);
+ return;
+ case GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER:
+ setMainScheduler((Scheduler)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR:
+ setSpeedFactor(SPEED_FACTOR_EDEFAULT);
+ return;
+ case GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER:
+ setMainScheduler((Scheduler)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR:
+ return SPEED_FACTOR_EDEFAULT == null ? speedFactor != null : !SPEED_FACTOR_EDEFAULT.equals(speedFactor);
+ case GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER:
+ return mainScheduler != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (speedFactor: ");
+ result.append(speedFactor);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ProcessingResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ReleaseImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ReleaseImpl.java
new file mode 100644
index 00000000000..41fbf21a987
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ReleaseImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Release;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Release</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ReleaseImpl extends GrServiceImpl implements Release {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ReleaseImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.RELEASE;
+ }
+
+} //ReleaseImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ResourceImpl.java
new file mode 100644
index 00000000000..44e5560a028
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ResourceImpl.java
@@ -0,0 +1,589 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.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.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+import org.eclipse.uml2.uml.Classifier;
+import org.eclipse.uml2.uml.ConnectableElement;
+import org.eclipse.uml2.uml.InstanceSpecification;
+import org.eclipse.uml2.uml.Lifeline;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl#getResMult <em>Res Mult</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl#isIsProtected <em>Is Protected</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl#isIsActive <em>Is Active</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl#getBase_Property <em>Base Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl#getBase_InstanceSpecification <em>Base Instance Specification</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl#getBase_Classifier <em>Base Classifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl#getBase_Lifeline <em>Base Lifeline</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl#getBase_ConnectableElement <em>Base Connectable Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ResourceImpl extends EObjectImpl implements Resource {
+ /**
+ * The default value of the '{@link #getResMult() <em>Res Mult</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResMult()
+ * @generated
+ * @ordered
+ */
+ protected static final String RES_MULT_EDEFAULT = "1";
+
+ /**
+ * The cached value of the '{@link #getResMult() <em>Res Mult</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResMult()
+ * @generated
+ * @ordered
+ */
+ protected String resMult = RES_MULT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsProtected() <em>Is Protected</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsProtected()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_PROTECTED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsProtected() <em>Is Protected</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsProtected()
+ * @generated
+ * @ordered
+ */
+ protected boolean isProtected = IS_PROTECTED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsActive() <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsActive()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_ACTIVE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsActive() <em>Is Active</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsActive()
+ * @generated
+ * @ordered
+ */
+ protected boolean isActive = IS_ACTIVE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * The cached value of the '{@link #getBase_InstanceSpecification() <em>Base Instance Specification</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_InstanceSpecification()
+ * @generated
+ * @ordered
+ */
+ protected InstanceSpecification base_InstanceSpecification;
+
+ /**
+ * The cached value of the '{@link #getBase_Classifier() <em>Base Classifier</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Classifier()
+ * @generated
+ * @ordered
+ */
+ protected Classifier base_Classifier;
+
+ /**
+ * The cached value of the '{@link #getBase_Lifeline() <em>Base Lifeline</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Lifeline()
+ * @generated
+ * @ordered
+ */
+ protected Lifeline base_Lifeline;
+
+ /**
+ * The cached value of the '{@link #getBase_ConnectableElement() <em>Base Connectable Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_ConnectableElement()
+ * @generated
+ * @ordered
+ */
+ protected ConnectableElement base_ConnectableElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getResMult() {
+ return resMult;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setResMult(String newResMult) {
+ String oldResMult = resMult;
+ resMult = newResMult;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE__RES_MULT, oldResMult, resMult));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsProtected() {
+ return isProtected;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsProtected(boolean newIsProtected) {
+ boolean oldIsProtected = isProtected;
+ isProtected = newIsProtected;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE__IS_PROTECTED, oldIsProtected, isProtected));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsActive() {
+ return isActive;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsActive(boolean newIsActive) {
+ boolean oldIsActive = isActive;
+ isActive = newIsActive;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE__IS_ACTIVE, oldIsActive, isActive));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.RESOURCE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification getBase_InstanceSpecification() {
+ if (base_InstanceSpecification != null && base_InstanceSpecification.eIsProxy()) {
+ InternalEObject oldBase_InstanceSpecification = (InternalEObject)base_InstanceSpecification;
+ base_InstanceSpecification = (InstanceSpecification)eResolveProxy(oldBase_InstanceSpecification);
+ if (base_InstanceSpecification != oldBase_InstanceSpecification) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.RESOURCE__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+ }
+ }
+ return base_InstanceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InstanceSpecification basicGetBase_InstanceSpecification() {
+ return base_InstanceSpecification;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_InstanceSpecification(InstanceSpecification newBase_InstanceSpecification) {
+ InstanceSpecification oldBase_InstanceSpecification = base_InstanceSpecification;
+ base_InstanceSpecification = newBase_InstanceSpecification;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE__BASE_INSTANCE_SPECIFICATION, oldBase_InstanceSpecification, base_InstanceSpecification));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier getBase_Classifier() {
+ if (base_Classifier != null && base_Classifier.eIsProxy()) {
+ InternalEObject oldBase_Classifier = (InternalEObject)base_Classifier;
+ base_Classifier = (Classifier)eResolveProxy(oldBase_Classifier);
+ if (base_Classifier != oldBase_Classifier) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.RESOURCE__BASE_CLASSIFIER, oldBase_Classifier, base_Classifier));
+ }
+ }
+ return base_Classifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Classifier basicGetBase_Classifier() {
+ return base_Classifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Classifier(Classifier newBase_Classifier) {
+ Classifier oldBase_Classifier = base_Classifier;
+ base_Classifier = newBase_Classifier;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE__BASE_CLASSIFIER, oldBase_Classifier, base_Classifier));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline getBase_Lifeline() {
+ if (base_Lifeline != null && base_Lifeline.eIsProxy()) {
+ InternalEObject oldBase_Lifeline = (InternalEObject)base_Lifeline;
+ base_Lifeline = (Lifeline)eResolveProxy(oldBase_Lifeline);
+ if (base_Lifeline != oldBase_Lifeline) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.RESOURCE__BASE_LIFELINE, oldBase_Lifeline, base_Lifeline));
+ }
+ }
+ return base_Lifeline;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Lifeline basicGetBase_Lifeline() {
+ return base_Lifeline;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Lifeline(Lifeline newBase_Lifeline) {
+ Lifeline oldBase_Lifeline = base_Lifeline;
+ base_Lifeline = newBase_Lifeline;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE__BASE_LIFELINE, oldBase_Lifeline, base_Lifeline));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement getBase_ConnectableElement() {
+ if (base_ConnectableElement != null && base_ConnectableElement.eIsProxy()) {
+ InternalEObject oldBase_ConnectableElement = (InternalEObject)base_ConnectableElement;
+ base_ConnectableElement = (ConnectableElement)eResolveProxy(oldBase_ConnectableElement);
+ if (base_ConnectableElement != oldBase_ConnectableElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.RESOURCE__BASE_CONNECTABLE_ELEMENT, oldBase_ConnectableElement, base_ConnectableElement));
+ }
+ }
+ return base_ConnectableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConnectableElement basicGetBase_ConnectableElement() {
+ return base_ConnectableElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_ConnectableElement(ConnectableElement newBase_ConnectableElement) {
+ ConnectableElement oldBase_ConnectableElement = base_ConnectableElement;
+ base_ConnectableElement = newBase_ConnectableElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE__BASE_CONNECTABLE_ELEMENT, oldBase_ConnectableElement, base_ConnectableElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.RESOURCE__RES_MULT:
+ return getResMult();
+ case GRMPackage.RESOURCE__IS_PROTECTED:
+ return isIsProtected();
+ case GRMPackage.RESOURCE__IS_ACTIVE:
+ return isIsActive();
+ case GRMPackage.RESOURCE__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ case GRMPackage.RESOURCE__BASE_INSTANCE_SPECIFICATION:
+ if (resolve) return getBase_InstanceSpecification();
+ return basicGetBase_InstanceSpecification();
+ case GRMPackage.RESOURCE__BASE_CLASSIFIER:
+ if (resolve) return getBase_Classifier();
+ return basicGetBase_Classifier();
+ case GRMPackage.RESOURCE__BASE_LIFELINE:
+ if (resolve) return getBase_Lifeline();
+ return basicGetBase_Lifeline();
+ case GRMPackage.RESOURCE__BASE_CONNECTABLE_ELEMENT:
+ if (resolve) return getBase_ConnectableElement();
+ return basicGetBase_ConnectableElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.RESOURCE__RES_MULT:
+ setResMult((String)newValue);
+ return;
+ case GRMPackage.RESOURCE__IS_PROTECTED:
+ setIsProtected((Boolean)newValue);
+ return;
+ case GRMPackage.RESOURCE__IS_ACTIVE:
+ setIsActive((Boolean)newValue);
+ return;
+ case GRMPackage.RESOURCE__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ case GRMPackage.RESOURCE__BASE_INSTANCE_SPECIFICATION:
+ setBase_InstanceSpecification((InstanceSpecification)newValue);
+ return;
+ case GRMPackage.RESOURCE__BASE_CLASSIFIER:
+ setBase_Classifier((Classifier)newValue);
+ return;
+ case GRMPackage.RESOURCE__BASE_LIFELINE:
+ setBase_Lifeline((Lifeline)newValue);
+ return;
+ case GRMPackage.RESOURCE__BASE_CONNECTABLE_ELEMENT:
+ setBase_ConnectableElement((ConnectableElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.RESOURCE__RES_MULT:
+ setResMult(RES_MULT_EDEFAULT);
+ return;
+ case GRMPackage.RESOURCE__IS_PROTECTED:
+ setIsProtected(IS_PROTECTED_EDEFAULT);
+ return;
+ case GRMPackage.RESOURCE__IS_ACTIVE:
+ setIsActive(IS_ACTIVE_EDEFAULT);
+ return;
+ case GRMPackage.RESOURCE__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ case GRMPackage.RESOURCE__BASE_INSTANCE_SPECIFICATION:
+ setBase_InstanceSpecification((InstanceSpecification)null);
+ return;
+ case GRMPackage.RESOURCE__BASE_CLASSIFIER:
+ setBase_Classifier((Classifier)null);
+ return;
+ case GRMPackage.RESOURCE__BASE_LIFELINE:
+ setBase_Lifeline((Lifeline)null);
+ return;
+ case GRMPackage.RESOURCE__BASE_CONNECTABLE_ELEMENT:
+ setBase_ConnectableElement((ConnectableElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.RESOURCE__RES_MULT:
+ return RES_MULT_EDEFAULT == null ? resMult != null : !RES_MULT_EDEFAULT.equals(resMult);
+ case GRMPackage.RESOURCE__IS_PROTECTED:
+ return isProtected != IS_PROTECTED_EDEFAULT;
+ case GRMPackage.RESOURCE__IS_ACTIVE:
+ return isActive != IS_ACTIVE_EDEFAULT;
+ case GRMPackage.RESOURCE__BASE_PROPERTY:
+ return base_Property != null;
+ case GRMPackage.RESOURCE__BASE_INSTANCE_SPECIFICATION:
+ return base_InstanceSpecification != null;
+ case GRMPackage.RESOURCE__BASE_CLASSIFIER:
+ return base_Classifier != null;
+ case GRMPackage.RESOURCE__BASE_LIFELINE:
+ return base_Lifeline != null;
+ case GRMPackage.RESOURCE__BASE_CONNECTABLE_ELEMENT:
+ return base_ConnectableElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (resMult: ");
+ result.append(resMult);
+ result.append(", isProtected: ");
+ result.append(isProtected);
+ result.append(", isActive: ");
+ result.append(isActive);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ResourceUsageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ResourceUsageImpl.java
new file mode 100644
index 00000000000..3072da1661d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/ResourceUsageImpl.java
@@ -0,0 +1,476 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ResourceUsage;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Resource Usage</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getExecTime <em>Exec Time</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getAllocatedMemory <em>Allocated Memory</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getUsedMemory <em>Used Memory</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getPowerPeak <em>Power Peak</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getEnergy <em>Energy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getSubUsage <em>Sub Usage</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getUsedResources <em>Used Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceUsageImpl#getMsgSize <em>Msg Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ResourceUsageImpl extends EObjectImpl implements ResourceUsage {
+ /**
+ * The cached value of the '{@link #getExecTime() <em>Exec Time</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExecTime()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> execTime;
+
+ /**
+ * The cached value of the '{@link #getAllocatedMemory() <em>Allocated Memory</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAllocatedMemory()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> allocatedMemory;
+
+ /**
+ * The cached value of the '{@link #getUsedMemory() <em>Used Memory</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUsedMemory()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> usedMemory;
+
+ /**
+ * The cached value of the '{@link #getPowerPeak() <em>Power Peak</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPowerPeak()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> powerPeak;
+
+ /**
+ * The cached value of the '{@link #getEnergy() <em>Energy</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnergy()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> energy;
+
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * The cached value of the '{@link #getSubUsage() <em>Sub Usage</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubUsage()
+ * @generated
+ * @ordered
+ */
+ protected EList<ResourceUsage> subUsage;
+
+ /**
+ * The cached value of the '{@link #getUsedResources() <em>Used Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUsedResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<Resource> usedResources;
+
+ /**
+ * The cached value of the '{@link #getMsgSize() <em>Msg Size</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMsgSize()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> msgSize;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ResourceUsageImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.RESOURCE_USAGE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getExecTime() {
+ if (execTime == null) {
+ execTime = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.RESOURCE_USAGE__EXEC_TIME);
+ }
+ return execTime;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getAllocatedMemory() {
+ if (allocatedMemory == null) {
+ allocatedMemory = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.RESOURCE_USAGE__ALLOCATED_MEMORY);
+ }
+ return allocatedMemory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getUsedMemory() {
+ if (usedMemory == null) {
+ usedMemory = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.RESOURCE_USAGE__USED_MEMORY);
+ }
+ return usedMemory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getPowerPeak() {
+ if (powerPeak == null) {
+ powerPeak = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.RESOURCE_USAGE__POWER_PEAK);
+ }
+ return powerPeak;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getEnergy() {
+ if (energy == null) {
+ energy = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.RESOURCE_USAGE__ENERGY);
+ }
+ return energy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.RESOURCE_USAGE__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.RESOURCE_USAGE__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ResourceUsage> getSubUsage() {
+ if (subUsage == null) {
+ subUsage = new EObjectResolvingEList<ResourceUsage>(ResourceUsage.class, this, GRMPackage.RESOURCE_USAGE__SUB_USAGE);
+ }
+ return subUsage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Resource> getUsedResources() {
+ if (usedResources == null) {
+ usedResources = new EObjectResolvingEList<Resource>(Resource.class, this, GRMPackage.RESOURCE_USAGE__USED_RESOURCES);
+ }
+ return usedResources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getMsgSize() {
+ if (msgSize == null) {
+ msgSize = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.RESOURCE_USAGE__MSG_SIZE);
+ }
+ return msgSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.RESOURCE_USAGE__EXEC_TIME:
+ return getExecTime();
+ case GRMPackage.RESOURCE_USAGE__ALLOCATED_MEMORY:
+ return getAllocatedMemory();
+ case GRMPackage.RESOURCE_USAGE__USED_MEMORY:
+ return getUsedMemory();
+ case GRMPackage.RESOURCE_USAGE__POWER_PEAK:
+ return getPowerPeak();
+ case GRMPackage.RESOURCE_USAGE__ENERGY:
+ return getEnergy();
+ case GRMPackage.RESOURCE_USAGE__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ case GRMPackage.RESOURCE_USAGE__SUB_USAGE:
+ return getSubUsage();
+ case GRMPackage.RESOURCE_USAGE__USED_RESOURCES:
+ return getUsedResources();
+ case GRMPackage.RESOURCE_USAGE__MSG_SIZE:
+ return getMsgSize();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.RESOURCE_USAGE__EXEC_TIME:
+ getExecTime().clear();
+ getExecTime().addAll((Collection<? extends String>)newValue);
+ return;
+ case GRMPackage.RESOURCE_USAGE__ALLOCATED_MEMORY:
+ getAllocatedMemory().clear();
+ getAllocatedMemory().addAll((Collection<? extends String>)newValue);
+ return;
+ case GRMPackage.RESOURCE_USAGE__USED_MEMORY:
+ getUsedMemory().clear();
+ getUsedMemory().addAll((Collection<? extends String>)newValue);
+ return;
+ case GRMPackage.RESOURCE_USAGE__POWER_PEAK:
+ getPowerPeak().clear();
+ getPowerPeak().addAll((Collection<? extends String>)newValue);
+ return;
+ case GRMPackage.RESOURCE_USAGE__ENERGY:
+ getEnergy().clear();
+ getEnergy().addAll((Collection<? extends String>)newValue);
+ return;
+ case GRMPackage.RESOURCE_USAGE__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ case GRMPackage.RESOURCE_USAGE__SUB_USAGE:
+ getSubUsage().clear();
+ getSubUsage().addAll((Collection<? extends ResourceUsage>)newValue);
+ return;
+ case GRMPackage.RESOURCE_USAGE__USED_RESOURCES:
+ getUsedResources().clear();
+ getUsedResources().addAll((Collection<? extends Resource>)newValue);
+ return;
+ case GRMPackage.RESOURCE_USAGE__MSG_SIZE:
+ getMsgSize().clear();
+ getMsgSize().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.RESOURCE_USAGE__EXEC_TIME:
+ getExecTime().clear();
+ return;
+ case GRMPackage.RESOURCE_USAGE__ALLOCATED_MEMORY:
+ getAllocatedMemory().clear();
+ return;
+ case GRMPackage.RESOURCE_USAGE__USED_MEMORY:
+ getUsedMemory().clear();
+ return;
+ case GRMPackage.RESOURCE_USAGE__POWER_PEAK:
+ getPowerPeak().clear();
+ return;
+ case GRMPackage.RESOURCE_USAGE__ENERGY:
+ getEnergy().clear();
+ return;
+ case GRMPackage.RESOURCE_USAGE__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ case GRMPackage.RESOURCE_USAGE__SUB_USAGE:
+ getSubUsage().clear();
+ return;
+ case GRMPackage.RESOURCE_USAGE__USED_RESOURCES:
+ getUsedResources().clear();
+ return;
+ case GRMPackage.RESOURCE_USAGE__MSG_SIZE:
+ getMsgSize().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.RESOURCE_USAGE__EXEC_TIME:
+ return execTime != null && !execTime.isEmpty();
+ case GRMPackage.RESOURCE_USAGE__ALLOCATED_MEMORY:
+ return allocatedMemory != null && !allocatedMemory.isEmpty();
+ case GRMPackage.RESOURCE_USAGE__USED_MEMORY:
+ return usedMemory != null && !usedMemory.isEmpty();
+ case GRMPackage.RESOURCE_USAGE__POWER_PEAK:
+ return powerPeak != null && !powerPeak.isEmpty();
+ case GRMPackage.RESOURCE_USAGE__ENERGY:
+ return energy != null && !energy.isEmpty();
+ case GRMPackage.RESOURCE_USAGE__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ case GRMPackage.RESOURCE_USAGE__SUB_USAGE:
+ return subUsage != null && !subUsage.isEmpty();
+ case GRMPackage.RESOURCE_USAGE__USED_RESOURCES:
+ return usedResources != null && !usedResources.isEmpty();
+ case GRMPackage.RESOURCE_USAGE__MSG_SIZE:
+ return msgSize != null && !msgSize.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (execTime: ");
+ result.append(execTime);
+ result.append(", allocatedMemory: ");
+ result.append(allocatedMemory);
+ result.append(", usedMemory: ");
+ result.append(usedMemory);
+ result.append(", powerPeak: ");
+ result.append(powerPeak);
+ result.append(", energy: ");
+ result.append(energy);
+ result.append(", msgSize: ");
+ result.append(msgSize);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ResourceUsageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SchedulableResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SchedulableResourceImpl.java
new file mode 100644
index 00000000000..c20f2a862d3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SchedulableResourceImpl.java
@@ -0,0 +1,366 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeUniqueEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Scheduler;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SecondaryScheduler;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Schedulable Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulableResourceImpl#getSchedParams <em>Sched Params</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulableResourceImpl#getDependentScheduler <em>Dependent Scheduler</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulableResourceImpl#getHost <em>Host</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SchedulableResourceImpl extends ResourceImpl implements SchedulableResource {
+ /**
+ * The cached value of the '{@link #getSchedParams() <em>Sched Params</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchedParams()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> schedParams;
+
+ /**
+ * The cached value of the '{@link #getDependentScheduler() <em>Dependent Scheduler</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDependentScheduler()
+ * @generated
+ * @ordered
+ */
+ protected SecondaryScheduler dependentScheduler;
+
+ /**
+ * The cached value of the '{@link #getHost() <em>Host</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHost()
+ * @generated
+ * @ordered
+ */
+ protected Scheduler host;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SchedulableResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.SCHEDULABLE_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getSchedParams() {
+ if (schedParams == null) {
+ schedParams = new EDataTypeUniqueEList<String>(String.class, this, GRMPackage.SCHEDULABLE_RESOURCE__SCHED_PARAMS);
+ }
+ return schedParams;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecondaryScheduler getDependentScheduler() {
+ if (dependentScheduler != null && dependentScheduler.eIsProxy()) {
+ InternalEObject oldDependentScheduler = (InternalEObject)dependentScheduler;
+ dependentScheduler = (SecondaryScheduler)eResolveProxy(oldDependentScheduler);
+ if (dependentScheduler != oldDependentScheduler) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER, oldDependentScheduler, dependentScheduler));
+ }
+ }
+ return dependentScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SecondaryScheduler basicGetDependentScheduler() {
+ return dependentScheduler;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetDependentScheduler(SecondaryScheduler newDependentScheduler, NotificationChain msgs) {
+ SecondaryScheduler oldDependentScheduler = dependentScheduler;
+ dependentScheduler = newDependentScheduler;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER, oldDependentScheduler, newDependentScheduler);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDependentScheduler(SecondaryScheduler newDependentScheduler) {
+ if (newDependentScheduler != dependentScheduler) {
+ NotificationChain msgs = null;
+ if (dependentScheduler != null)
+ msgs = ((InternalEObject)dependentScheduler).eInverseRemove(this, GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS, SecondaryScheduler.class, msgs);
+ if (newDependentScheduler != null)
+ msgs = ((InternalEObject)newDependentScheduler).eInverseAdd(this, GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS, SecondaryScheduler.class, msgs);
+ msgs = basicSetDependentScheduler(newDependentScheduler, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER, newDependentScheduler, newDependentScheduler));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler getHost() {
+ if (host != null && host.eIsProxy()) {
+ InternalEObject oldHost = (InternalEObject)host;
+ host = (Scheduler)eResolveProxy(oldHost);
+ if (host != oldHost) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.SCHEDULABLE_RESOURCE__HOST, oldHost, host));
+ }
+ }
+ return host;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scheduler basicGetHost() {
+ return host;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetHost(Scheduler newHost, NotificationChain msgs) {
+ Scheduler oldHost = host;
+ host = newHost;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULABLE_RESOURCE__HOST, oldHost, newHost);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHost(Scheduler newHost) {
+ if (newHost != host) {
+ NotificationChain msgs = null;
+ if (host != null)
+ msgs = ((InternalEObject)host).eInverseRemove(this, GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES, Scheduler.class, msgs);
+ if (newHost != null)
+ msgs = ((InternalEObject)newHost).eInverseAdd(this, GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES, Scheduler.class, msgs);
+ msgs = basicSetHost(newHost, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULABLE_RESOURCE__HOST, newHost, newHost));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ if (dependentScheduler != null)
+ msgs = ((InternalEObject)dependentScheduler).eInverseRemove(this, GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS, SecondaryScheduler.class, msgs);
+ return basicSetDependentScheduler((SecondaryScheduler)otherEnd, msgs);
+ case GRMPackage.SCHEDULABLE_RESOURCE__HOST:
+ if (host != null)
+ msgs = ((InternalEObject)host).eInverseRemove(this, GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES, Scheduler.class, msgs);
+ return basicSetHost((Scheduler)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ return basicSetDependentScheduler(null, msgs);
+ case GRMPackage.SCHEDULABLE_RESOURCE__HOST:
+ return basicSetHost(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULABLE_RESOURCE__SCHED_PARAMS:
+ return getSchedParams();
+ case GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ if (resolve) return getDependentScheduler();
+ return basicGetDependentScheduler();
+ case GRMPackage.SCHEDULABLE_RESOURCE__HOST:
+ if (resolve) return getHost();
+ return basicGetHost();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULABLE_RESOURCE__SCHED_PARAMS:
+ getSchedParams().clear();
+ getSchedParams().addAll((Collection<? extends String>)newValue);
+ return;
+ case GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ setDependentScheduler((SecondaryScheduler)newValue);
+ return;
+ case GRMPackage.SCHEDULABLE_RESOURCE__HOST:
+ setHost((Scheduler)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULABLE_RESOURCE__SCHED_PARAMS:
+ getSchedParams().clear();
+ return;
+ case GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ setDependentScheduler((SecondaryScheduler)null);
+ return;
+ case GRMPackage.SCHEDULABLE_RESOURCE__HOST:
+ setHost((Scheduler)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULABLE_RESOURCE__SCHED_PARAMS:
+ return schedParams != null && !schedParams.isEmpty();
+ case GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ return dependentScheduler != null;
+ case GRMPackage.SCHEDULABLE_RESOURCE__HOST:
+ return host != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (schedParams: ");
+ result.append(schedParams);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SchedulableResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SchedulerImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SchedulerImpl.java
new file mode 100644
index 00000000000..f299128c430
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SchedulerImpl.java
@@ -0,0 +1,547 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ComputingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.MutualExclusionResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Scheduler;
+
+import org.eclipse.papyrus.MARTE_Library.GRM_BasicTypes.SchedPolicyKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Scheduler</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulerImpl#isIsPreemptible <em>Is Preemptible</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulerImpl#getSchedPolicy <em>Sched Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulerImpl#getOtherSchedPolicy <em>Other Sched Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulerImpl#getSchedule <em>Schedule</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulerImpl#getProcessingUnits <em>Processing Units</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulerImpl#getHost <em>Host</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulerImpl#getProtectedSharedResources <em>Protected Shared Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SchedulerImpl#getSchedulableResources <em>Schedulable Resources</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SchedulerImpl extends ResourceImpl implements Scheduler {
+ /**
+ * The default value of the '{@link #isIsPreemptible() <em>Is Preemptible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsPreemptible()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_PREEMPTIBLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isIsPreemptible() <em>Is Preemptible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsPreemptible()
+ * @generated
+ * @ordered
+ */
+ protected boolean isPreemptible = IS_PREEMPTIBLE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSchedPolicy() <em>Sched Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchedPolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final SchedPolicyKind SCHED_POLICY_EDEFAULT = SchedPolicyKind.FIXED_PRIORITY;
+
+ /**
+ * The cached value of the '{@link #getSchedPolicy() <em>Sched Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchedPolicy()
+ * @generated
+ * @ordered
+ */
+ protected SchedPolicyKind schedPolicy = SCHED_POLICY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getOtherSchedPolicy() <em>Other Sched Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOtherSchedPolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final String OTHER_SCHED_POLICY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getOtherSchedPolicy() <em>Other Sched Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOtherSchedPolicy()
+ * @generated
+ * @ordered
+ */
+ protected String otherSchedPolicy = OTHER_SCHED_POLICY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getSchedule() <em>Schedule</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchedule()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCHEDULE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSchedule() <em>Schedule</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchedule()
+ * @generated
+ * @ordered
+ */
+ protected String schedule = SCHEDULE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getProcessingUnits() <em>Processing Units</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProcessingUnits()
+ * @generated
+ * @ordered
+ */
+ protected EList<ProcessingResource> processingUnits;
+
+ /**
+ * The cached value of the '{@link #getHost() <em>Host</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHost()
+ * @generated
+ * @ordered
+ */
+ protected ComputingResource host;
+
+ /**
+ * The cached value of the '{@link #getProtectedSharedResources() <em>Protected Shared Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProtectedSharedResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<MutualExclusionResource> protectedSharedResources;
+
+ /**
+ * The cached value of the '{@link #getSchedulableResources() <em>Schedulable Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchedulableResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<SchedulableResource> schedulableResources;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SchedulerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.SCHEDULER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsPreemptible() {
+ return isPreemptible;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsPreemptible(boolean newIsPreemptible) {
+ boolean oldIsPreemptible = isPreemptible;
+ isPreemptible = newIsPreemptible;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULER__IS_PREEMPTIBLE, oldIsPreemptible, isPreemptible));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SchedPolicyKind getSchedPolicy() {
+ return schedPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSchedPolicy(SchedPolicyKind newSchedPolicy) {
+ SchedPolicyKind oldSchedPolicy = schedPolicy;
+ schedPolicy = newSchedPolicy == null ? SCHED_POLICY_EDEFAULT : newSchedPolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULER__SCHED_POLICY, oldSchedPolicy, schedPolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getOtherSchedPolicy() {
+ return otherSchedPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOtherSchedPolicy(String newOtherSchedPolicy) {
+ String oldOtherSchedPolicy = otherSchedPolicy;
+ otherSchedPolicy = newOtherSchedPolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULER__OTHER_SCHED_POLICY, oldOtherSchedPolicy, otherSchedPolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSchedule() {
+ return schedule;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSchedule(String newSchedule) {
+ String oldSchedule = schedule;
+ schedule = newSchedule;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULER__SCHEDULE, oldSchedule, schedule));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ProcessingResource> getProcessingUnits() {
+ if (processingUnits == null) {
+ processingUnits = new EObjectResolvingEList<ProcessingResource>(ProcessingResource.class, this, GRMPackage.SCHEDULER__PROCESSING_UNITS);
+ }
+ return processingUnits;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComputingResource getHost() {
+ if (host != null && host.eIsProxy()) {
+ InternalEObject oldHost = (InternalEObject)host;
+ host = (ComputingResource)eResolveProxy(oldHost);
+ if (host != oldHost) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, GRMPackage.SCHEDULER__HOST, oldHost, host));
+ }
+ }
+ return host;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ComputingResource basicGetHost() {
+ return host;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setHost(ComputingResource newHost) {
+ ComputingResource oldHost = host;
+ host = newHost;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.SCHEDULER__HOST, oldHost, host));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MutualExclusionResource> getProtectedSharedResources() {
+ if (protectedSharedResources == null) {
+ protectedSharedResources = new EObjectWithInverseResolvingEList<MutualExclusionResource>(MutualExclusionResource.class, this, GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES, GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER);
+ }
+ return protectedSharedResources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SchedulableResource> getSchedulableResources() {
+ if (schedulableResources == null) {
+ schedulableResources = new EObjectWithInverseResolvingEList<SchedulableResource>(SchedulableResource.class, this, GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES, GRMPackage.SCHEDULABLE_RESOURCE__HOST);
+ }
+ return schedulableResources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getProtectedSharedResources()).basicAdd(otherEnd, msgs);
+ case GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getSchedulableResources()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES:
+ return ((InternalEList<?>)getProtectedSharedResources()).basicRemove(otherEnd, msgs);
+ case GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES:
+ return ((InternalEList<?>)getSchedulableResources()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULER__IS_PREEMPTIBLE:
+ return isIsPreemptible();
+ case GRMPackage.SCHEDULER__SCHED_POLICY:
+ return getSchedPolicy();
+ case GRMPackage.SCHEDULER__OTHER_SCHED_POLICY:
+ return getOtherSchedPolicy();
+ case GRMPackage.SCHEDULER__SCHEDULE:
+ return getSchedule();
+ case GRMPackage.SCHEDULER__PROCESSING_UNITS:
+ return getProcessingUnits();
+ case GRMPackage.SCHEDULER__HOST:
+ if (resolve) return getHost();
+ return basicGetHost();
+ case GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES:
+ return getProtectedSharedResources();
+ case GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES:
+ return getSchedulableResources();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULER__IS_PREEMPTIBLE:
+ setIsPreemptible((Boolean)newValue);
+ return;
+ case GRMPackage.SCHEDULER__SCHED_POLICY:
+ setSchedPolicy((SchedPolicyKind)newValue);
+ return;
+ case GRMPackage.SCHEDULER__OTHER_SCHED_POLICY:
+ setOtherSchedPolicy((String)newValue);
+ return;
+ case GRMPackage.SCHEDULER__SCHEDULE:
+ setSchedule((String)newValue);
+ return;
+ case GRMPackage.SCHEDULER__PROCESSING_UNITS:
+ getProcessingUnits().clear();
+ getProcessingUnits().addAll((Collection<? extends ProcessingResource>)newValue);
+ return;
+ case GRMPackage.SCHEDULER__HOST:
+ setHost((ComputingResource)newValue);
+ return;
+ case GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES:
+ getProtectedSharedResources().clear();
+ getProtectedSharedResources().addAll((Collection<? extends MutualExclusionResource>)newValue);
+ return;
+ case GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES:
+ getSchedulableResources().clear();
+ getSchedulableResources().addAll((Collection<? extends SchedulableResource>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULER__IS_PREEMPTIBLE:
+ setIsPreemptible(IS_PREEMPTIBLE_EDEFAULT);
+ return;
+ case GRMPackage.SCHEDULER__SCHED_POLICY:
+ setSchedPolicy(SCHED_POLICY_EDEFAULT);
+ return;
+ case GRMPackage.SCHEDULER__OTHER_SCHED_POLICY:
+ setOtherSchedPolicy(OTHER_SCHED_POLICY_EDEFAULT);
+ return;
+ case GRMPackage.SCHEDULER__SCHEDULE:
+ setSchedule(SCHEDULE_EDEFAULT);
+ return;
+ case GRMPackage.SCHEDULER__PROCESSING_UNITS:
+ getProcessingUnits().clear();
+ return;
+ case GRMPackage.SCHEDULER__HOST:
+ setHost((ComputingResource)null);
+ return;
+ case GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES:
+ getProtectedSharedResources().clear();
+ return;
+ case GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES:
+ getSchedulableResources().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.SCHEDULER__IS_PREEMPTIBLE:
+ return isPreemptible != IS_PREEMPTIBLE_EDEFAULT;
+ case GRMPackage.SCHEDULER__SCHED_POLICY:
+ return schedPolicy != SCHED_POLICY_EDEFAULT;
+ case GRMPackage.SCHEDULER__OTHER_SCHED_POLICY:
+ return OTHER_SCHED_POLICY_EDEFAULT == null ? otherSchedPolicy != null : !OTHER_SCHED_POLICY_EDEFAULT.equals(otherSchedPolicy);
+ case GRMPackage.SCHEDULER__SCHEDULE:
+ return SCHEDULE_EDEFAULT == null ? schedule != null : !SCHEDULE_EDEFAULT.equals(schedule);
+ case GRMPackage.SCHEDULER__PROCESSING_UNITS:
+ return processingUnits != null && !processingUnits.isEmpty();
+ case GRMPackage.SCHEDULER__HOST:
+ return host != null;
+ case GRMPackage.SCHEDULER__PROTECTED_SHARED_RESOURCES:
+ return protectedSharedResources != null && !protectedSharedResources.isEmpty();
+ case GRMPackage.SCHEDULER__SCHEDULABLE_RESOURCES:
+ return schedulableResources != null && !schedulableResources.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isPreemptible: ");
+ result.append(isPreemptible);
+ result.append(", schedPolicy: ");
+ result.append(schedPolicy);
+ result.append(", otherSchedPolicy: ");
+ result.append(otherSchedPolicy);
+ result.append(", schedule: ");
+ result.append(schedule);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SchedulerImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SecondarySchedulerImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SecondarySchedulerImpl.java
new file mode 100644
index 00000000000..bd42eee3c74
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SecondarySchedulerImpl.java
@@ -0,0 +1,176 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SecondaryScheduler;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Secondary Scheduler</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.SecondarySchedulerImpl#getVirtualProcessingUnits <em>Virtual Processing Units</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SecondarySchedulerImpl extends SchedulerImpl implements SecondaryScheduler {
+ /**
+ * The cached value of the '{@link #getVirtualProcessingUnits() <em>Virtual Processing Units</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVirtualProcessingUnits()
+ * @generated
+ * @ordered
+ */
+ protected EList<SchedulableResource> virtualProcessingUnits;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SecondarySchedulerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.SECONDARY_SCHEDULER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SchedulableResource> getVirtualProcessingUnits() {
+ if (virtualProcessingUnits == null) {
+ virtualProcessingUnits = new EObjectWithInverseResolvingEList<SchedulableResource>(SchedulableResource.class, this, GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS, GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER);
+ }
+ return virtualProcessingUnits;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getVirtualProcessingUnits()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS:
+ return ((InternalEList<?>)getVirtualProcessingUnits()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS:
+ return getVirtualProcessingUnits();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS:
+ getVirtualProcessingUnits().clear();
+ getVirtualProcessingUnits().addAll((Collection<? extends SchedulableResource>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS:
+ getVirtualProcessingUnits().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.SECONDARY_SCHEDULER__VIRTUAL_PROCESSING_UNITS:
+ return virtualProcessingUnits != null && !virtualProcessingUnits.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SecondarySchedulerImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/StorageResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/StorageResourceImpl.java
new file mode 100644
index 00000000000..abc23b4cba9
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/StorageResourceImpl.java
@@ -0,0 +1,173 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.StorageResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Storage Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.StorageResourceImpl#getElementSize <em>Element Size</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class StorageResourceImpl extends ResourceImpl implements StorageResource {
+ /**
+ * The default value of the '{@link #getElementSize() <em>Element Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementSize()
+ * @generated
+ * @ordered
+ */
+ protected static final String ELEMENT_SIZE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getElementSize() <em>Element Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElementSize()
+ * @generated
+ * @ordered
+ */
+ protected String elementSize = ELEMENT_SIZE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected StorageResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.STORAGE_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getElementSize() {
+ return elementSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setElementSize(String newElementSize) {
+ String oldElementSize = elementSize;
+ elementSize = newElementSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE, oldElementSize, elementSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE:
+ return getElementSize();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE:
+ setElementSize((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE:
+ setElementSize(ELEMENT_SIZE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.STORAGE_RESOURCE__ELEMENT_SIZE:
+ return ELEMENT_SIZE_EDEFAULT == null ? elementSize != null : !ELEMENT_SIZE_EDEFAULT.equals(elementSize);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (elementSize: ");
+ result.append(elementSize);
+ result.append(')');
+ return result.toString();
+ }
+
+} //StorageResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SynchronizationResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SynchronizationResourceImpl.java
new file mode 100644
index 00000000000..6050d82c8bf
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/SynchronizationResourceImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SynchronizationResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Synchronization Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class SynchronizationResourceImpl extends ResourceImpl implements SynchronizationResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SynchronizationResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.SYNCHRONIZATION_RESOURCE;
+ }
+
+} //SynchronizationResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/TimerResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/TimerResourceImpl.java
new file mode 100644
index 00000000000..49164eec77a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/TimerResourceImpl.java
@@ -0,0 +1,227 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimerResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Timer Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.TimerResourceImpl#getDuration <em>Duration</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.TimerResourceImpl#isIsPeriodic <em>Is Periodic</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TimerResourceImpl extends TimingResourceImpl implements TimerResource {
+ /**
+ * The default value of the '{@link #getDuration() <em>Duration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDuration()
+ * @generated
+ * @ordered
+ */
+ protected static final String DURATION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDuration() <em>Duration</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDuration()
+ * @generated
+ * @ordered
+ */
+ protected String duration = DURATION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsPeriodic() <em>Is Periodic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsPeriodic()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_PERIODIC_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsPeriodic() <em>Is Periodic</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsPeriodic()
+ * @generated
+ * @ordered
+ */
+ protected boolean isPeriodic = IS_PERIODIC_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimerResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.TIMER_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDuration() {
+ return duration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDuration(String newDuration) {
+ String oldDuration = duration;
+ duration = newDuration;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.TIMER_RESOURCE__DURATION, oldDuration, duration));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsPeriodic() {
+ return isPeriodic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsPeriodic(boolean newIsPeriodic) {
+ boolean oldIsPeriodic = isPeriodic;
+ isPeriodic = newIsPeriodic;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, GRMPackage.TIMER_RESOURCE__IS_PERIODIC, oldIsPeriodic, isPeriodic));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case GRMPackage.TIMER_RESOURCE__DURATION:
+ return getDuration();
+ case GRMPackage.TIMER_RESOURCE__IS_PERIODIC:
+ return isIsPeriodic();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case GRMPackage.TIMER_RESOURCE__DURATION:
+ setDuration((String)newValue);
+ return;
+ case GRMPackage.TIMER_RESOURCE__IS_PERIODIC:
+ setIsPeriodic((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case GRMPackage.TIMER_RESOURCE__DURATION:
+ setDuration(DURATION_EDEFAULT);
+ return;
+ case GRMPackage.TIMER_RESOURCE__IS_PERIODIC:
+ setIsPeriodic(IS_PERIODIC_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case GRMPackage.TIMER_RESOURCE__DURATION:
+ return DURATION_EDEFAULT == null ? duration != null : !DURATION_EDEFAULT.equals(duration);
+ case GRMPackage.TIMER_RESOURCE__IS_PERIODIC:
+ return isPeriodic != IS_PERIODIC_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (duration: ");
+ result.append(duration);
+ result.append(", isPeriodic: ");
+ result.append(isPeriodic);
+ result.append(')');
+ return result.toString();
+ }
+
+} //TimerResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/TimingResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/TimingResourceImpl.java
new file mode 100644
index 00000000000..f9e3014131e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Foundations/GRM/impl/TimingResourceImpl.java
@@ -0,0 +1,50 @@
+/*****************************************************************************
+ * Copyright (c) 2010 CEA LIST.
+ *
+ *
+ * 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:
+ * Chokri MRAIDHA (CEA LIST) chokri.mraidha@cea.fr - Initial API and implementation
+ *
+ *****************************************************************************/
+package org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Timing Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class TimingResourceImpl extends ResourceImpl implements TimingResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TimingResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return GRMPackage.Literals.TIMING_RESOURCE;
+ }
+
+} //TimingResourceImpl

Back to the top