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_DesignModel/SRM')
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker.java198
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker.java188
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/SW_BrokeringFactory.java62
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/SW_BrokeringPackage.java905
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/DeviceBrokerImpl.java444
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/MemoryBrokerImpl.java424
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/SW_BrokeringFactoryImpl.java168
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/SW_BrokeringPackageImpl.java658
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringAdapterFactory.java189
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringSwitch.java196
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/Alarm.java80
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/EntryPoint.java90
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource.java162
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition.java135
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SW_ConcurrencyFactory.java98
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SW_ConcurrencyPackage.java2931
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource.java366
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource.java223
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwTimerResource.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/AlarmImpl.java216
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/EntryPointImpl.java238
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/InterruptResourceImpl.java374
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/MemoryPartitionImpl.java315
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SW_ConcurrencyFactoryImpl.java212
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SW_ConcurrencyPackageImpl.java1093
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwConcurrentResourceImpl.java784
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwSchedulableResourceImpl.java782
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwTimerResourceImpl.java170
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyAdapterFactory.java356
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencySwitch.java381
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MessageComResource.java192
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationKind.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationResource.java199
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind.java273
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind.java300
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SW_InteractionFactory.java80
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SW_InteractionPackage.java2628
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SharedDataComResource.java70
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwCommunicationResource.java29
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource.java139
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource.java150
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwSynchronizationResource.java29
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/MessageComResourceImpl.java429
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/NotificationResourceImpl.java443
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SW_InteractionFactoryImpl.java310
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SW_InteractionPackageImpl.java1006
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SharedDataComResourceImpl.java178
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwCommunicationResourceImpl.java582
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwInteractionResourceImpl.java327
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwMutualExclusionResourceImpl.java661
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwSynchronizationResourceImpl.java50
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionAdapterFactory.java355
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionSwitch.java395
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SW_ResourceCoreFactory.java53
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SW_ResourceCorePackage.java524
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SwAccessService.java90
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SwResource.java151
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SW_ResourceCoreFactoryImpl.java106
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SW_ResourceCorePackageImpl.java541
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SwAccessServiceImpl.java238
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SwResourceImpl.java348
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreAdapterFactory.java188
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreSwitch.java193
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreXMLProcessor.java61
80 files changed, 26210 insertions, 0 deletions
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind.java
new file mode 100644
index 00000000000..c0edba99812
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/AccessPolicyKind.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Access Policy Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getAccessPolicyKind()
+ * @model
+ * @generated
+ */
+public enum AccessPolicyKind implements Enumerator {
+ /**
+ * The '<em><b>Read</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #READ_VALUE
+ * @generated
+ * @ordered
+ */
+ READ(0, "Read", "Read"),
+
+ /**
+ * The '<em><b>Write</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #WRITE_VALUE
+ * @generated
+ * @ordered
+ */
+ WRITE(1, "Write", "Write"),
+
+ /**
+ * The '<em><b>Read Write</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #READ_WRITE_VALUE
+ * @generated
+ * @ordered
+ */
+ READ_WRITE(2, "ReadWrite", "ReadWrite"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "Undef", "Undef"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(4, "Other", "Other");
+
+ /**
+ * The '<em><b>Read</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Read</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #READ
+ * @model name="Read"
+ * @generated
+ * @ordered
+ */
+ public static final int READ_VALUE = 0;
+
+ /**
+ * The '<em><b>Write</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Write</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #WRITE
+ * @model name="Write"
+ * @generated
+ * @ordered
+ */
+ public static final int WRITE_VALUE = 1;
+
+ /**
+ * The '<em><b>Read Write</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Read Write</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #READ_WRITE
+ * @model name="ReadWrite"
+ * @generated
+ * @ordered
+ */
+ public static final int READ_WRITE_VALUE = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="Undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="Other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Access Policy Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final AccessPolicyKind[] VALUES_ARRAY =
+ new AccessPolicyKind[] {
+ READ,
+ WRITE,
+ READ_WRITE,
+ UNDEF,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Access Policy Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<AccessPolicyKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Access Policy Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AccessPolicyKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AccessPolicyKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Access Policy Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AccessPolicyKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ AccessPolicyKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Access Policy Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static AccessPolicyKind get(int value) {
+ switch (value) {
+ case READ_VALUE: return READ;
+ case WRITE_VALUE: return WRITE;
+ case READ_WRITE_VALUE: return READ_WRITE;
+ case UNDEF_VALUE: return UNDEF;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private AccessPolicyKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //AccessPolicyKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker.java
new file mode 100644
index 00000000000..beca42d7b7e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/DeviceBroker.java
@@ -0,0 +1,198 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Device Broker</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getAccessPolicy <em>Access Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#isIsBuffered <em>Is Buffered</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getDevices <em>Devices</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getCloseServices <em>Close Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getControlServices <em>Control Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getOpenServices <em>Open Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getReadServices <em>Read Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getWriteServices <em>Write Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker()
+ * @model
+ * @generated
+ */
+public interface DeviceBroker extends SwResource {
+ /**
+ * Returns the value of the '<em><b>Access Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access Policy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind
+ * @see #setAccessPolicy(AccessPolicyKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker_AccessPolicy()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ AccessPolicyKind getAccessPolicy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getAccessPolicy <em>Access Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind
+ * @see #getAccessPolicy()
+ * @generated
+ */
+ void setAccessPolicy(AccessPolicyKind value);
+
+ /**
+ * Returns the value of the '<em><b>Is Buffered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Buffered</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Buffered</em>' attribute.
+ * @see #setIsBuffered(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker_IsBuffered()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsBuffered();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#isIsBuffered <em>Is Buffered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Buffered</em>' attribute.
+ * @see #isIsBuffered()
+ * @generated
+ */
+ void setIsBuffered(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Devices</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Devices</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Devices</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker_Devices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getDevices();
+
+ /**
+ * Returns the value of the '<em><b>Close Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Close Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Close Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker_CloseServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getCloseServices();
+
+ /**
+ * Returns the value of the '<em><b>Control Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Control Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Control Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker_ControlServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getControlServices();
+
+ /**
+ * Returns the value of the '<em><b>Open Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Open Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Open Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker_OpenServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getOpenServices();
+
+ /**
+ * Returns the value of the '<em><b>Read Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker_ReadServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getReadServices();
+
+ /**
+ * Returns the value of the '<em><b>Write Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getDeviceBroker_WriteServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getWriteServices();
+
+} // DeviceBroker
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker.java
new file mode 100644
index 00000000000..430ed216e36
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/MemoryBroker.java
@@ -0,0 +1,188 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Memory Broker</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getAccessPolicy <em>Access Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemories <em>Memories</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemoryBlockAdressElements <em>Memory Block Adress Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemoryBlockSizeElements <em>Memory Block Size Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getLockServices <em>Lock Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getUnlockServices <em>Unlock Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMapServices <em>Map Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getUnMapServices <em>Un Map Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker()
+ * @model
+ * @generated
+ */
+public interface MemoryBroker extends SwResource {
+ /**
+ * Returns the value of the '<em><b>Access Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access Policy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind
+ * @see #setAccessPolicy(AccessPolicyKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker_AccessPolicy()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ AccessPolicyKind getAccessPolicy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getAccessPolicy <em>Access Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Access Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind
+ * @see #getAccessPolicy()
+ * @generated
+ */
+ void setAccessPolicy(AccessPolicyKind value);
+
+ /**
+ * Returns the value of the '<em><b>Memories</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memories</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memories</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker_Memories()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMemories();
+
+ /**
+ * Returns the value of the '<em><b>Memory Block Adress Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory Block Adress Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory Block Adress Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker_MemoryBlockAdressElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMemoryBlockAdressElements();
+
+ /**
+ * Returns the value of the '<em><b>Memory Block Size Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory Block Size Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory Block Size Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker_MemoryBlockSizeElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMemoryBlockSizeElements();
+
+ /**
+ * Returns the value of the '<em><b>Lock Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Lock Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Lock Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker_LockServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getLockServices();
+
+ /**
+ * Returns the value of the '<em><b>Unlock Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unlock Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unlock Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker_UnlockServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getUnlockServices();
+
+ /**
+ * Returns the value of the '<em><b>Map Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Map Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Map Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker_MapServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getMapServices();
+
+ /**
+ * Returns the value of the '<em><b>Un Map Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Un Map Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Un Map Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#getMemoryBroker_UnMapServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getUnMapServices();
+
+} // MemoryBroker
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/SW_BrokeringFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/SW_BrokeringFactory.java
new file mode 100644
index 00000000000..7d9b170b90a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/SW_BrokeringFactory.java
@@ -0,0 +1,62 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage
+ * @generated
+ */
+public interface SW_BrokeringFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SW_BrokeringFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Device Broker</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Device Broker</em>'.
+ * @generated
+ */
+ DeviceBroker createDeviceBroker();
+
+ /**
+ * Returns a new object of class '<em>Memory Broker</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Memory Broker</em>'.
+ * @generated
+ */
+ MemoryBroker createMemoryBroker();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SW_BrokeringPackage getSW_BrokeringPackage();
+
+} //SW_BrokeringFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/SW_BrokeringPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/SW_BrokeringPackage.java
new file mode 100644
index 00000000000..ed0bfba7dc2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/SW_BrokeringPackage.java
@@ -0,0 +1,905 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SW_BrokeringPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "SW_Brokering";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/SW_Brokering/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "SW_Brokering";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SW_BrokeringPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl <em>Device Broker</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl#getDeviceBroker()
+ * @generated
+ */
+ int DEVICE_BROKER = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__RES_MULT = SW_ResourceCorePackage.SW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__IS_PROTECTED = SW_ResourceCorePackage.SW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__IS_ACTIVE = SW_ResourceCorePackage.SW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__BASE_PROPERTY = SW_ResourceCorePackage.SW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__BASE_INSTANCE_SPECIFICATION = SW_ResourceCorePackage.SW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__BASE_CLASSIFIER = SW_ResourceCorePackage.SW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__BASE_LIFELINE = SW_ResourceCorePackage.SW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__BASE_CONNECTABLE_ELEMENT = SW_ResourceCorePackage.SW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__IDENTIFIER_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__STATE_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__MEMORY_SIZE_FOOTPRINT = SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__CREATE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__DELETE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__INITIALIZE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Access Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__ACCESS_POLICY = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Buffered</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__IS_BUFFERED = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Devices</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__DEVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Close Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__CLOSE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Control Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__CONTROL_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Open Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__OPEN_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Read Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__READ_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Write Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER__WRITE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Device Broker</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DEVICE_BROKER_FEATURE_COUNT = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl <em>Memory Broker</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl#getMemoryBroker()
+ * @generated
+ */
+ int MEMORY_BROKER = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__RES_MULT = SW_ResourceCorePackage.SW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__IS_PROTECTED = SW_ResourceCorePackage.SW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__IS_ACTIVE = SW_ResourceCorePackage.SW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__BASE_PROPERTY = SW_ResourceCorePackage.SW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__BASE_INSTANCE_SPECIFICATION = SW_ResourceCorePackage.SW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__BASE_CLASSIFIER = SW_ResourceCorePackage.SW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__BASE_LIFELINE = SW_ResourceCorePackage.SW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__BASE_CONNECTABLE_ELEMENT = SW_ResourceCorePackage.SW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__IDENTIFIER_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__STATE_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__MEMORY_SIZE_FOOTPRINT = SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__CREATE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__DELETE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__INITIALIZE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Access Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__ACCESS_POLICY = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Memories</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__MEMORIES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Memory Block Adress Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__MEMORY_BLOCK_ADRESS_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Memory Block Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__MEMORY_BLOCK_SIZE_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Lock Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__LOCK_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Unlock Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__UNLOCK_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Map Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__MAP_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Un Map Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER__UN_MAP_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Memory Broker</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_BROKER_FEATURE_COUNT = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind <em>Access Policy Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl#getAccessPolicyKind()
+ * @generated
+ */
+ int ACCESS_POLICY_KIND = 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker <em>Device Broker</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Device Broker</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker
+ * @generated
+ */
+ EClass getDeviceBroker();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getAccessPolicy <em>Access Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Access Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getAccessPolicy()
+ * @see #getDeviceBroker()
+ * @generated
+ */
+ EAttribute getDeviceBroker_AccessPolicy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#isIsBuffered <em>Is Buffered</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Buffered</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#isIsBuffered()
+ * @see #getDeviceBroker()
+ * @generated
+ */
+ EAttribute getDeviceBroker_IsBuffered();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getDevices <em>Devices</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Devices</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getDevices()
+ * @see #getDeviceBroker()
+ * @generated
+ */
+ EReference getDeviceBroker_Devices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getCloseServices <em>Close Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Close Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getCloseServices()
+ * @see #getDeviceBroker()
+ * @generated
+ */
+ EReference getDeviceBroker_CloseServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getControlServices <em>Control Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Control Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getControlServices()
+ * @see #getDeviceBroker()
+ * @generated
+ */
+ EReference getDeviceBroker_ControlServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getOpenServices <em>Open Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Open Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getOpenServices()
+ * @see #getDeviceBroker()
+ * @generated
+ */
+ EReference getDeviceBroker_OpenServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getReadServices <em>Read Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Read Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getReadServices()
+ * @see #getDeviceBroker()
+ * @generated
+ */
+ EReference getDeviceBroker_ReadServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getWriteServices <em>Write Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Write Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker#getWriteServices()
+ * @see #getDeviceBroker()
+ * @generated
+ */
+ EReference getDeviceBroker_WriteServices();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker <em>Memory Broker</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Memory Broker</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker
+ * @generated
+ */
+ EClass getMemoryBroker();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getAccessPolicy <em>Access Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Access Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getAccessPolicy()
+ * @see #getMemoryBroker()
+ * @generated
+ */
+ EAttribute getMemoryBroker_AccessPolicy();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemories <em>Memories</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Memories</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemories()
+ * @see #getMemoryBroker()
+ * @generated
+ */
+ EReference getMemoryBroker_Memories();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemoryBlockAdressElements <em>Memory Block Adress Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Memory Block Adress Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemoryBlockAdressElements()
+ * @see #getMemoryBroker()
+ * @generated
+ */
+ EReference getMemoryBroker_MemoryBlockAdressElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemoryBlockSizeElements <em>Memory Block Size Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Memory Block Size Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMemoryBlockSizeElements()
+ * @see #getMemoryBroker()
+ * @generated
+ */
+ EReference getMemoryBroker_MemoryBlockSizeElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getLockServices <em>Lock Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Lock Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getLockServices()
+ * @see #getMemoryBroker()
+ * @generated
+ */
+ EReference getMemoryBroker_LockServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getUnlockServices <em>Unlock Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Unlock Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getUnlockServices()
+ * @see #getMemoryBroker()
+ * @generated
+ */
+ EReference getMemoryBroker_UnlockServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMapServices <em>Map Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Map Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getMapServices()
+ * @see #getMemoryBroker()
+ * @generated
+ */
+ EReference getMemoryBroker_MapServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getUnMapServices <em>Un Map Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Un Map Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker#getUnMapServices()
+ * @see #getMemoryBroker()
+ * @generated
+ */
+ EReference getMemoryBroker_UnMapServices();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind <em>Access Policy Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Access Policy Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind
+ * @generated
+ */
+ EEnum getAccessPolicyKind();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ SW_BrokeringFactory getSW_BrokeringFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl <em>Device Broker</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl#getDeviceBroker()
+ * @generated
+ */
+ EClass DEVICE_BROKER = eINSTANCE.getDeviceBroker();
+
+ /**
+ * The meta object literal for the '<em><b>Access Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVICE_BROKER__ACCESS_POLICY = eINSTANCE.getDeviceBroker_AccessPolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Is Buffered</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DEVICE_BROKER__IS_BUFFERED = eINSTANCE.getDeviceBroker_IsBuffered();
+
+ /**
+ * The meta object literal for the '<em><b>Devices</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEVICE_BROKER__DEVICES = eINSTANCE.getDeviceBroker_Devices();
+
+ /**
+ * The meta object literal for the '<em><b>Close Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEVICE_BROKER__CLOSE_SERVICES = eINSTANCE.getDeviceBroker_CloseServices();
+
+ /**
+ * The meta object literal for the '<em><b>Control Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEVICE_BROKER__CONTROL_SERVICES = eINSTANCE.getDeviceBroker_ControlServices();
+
+ /**
+ * The meta object literal for the '<em><b>Open Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEVICE_BROKER__OPEN_SERVICES = eINSTANCE.getDeviceBroker_OpenServices();
+
+ /**
+ * The meta object literal for the '<em><b>Read Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEVICE_BROKER__READ_SERVICES = eINSTANCE.getDeviceBroker_ReadServices();
+
+ /**
+ * The meta object literal for the '<em><b>Write Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DEVICE_BROKER__WRITE_SERVICES = eINSTANCE.getDeviceBroker_WriteServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl <em>Memory Broker</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl#getMemoryBroker()
+ * @generated
+ */
+ EClass MEMORY_BROKER = eINSTANCE.getMemoryBroker();
+
+ /**
+ * The meta object literal for the '<em><b>Access Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MEMORY_BROKER__ACCESS_POLICY = eINSTANCE.getMemoryBroker_AccessPolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Memories</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_BROKER__MEMORIES = eINSTANCE.getMemoryBroker_Memories();
+
+ /**
+ * The meta object literal for the '<em><b>Memory Block Adress Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_BROKER__MEMORY_BLOCK_ADRESS_ELEMENTS = eINSTANCE.getMemoryBroker_MemoryBlockAdressElements();
+
+ /**
+ * The meta object literal for the '<em><b>Memory Block Size Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_BROKER__MEMORY_BLOCK_SIZE_ELEMENTS = eINSTANCE.getMemoryBroker_MemoryBlockSizeElements();
+
+ /**
+ * The meta object literal for the '<em><b>Lock Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_BROKER__LOCK_SERVICES = eINSTANCE.getMemoryBroker_LockServices();
+
+ /**
+ * The meta object literal for the '<em><b>Unlock Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_BROKER__UNLOCK_SERVICES = eINSTANCE.getMemoryBroker_UnlockServices();
+
+ /**
+ * The meta object literal for the '<em><b>Map Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_BROKER__MAP_SERVICES = eINSTANCE.getMemoryBroker_MapServices();
+
+ /**
+ * The meta object literal for the '<em><b>Un Map Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_BROKER__UN_MAP_SERVICES = eINSTANCE.getMemoryBroker_UnMapServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind <em>Access Policy Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl#getAccessPolicyKind()
+ * @generated
+ */
+ EEnum ACCESS_POLICY_KIND = eINSTANCE.getAccessPolicyKind();
+
+ }
+
+} //SW_BrokeringPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/DeviceBrokerImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/DeviceBrokerImpl.java
new file mode 100644
index 00000000000..9128f92ad10
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/DeviceBrokerImpl.java
@@ -0,0 +1,444 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.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.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Device Broker</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl#getAccessPolicy <em>Access Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl#isIsBuffered <em>Is Buffered</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl#getDevices <em>Devices</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl#getCloseServices <em>Close Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl#getControlServices <em>Control Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl#getOpenServices <em>Open Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl#getReadServices <em>Read Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.DeviceBrokerImpl#getWriteServices <em>Write Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DeviceBrokerImpl extends SwResourceImpl implements DeviceBroker {
+ /**
+ * The default value of the '{@link #getAccessPolicy() <em>Access Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessPolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final AccessPolicyKind ACCESS_POLICY_EDEFAULT = AccessPolicyKind.READ;
+
+ /**
+ * The cached value of the '{@link #getAccessPolicy() <em>Access Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessPolicy()
+ * @generated
+ * @ordered
+ */
+ protected AccessPolicyKind accessPolicy = ACCESS_POLICY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsBuffered() <em>Is Buffered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBuffered()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BUFFERED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBuffered() <em>Is Buffered</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBuffered()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBuffered = IS_BUFFERED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getDevices() <em>Devices</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDevices()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> devices;
+
+ /**
+ * The cached value of the '{@link #getCloseServices() <em>Close Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCloseServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> closeServices;
+
+ /**
+ * The cached value of the '{@link #getControlServices() <em>Control Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getControlServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> controlServices;
+
+ /**
+ * The cached value of the '{@link #getOpenServices() <em>Open Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOpenServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> openServices;
+
+ /**
+ * The cached value of the '{@link #getReadServices() <em>Read Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReadServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> readServices;
+
+ /**
+ * The cached value of the '{@link #getWriteServices() <em>Write Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWriteServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> writeServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeviceBrokerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_BrokeringPackage.Literals.DEVICE_BROKER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AccessPolicyKind getAccessPolicy() {
+ return accessPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccessPolicy(AccessPolicyKind newAccessPolicy) {
+ AccessPolicyKind oldAccessPolicy = accessPolicy;
+ accessPolicy = newAccessPolicy == null ? ACCESS_POLICY_EDEFAULT : newAccessPolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_BrokeringPackage.DEVICE_BROKER__ACCESS_POLICY, oldAccessPolicy, accessPolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBuffered() {
+ return isBuffered;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBuffered(boolean newIsBuffered) {
+ boolean oldIsBuffered = isBuffered;
+ isBuffered = newIsBuffered;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_BrokeringPackage.DEVICE_BROKER__IS_BUFFERED, oldIsBuffered, isBuffered));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getDevices() {
+ if (devices == null) {
+ devices = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_BrokeringPackage.DEVICE_BROKER__DEVICES);
+ }
+ return devices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getCloseServices() {
+ if (closeServices == null) {
+ closeServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.DEVICE_BROKER__CLOSE_SERVICES);
+ }
+ return closeServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getControlServices() {
+ if (controlServices == null) {
+ controlServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.DEVICE_BROKER__CONTROL_SERVICES);
+ }
+ return controlServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getOpenServices() {
+ if (openServices == null) {
+ openServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.DEVICE_BROKER__OPEN_SERVICES);
+ }
+ return openServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getReadServices() {
+ if (readServices == null) {
+ readServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.DEVICE_BROKER__READ_SERVICES);
+ }
+ return readServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getWriteServices() {
+ if (writeServices == null) {
+ writeServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.DEVICE_BROKER__WRITE_SERVICES);
+ }
+ return writeServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_BrokeringPackage.DEVICE_BROKER__ACCESS_POLICY:
+ return getAccessPolicy();
+ case SW_BrokeringPackage.DEVICE_BROKER__IS_BUFFERED:
+ return isIsBuffered();
+ case SW_BrokeringPackage.DEVICE_BROKER__DEVICES:
+ return getDevices();
+ case SW_BrokeringPackage.DEVICE_BROKER__CLOSE_SERVICES:
+ return getCloseServices();
+ case SW_BrokeringPackage.DEVICE_BROKER__CONTROL_SERVICES:
+ return getControlServices();
+ case SW_BrokeringPackage.DEVICE_BROKER__OPEN_SERVICES:
+ return getOpenServices();
+ case SW_BrokeringPackage.DEVICE_BROKER__READ_SERVICES:
+ return getReadServices();
+ case SW_BrokeringPackage.DEVICE_BROKER__WRITE_SERVICES:
+ return getWriteServices();
+ }
+ 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 SW_BrokeringPackage.DEVICE_BROKER__ACCESS_POLICY:
+ setAccessPolicy((AccessPolicyKind)newValue);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__IS_BUFFERED:
+ setIsBuffered((Boolean)newValue);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__DEVICES:
+ getDevices().clear();
+ getDevices().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__CLOSE_SERVICES:
+ getCloseServices().clear();
+ getCloseServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__CONTROL_SERVICES:
+ getControlServices().clear();
+ getControlServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__OPEN_SERVICES:
+ getOpenServices().clear();
+ getOpenServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__READ_SERVICES:
+ getReadServices().clear();
+ getReadServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__WRITE_SERVICES:
+ getWriteServices().clear();
+ getWriteServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_BrokeringPackage.DEVICE_BROKER__ACCESS_POLICY:
+ setAccessPolicy(ACCESS_POLICY_EDEFAULT);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__IS_BUFFERED:
+ setIsBuffered(IS_BUFFERED_EDEFAULT);
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__DEVICES:
+ getDevices().clear();
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__CLOSE_SERVICES:
+ getCloseServices().clear();
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__CONTROL_SERVICES:
+ getControlServices().clear();
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__OPEN_SERVICES:
+ getOpenServices().clear();
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__READ_SERVICES:
+ getReadServices().clear();
+ return;
+ case SW_BrokeringPackage.DEVICE_BROKER__WRITE_SERVICES:
+ getWriteServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_BrokeringPackage.DEVICE_BROKER__ACCESS_POLICY:
+ return accessPolicy != ACCESS_POLICY_EDEFAULT;
+ case SW_BrokeringPackage.DEVICE_BROKER__IS_BUFFERED:
+ return isBuffered != IS_BUFFERED_EDEFAULT;
+ case SW_BrokeringPackage.DEVICE_BROKER__DEVICES:
+ return devices != null && !devices.isEmpty();
+ case SW_BrokeringPackage.DEVICE_BROKER__CLOSE_SERVICES:
+ return closeServices != null && !closeServices.isEmpty();
+ case SW_BrokeringPackage.DEVICE_BROKER__CONTROL_SERVICES:
+ return controlServices != null && !controlServices.isEmpty();
+ case SW_BrokeringPackage.DEVICE_BROKER__OPEN_SERVICES:
+ return openServices != null && !openServices.isEmpty();
+ case SW_BrokeringPackage.DEVICE_BROKER__READ_SERVICES:
+ return readServices != null && !readServices.isEmpty();
+ case SW_BrokeringPackage.DEVICE_BROKER__WRITE_SERVICES:
+ return writeServices != null && !writeServices.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(" (accessPolicy: ");
+ result.append(accessPolicy);
+ result.append(", isBuffered: ");
+ result.append(isBuffered);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DeviceBrokerImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/MemoryBrokerImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/MemoryBrokerImpl.java
new file mode 100644
index 00000000000..c0cb07e6870
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/MemoryBrokerImpl.java
@@ -0,0 +1,424 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.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.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.AccessPolicyKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Memory Broker</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl#getAccessPolicy <em>Access Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl#getMemories <em>Memories</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl#getMemoryBlockAdressElements <em>Memory Block Adress Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl#getMemoryBlockSizeElements <em>Memory Block Size Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl#getLockServices <em>Lock Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl#getUnlockServices <em>Unlock Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl#getMapServices <em>Map Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.MemoryBrokerImpl#getUnMapServices <em>Un Map Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MemoryBrokerImpl extends SwResourceImpl implements MemoryBroker {
+ /**
+ * The default value of the '{@link #getAccessPolicy() <em>Access Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessPolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final AccessPolicyKind ACCESS_POLICY_EDEFAULT = AccessPolicyKind.READ;
+
+ /**
+ * The cached value of the '{@link #getAccessPolicy() <em>Access Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessPolicy()
+ * @generated
+ * @ordered
+ */
+ protected AccessPolicyKind accessPolicy = ACCESS_POLICY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMemories() <em>Memories</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemories()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> memories;
+
+ /**
+ * The cached value of the '{@link #getMemoryBlockAdressElements() <em>Memory Block Adress Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemoryBlockAdressElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> memoryBlockAdressElements;
+
+ /**
+ * The cached value of the '{@link #getMemoryBlockSizeElements() <em>Memory Block Size Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemoryBlockSizeElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> memoryBlockSizeElements;
+
+ /**
+ * The cached value of the '{@link #getLockServices() <em>Lock Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLockServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> lockServices;
+
+ /**
+ * The cached value of the '{@link #getUnlockServices() <em>Unlock Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnlockServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> unlockServices;
+
+ /**
+ * The cached value of the '{@link #getMapServices() <em>Map Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> mapServices;
+
+ /**
+ * The cached value of the '{@link #getUnMapServices() <em>Un Map Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnMapServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> unMapServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MemoryBrokerImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_BrokeringPackage.Literals.MEMORY_BROKER;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AccessPolicyKind getAccessPolicy() {
+ return accessPolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccessPolicy(AccessPolicyKind newAccessPolicy) {
+ AccessPolicyKind oldAccessPolicy = accessPolicy;
+ accessPolicy = newAccessPolicy == null ? ACCESS_POLICY_EDEFAULT : newAccessPolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_BrokeringPackage.MEMORY_BROKER__ACCESS_POLICY, oldAccessPolicy, accessPolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMemories() {
+ if (memories == null) {
+ memories = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_BrokeringPackage.MEMORY_BROKER__MEMORIES);
+ }
+ return memories;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMemoryBlockAdressElements() {
+ if (memoryBlockAdressElements == null) {
+ memoryBlockAdressElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_ADRESS_ELEMENTS);
+ }
+ return memoryBlockAdressElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMemoryBlockSizeElements() {
+ if (memoryBlockSizeElements == null) {
+ memoryBlockSizeElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_SIZE_ELEMENTS);
+ }
+ return memoryBlockSizeElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getLockServices() {
+ if (lockServices == null) {
+ lockServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.MEMORY_BROKER__LOCK_SERVICES);
+ }
+ return lockServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getUnlockServices() {
+ if (unlockServices == null) {
+ unlockServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.MEMORY_BROKER__UNLOCK_SERVICES);
+ }
+ return unlockServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getMapServices() {
+ if (mapServices == null) {
+ mapServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.MEMORY_BROKER__MAP_SERVICES);
+ }
+ return mapServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getUnMapServices() {
+ if (unMapServices == null) {
+ unMapServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_BrokeringPackage.MEMORY_BROKER__UN_MAP_SERVICES);
+ }
+ return unMapServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_BrokeringPackage.MEMORY_BROKER__ACCESS_POLICY:
+ return getAccessPolicy();
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORIES:
+ return getMemories();
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_ADRESS_ELEMENTS:
+ return getMemoryBlockAdressElements();
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_SIZE_ELEMENTS:
+ return getMemoryBlockSizeElements();
+ case SW_BrokeringPackage.MEMORY_BROKER__LOCK_SERVICES:
+ return getLockServices();
+ case SW_BrokeringPackage.MEMORY_BROKER__UNLOCK_SERVICES:
+ return getUnlockServices();
+ case SW_BrokeringPackage.MEMORY_BROKER__MAP_SERVICES:
+ return getMapServices();
+ case SW_BrokeringPackage.MEMORY_BROKER__UN_MAP_SERVICES:
+ return getUnMapServices();
+ }
+ 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 SW_BrokeringPackage.MEMORY_BROKER__ACCESS_POLICY:
+ setAccessPolicy((AccessPolicyKind)newValue);
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORIES:
+ getMemories().clear();
+ getMemories().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_ADRESS_ELEMENTS:
+ getMemoryBlockAdressElements().clear();
+ getMemoryBlockAdressElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_SIZE_ELEMENTS:
+ getMemoryBlockSizeElements().clear();
+ getMemoryBlockSizeElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__LOCK_SERVICES:
+ getLockServices().clear();
+ getLockServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__UNLOCK_SERVICES:
+ getUnlockServices().clear();
+ getUnlockServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__MAP_SERVICES:
+ getMapServices().clear();
+ getMapServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__UN_MAP_SERVICES:
+ getUnMapServices().clear();
+ getUnMapServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_BrokeringPackage.MEMORY_BROKER__ACCESS_POLICY:
+ setAccessPolicy(ACCESS_POLICY_EDEFAULT);
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORIES:
+ getMemories().clear();
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_ADRESS_ELEMENTS:
+ getMemoryBlockAdressElements().clear();
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_SIZE_ELEMENTS:
+ getMemoryBlockSizeElements().clear();
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__LOCK_SERVICES:
+ getLockServices().clear();
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__UNLOCK_SERVICES:
+ getUnlockServices().clear();
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__MAP_SERVICES:
+ getMapServices().clear();
+ return;
+ case SW_BrokeringPackage.MEMORY_BROKER__UN_MAP_SERVICES:
+ getUnMapServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_BrokeringPackage.MEMORY_BROKER__ACCESS_POLICY:
+ return accessPolicy != ACCESS_POLICY_EDEFAULT;
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORIES:
+ return memories != null && !memories.isEmpty();
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_ADRESS_ELEMENTS:
+ return memoryBlockAdressElements != null && !memoryBlockAdressElements.isEmpty();
+ case SW_BrokeringPackage.MEMORY_BROKER__MEMORY_BLOCK_SIZE_ELEMENTS:
+ return memoryBlockSizeElements != null && !memoryBlockSizeElements.isEmpty();
+ case SW_BrokeringPackage.MEMORY_BROKER__LOCK_SERVICES:
+ return lockServices != null && !lockServices.isEmpty();
+ case SW_BrokeringPackage.MEMORY_BROKER__UNLOCK_SERVICES:
+ return unlockServices != null && !unlockServices.isEmpty();
+ case SW_BrokeringPackage.MEMORY_BROKER__MAP_SERVICES:
+ return mapServices != null && !mapServices.isEmpty();
+ case SW_BrokeringPackage.MEMORY_BROKER__UN_MAP_SERVICES:
+ return unMapServices != null && !unMapServices.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(" (accessPolicy: ");
+ result.append(accessPolicy);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MemoryBrokerImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/SW_BrokeringFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/SW_BrokeringFactoryImpl.java
new file mode 100644
index 00000000000..44a525113c0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/SW_BrokeringFactoryImpl.java
@@ -0,0 +1,168 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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_DesignModel.SRM.SW_Brokering.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SW_BrokeringFactoryImpl extends EFactoryImpl implements SW_BrokeringFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SW_BrokeringFactory init() {
+ try {
+ SW_BrokeringFactory theSW_BrokeringFactory = (SW_BrokeringFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/SW_Brokering/1");
+ if (theSW_BrokeringFactory != null) {
+ return theSW_BrokeringFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SW_BrokeringFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_BrokeringFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SW_BrokeringPackage.DEVICE_BROKER: return createDeviceBroker();
+ case SW_BrokeringPackage.MEMORY_BROKER: return createMemoryBroker();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case SW_BrokeringPackage.ACCESS_POLICY_KIND:
+ return createAccessPolicyKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case SW_BrokeringPackage.ACCESS_POLICY_KIND:
+ return convertAccessPolicyKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DeviceBroker createDeviceBroker() {
+ DeviceBrokerImpl deviceBroker = new DeviceBrokerImpl();
+ return deviceBroker;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MemoryBroker createMemoryBroker() {
+ MemoryBrokerImpl memoryBroker = new MemoryBrokerImpl();
+ return memoryBroker;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AccessPolicyKind createAccessPolicyKindFromString(EDataType eDataType, String initialValue) {
+ AccessPolicyKind result = AccessPolicyKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertAccessPolicyKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_BrokeringPackage getSW_BrokeringPackage() {
+ return (SW_BrokeringPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SW_BrokeringPackage getPackage() {
+ return SW_BrokeringPackage.eINSTANCE;
+ }
+
+} //SW_BrokeringFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/SW_BrokeringPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/SW_BrokeringPackageImpl.java
new file mode 100644
index 00000000000..fbaa1eafa2d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/impl/SW_BrokeringPackageImpl.java
@@ -0,0 +1,658 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+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.AccessPolicyKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+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.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+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 SW_BrokeringPackageImpl extends EPackageImpl implements SW_BrokeringPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass deviceBrokerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass memoryBrokerEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum accessPolicyKindEEnum = 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_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SW_BrokeringPackageImpl() {
+ super(eNS_URI, SW_BrokeringFactory.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 SW_BrokeringPackage#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 SW_BrokeringPackage init() {
+ if (isInited) return (SW_BrokeringPackage)EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SW_BrokeringPackageImpl());
+
+ 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);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.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_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
+ theSW_BrokeringPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.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_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
+ theSW_BrokeringPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.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_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
+ theSW_BrokeringPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SW_BrokeringPackage.eNS_URI, theSW_BrokeringPackage);
+ return theSW_BrokeringPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeviceBroker() {
+ return deviceBrokerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviceBroker_AccessPolicy() {
+ return (EAttribute)deviceBrokerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeviceBroker_IsBuffered() {
+ return (EAttribute)deviceBrokerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeviceBroker_Devices() {
+ return (EReference)deviceBrokerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeviceBroker_CloseServices() {
+ return (EReference)deviceBrokerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeviceBroker_ControlServices() {
+ return (EReference)deviceBrokerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeviceBroker_OpenServices() {
+ return (EReference)deviceBrokerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeviceBroker_ReadServices() {
+ return (EReference)deviceBrokerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeviceBroker_WriteServices() {
+ return (EReference)deviceBrokerEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMemoryBroker() {
+ return memoryBrokerEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMemoryBroker_AccessPolicy() {
+ return (EAttribute)memoryBrokerEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryBroker_Memories() {
+ return (EReference)memoryBrokerEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryBroker_MemoryBlockAdressElements() {
+ return (EReference)memoryBrokerEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryBroker_MemoryBlockSizeElements() {
+ return (EReference)memoryBrokerEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryBroker_LockServices() {
+ return (EReference)memoryBrokerEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryBroker_UnlockServices() {
+ return (EReference)memoryBrokerEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryBroker_MapServices() {
+ return (EReference)memoryBrokerEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryBroker_UnMapServices() {
+ return (EReference)memoryBrokerEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getAccessPolicyKind() {
+ return accessPolicyKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_BrokeringFactory getSW_BrokeringFactory() {
+ return (SW_BrokeringFactory)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
+ deviceBrokerEClass = createEClass(DEVICE_BROKER);
+ createEAttribute(deviceBrokerEClass, DEVICE_BROKER__ACCESS_POLICY);
+ createEAttribute(deviceBrokerEClass, DEVICE_BROKER__IS_BUFFERED);
+ createEReference(deviceBrokerEClass, DEVICE_BROKER__DEVICES);
+ createEReference(deviceBrokerEClass, DEVICE_BROKER__CLOSE_SERVICES);
+ createEReference(deviceBrokerEClass, DEVICE_BROKER__CONTROL_SERVICES);
+ createEReference(deviceBrokerEClass, DEVICE_BROKER__OPEN_SERVICES);
+ createEReference(deviceBrokerEClass, DEVICE_BROKER__READ_SERVICES);
+ createEReference(deviceBrokerEClass, DEVICE_BROKER__WRITE_SERVICES);
+
+ memoryBrokerEClass = createEClass(MEMORY_BROKER);
+ createEAttribute(memoryBrokerEClass, MEMORY_BROKER__ACCESS_POLICY);
+ createEReference(memoryBrokerEClass, MEMORY_BROKER__MEMORIES);
+ createEReference(memoryBrokerEClass, MEMORY_BROKER__MEMORY_BLOCK_ADRESS_ELEMENTS);
+ createEReference(memoryBrokerEClass, MEMORY_BROKER__MEMORY_BLOCK_SIZE_ELEMENTS);
+ createEReference(memoryBrokerEClass, MEMORY_BROKER__LOCK_SERVICES);
+ createEReference(memoryBrokerEClass, MEMORY_BROKER__UNLOCK_SERVICES);
+ createEReference(memoryBrokerEClass, MEMORY_BROKER__MAP_SERVICES);
+ createEReference(memoryBrokerEClass, MEMORY_BROKER__UN_MAP_SERVICES);
+
+ // Create enums
+ accessPolicyKindEEnum = createEEnum(ACCESS_POLICY_KIND);
+ }
+
+ /**
+ * <!-- 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
+ SW_ResourceCorePackage theSW_ResourceCorePackage = (SW_ResourceCorePackage)EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.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);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ deviceBrokerEClass.getESuperTypes().add(theSW_ResourceCorePackage.getSwResource());
+ memoryBrokerEClass.getESuperTypes().add(theSW_ResourceCorePackage.getSwResource());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(deviceBrokerEClass, DeviceBroker.class, "DeviceBroker", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDeviceBroker_AccessPolicy(), this.getAccessPolicyKind(), "accessPolicy", null, 0, 1, DeviceBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getDeviceBroker_IsBuffered(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isBuffered", null, 0, 1, DeviceBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeviceBroker_Devices(), theUMLPackage.getTypedElement(), null, "devices", null, 0, -1, DeviceBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeviceBroker_CloseServices(), theUMLPackage.getBehavioralFeature(), null, "closeServices", null, 0, -1, DeviceBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeviceBroker_ControlServices(), theUMLPackage.getBehavioralFeature(), null, "controlServices", null, 0, -1, DeviceBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeviceBroker_OpenServices(), theUMLPackage.getBehavioralFeature(), null, "openServices", null, 0, -1, DeviceBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeviceBroker_ReadServices(), theUMLPackage.getBehavioralFeature(), null, "readServices", null, 0, -1, DeviceBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getDeviceBroker_WriteServices(), theUMLPackage.getBehavioralFeature(), null, "writeServices", null, 0, -1, DeviceBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(memoryBrokerEClass, MemoryBroker.class, "MemoryBroker", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMemoryBroker_AccessPolicy(), this.getAccessPolicyKind(), "accessPolicy", null, 0, 1, MemoryBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryBroker_Memories(), theUMLPackage.getTypedElement(), null, "memories", null, 0, -1, MemoryBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryBroker_MemoryBlockAdressElements(), theUMLPackage.getTypedElement(), null, "memoryBlockAdressElements", null, 0, -1, MemoryBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryBroker_MemoryBlockSizeElements(), theUMLPackage.getTypedElement(), null, "memoryBlockSizeElements", null, 0, -1, MemoryBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryBroker_LockServices(), theUMLPackage.getBehavioralFeature(), null, "lockServices", null, 0, -1, MemoryBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryBroker_UnlockServices(), theUMLPackage.getBehavioralFeature(), null, "unlockServices", null, 0, -1, MemoryBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryBroker_MapServices(), theUMLPackage.getBehavioralFeature(), null, "mapServices", null, 0, -1, MemoryBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryBroker_UnMapServices(), theUMLPackage.getBehavioralFeature(), null, "unMapServices", null, 0, -1, MemoryBroker.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(accessPolicyKindEEnum, AccessPolicyKind.class, "AccessPolicyKind");
+ addEEnumLiteral(accessPolicyKindEEnum, AccessPolicyKind.READ);
+ addEEnumLiteral(accessPolicyKindEEnum, AccessPolicyKind.WRITE);
+ addEEnumLiteral(accessPolicyKindEEnum, AccessPolicyKind.READ_WRITE);
+ addEEnumLiteral(accessPolicyKindEEnum, AccessPolicyKind.UNDEF);
+ addEEnumLiteral(accessPolicyKindEEnum, AccessPolicyKind.OTHER);
+ }
+
+} //SW_BrokeringPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringAdapterFactory.java
new file mode 100644
index 00000000000..0bf0ff05159
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringAdapterFactory.java
@@ -0,0 +1,189 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage
+ * @generated
+ */
+public class SW_BrokeringAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SW_BrokeringPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_BrokeringAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SW_BrokeringPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SW_BrokeringSwitch<Adapter> modelSwitch =
+ new SW_BrokeringSwitch<Adapter>() {
+ @Override
+ public Adapter caseDeviceBroker(DeviceBroker object) {
+ return createDeviceBrokerAdapter();
+ }
+ @Override
+ public Adapter caseMemoryBroker(MemoryBroker object) {
+ return createMemoryBrokerAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwResource(SwResource object) {
+ return createSwResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker <em>Device Broker</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.DeviceBroker
+ * @generated
+ */
+ public Adapter createDeviceBrokerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker <em>Memory Broker</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.MemoryBroker
+ * @generated
+ */
+ public Adapter createMemoryBrokerAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource <em>Sw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource
+ * @generated
+ */
+ public Adapter createSwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //SW_BrokeringAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringResourceFactoryImpl.java
new file mode 100644
index 00000000000..4a7ec47eb1d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.util.SW_BrokeringResourceImpl
+ * @generated
+ */
+public class SW_BrokeringResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_BrokeringResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new SW_BrokeringResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //SW_BrokeringResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringResourceImpl.java
new file mode 100644
index 00000000000..611b301b8c9
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.util.SW_BrokeringResourceFactoryImpl
+ * @generated
+ */
+public class SW_BrokeringResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public SW_BrokeringResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //SW_BrokeringResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringSwitch.java
new file mode 100644
index 00000000000..31e455df020
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringSwitch.java
@@ -0,0 +1,196 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage
+ * @generated
+ */
+public class SW_BrokeringSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SW_BrokeringPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_BrokeringSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SW_BrokeringPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case SW_BrokeringPackage.DEVICE_BROKER: {
+ DeviceBroker deviceBroker = (DeviceBroker)theEObject;
+ T result = caseDeviceBroker(deviceBroker);
+ if (result == null) result = caseSwResource(deviceBroker);
+ if (result == null) result = caseResource(deviceBroker);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_BrokeringPackage.MEMORY_BROKER: {
+ MemoryBroker memoryBroker = (MemoryBroker)theEObject;
+ T result = caseMemoryBroker(memoryBroker);
+ if (result == null) result = caseSwResource(memoryBroker);
+ if (result == null) result = caseResource(memoryBroker);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Device Broker</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Device Broker</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDeviceBroker(DeviceBroker object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Memory Broker</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Memory Broker</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMemoryBroker(MemoryBroker object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwResource(SwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //SW_BrokeringSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringXMLProcessor.java
new file mode 100644
index 00000000000..d60e5e6d47c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Brokering/util/SW_BrokeringXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Brokering.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SW_BrokeringXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_BrokeringXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ SW_BrokeringPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the SW_BrokeringResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new SW_BrokeringResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new SW_BrokeringResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //SW_BrokeringXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/Alarm.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/Alarm.java
new file mode 100644
index 00000000000..af0787e4d19
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/Alarm.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Alarm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm#isIsWatchdog <em>Is Watchdog</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm#getTimers <em>Timers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getAlarm()
+ * @model
+ * @generated
+ */
+public interface Alarm extends InterruptResource {
+ /**
+ * Returns the value of the '<em><b>Is Watchdog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Watchdog</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Watchdog</em>' attribute.
+ * @see #setIsWatchdog(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getAlarm_IsWatchdog()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsWatchdog();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm#isIsWatchdog <em>Is Watchdog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Watchdog</em>' attribute.
+ * @see #isIsWatchdog()
+ * @generated
+ */
+ void setIsWatchdog(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Timers</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Timers</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Timers</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getAlarm_Timers()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getTimers();
+
+} // Alarm
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/EntryPoint.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/EntryPoint.java
new file mode 100644
index 00000000000..22f853ea11f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/EntryPoint.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Allocate;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Entry Point</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint#isIsReentrant <em>Is Reentrant</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint#getRoutine <em>Routine</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getEntryPoint()
+ * @model
+ * @generated
+ */
+public interface EntryPoint extends Allocate {
+ /**
+ * Returns the value of the '<em><b>Is Reentrant</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Reentrant</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Reentrant</em>' attribute.
+ * @see #setIsReentrant(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getEntryPoint_IsReentrant()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsReentrant();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint#isIsReentrant <em>Is Reentrant</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Reentrant</em>' attribute.
+ * @see #isIsReentrant()
+ * @generated
+ */
+ void setIsReentrant(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Routine</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Routine</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Routine</em>' reference.
+ * @see #setRoutine(BehavioralFeature)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getEntryPoint_Routine()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ BehavioralFeature getRoutine();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint#getRoutine <em>Routine</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Routine</em>' reference.
+ * @see #getRoutine()
+ * @generated
+ */
+ void setRoutine(BehavioralFeature value);
+
+} // EntryPoint
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind.java
new file mode 100644
index 00000000000..7c46f7cb346
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/InterruptKind.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Interrupt Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getInterruptKind()
+ * @model
+ * @generated
+ */
+public enum InterruptKind implements Enumerator {
+ /**
+ * The '<em><b>Hardware Interruption</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #HARDWARE_INTERRUPTION_VALUE
+ * @generated
+ * @ordered
+ */
+ HARDWARE_INTERRUPTION(0, "HardwareInterruption", "HardwareInterruption"),
+
+ /**
+ * The '<em><b>Processor Detected Exception</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PROCESSOR_DETECTED_EXCEPTION_VALUE
+ * @generated
+ * @ordered
+ */
+ PROCESSOR_DETECTED_EXCEPTION(1, "ProcessorDetectedException", "ProcessorDetectedException"),
+
+ /**
+ * The '<em><b>Programmed Exception</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PROGRAMMED_EXCEPTION_VALUE
+ * @generated
+ * @ordered
+ */
+ PROGRAMMED_EXCEPTION(2, "ProgrammedException", "ProgrammedException"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "Undef", "Undef"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(4, "Other", "Other");
+
+ /**
+ * The '<em><b>Hardware Interruption</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Hardware Interruption</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #HARDWARE_INTERRUPTION
+ * @model name="HardwareInterruption"
+ * @generated
+ * @ordered
+ */
+ public static final int HARDWARE_INTERRUPTION_VALUE = 0;
+
+ /**
+ * The '<em><b>Processor Detected Exception</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Processor Detected Exception</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PROCESSOR_DETECTED_EXCEPTION
+ * @model name="ProcessorDetectedException"
+ * @generated
+ * @ordered
+ */
+ public static final int PROCESSOR_DETECTED_EXCEPTION_VALUE = 1;
+
+ /**
+ * The '<em><b>Programmed Exception</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Programmed Exception</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PROGRAMMED_EXCEPTION
+ * @model name="ProgrammedException"
+ * @generated
+ * @ordered
+ */
+ public static final int PROGRAMMED_EXCEPTION_VALUE = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="Undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="Other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Interrupt Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final InterruptKind[] VALUES_ARRAY =
+ new InterruptKind[] {
+ HARDWARE_INTERRUPTION,
+ PROCESSOR_DETECTED_EXCEPTION,
+ PROGRAMMED_EXCEPTION,
+ UNDEF,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Interrupt Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<InterruptKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Interrupt Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InterruptKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ InterruptKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Interrupt Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InterruptKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ InterruptKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Interrupt Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static InterruptKind get(int value) {
+ switch (value) {
+ case HARDWARE_INTERRUPTION_VALUE: return HARDWARE_INTERRUPTION;
+ case PROCESSOR_DETECTED_EXCEPTION_VALUE: return PROCESSOR_DETECTED_EXCEPTION;
+ case PROGRAMMED_EXCEPTION_VALUE: return PROGRAMMED_EXCEPTION;
+ case UNDEF_VALUE: return UNDEF;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private InterruptKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //InterruptKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource.java
new file mode 100644
index 00000000000..d3fec5f2948
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/InterruptResource.java
@@ -0,0 +1,162 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Interrupt Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#isIsMaskable <em>Is Maskable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getVectorElements <em>Vector Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getMaskElements <em>Mask Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getRoutineConnectServices <em>Routine Connect Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getRoutineDisconnectServices <em>Routine Disconnect Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getInterruptResource()
+ * @model
+ * @generated
+ */
+public interface InterruptResource extends SwConcurrentResource {
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind
+ * @see #setKind(InterruptKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getInterruptResource_Kind()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ InterruptKind getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(InterruptKind value);
+
+ /**
+ * Returns the value of the '<em><b>Is Maskable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Maskable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Maskable</em>' attribute.
+ * @see #setIsMaskable(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getInterruptResource_IsMaskable()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsMaskable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#isIsMaskable <em>Is Maskable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Maskable</em>' attribute.
+ * @see #isIsMaskable()
+ * @generated
+ */
+ void setIsMaskable(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Vector Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Vector Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Vector Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getInterruptResource_VectorElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getVectorElements();
+
+ /**
+ * Returns the value of the '<em><b>Mask Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mask Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mask Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getInterruptResource_MaskElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMaskElements();
+
+ /**
+ * Returns the value of the '<em><b>Routine Connect Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Routine Connect Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Routine Connect Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getInterruptResource_RoutineConnectServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getRoutineConnectServices();
+
+ /**
+ * Returns the value of the '<em><b>Routine Disconnect Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Routine Disconnect Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Routine Disconnect Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getInterruptResource_RoutineDisconnectServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getRoutineDisconnectServices();
+
+} // InterruptResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition.java
new file mode 100644
index 00000000000..cc7e535bdce
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/MemoryPartition.java
@@ -0,0 +1,135 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Memory Partition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getConcurrentResources <em>Concurrent Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getMemorySpaces <em>Memory Spaces</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getFork <em>Fork</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getExit <em>Exit</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getBase_Namespace <em>Base Namespace</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getMemoryPartition()
+ * @model
+ * @generated
+ */
+public interface MemoryPartition extends SwResource {
+ /**
+ * Returns the value of the '<em><b>Concurrent Resources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Concurrent Resources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Concurrent Resources</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getMemoryPartition_ConcurrentResources()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getConcurrentResources();
+
+ /**
+ * Returns the value of the '<em><b>Memory Spaces</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory Spaces</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory Spaces</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getMemoryPartition_MemorySpaces()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMemorySpaces();
+
+ /**
+ * Returns the value of the '<em><b>Fork</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Fork</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Fork</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getMemoryPartition_Fork()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getFork();
+
+ /**
+ * Returns the value of the '<em><b>Exit</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Exit</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Exit</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getMemoryPartition_Exit()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getExit();
+
+ /**
+ * Returns the value of the '<em><b>Base Namespace</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Namespace</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Namespace</em>' reference.
+ * @see #setBase_Namespace(Namespace)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getMemoryPartition_Base_Namespace()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Namespace getBase_Namespace();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getBase_Namespace <em>Base Namespace</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Namespace</em>' reference.
+ * @see #getBase_Namespace()
+ * @generated
+ */
+ void setBase_Namespace(Namespace value);
+
+} // MemoryPartition
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SW_ConcurrencyFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SW_ConcurrencyFactory.java
new file mode 100644
index 00000000000..0680b117174
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SW_ConcurrencyFactory.java
@@ -0,0 +1,98 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage
+ * @generated
+ */
+public interface SW_ConcurrencyFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SW_ConcurrencyFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Entry Point</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Entry Point</em>'.
+ * @generated
+ */
+ EntryPoint createEntryPoint();
+
+ /**
+ * Returns a new object of class '<em>Interrupt Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Interrupt Resource</em>'.
+ * @generated
+ */
+ InterruptResource createInterruptResource();
+
+ /**
+ * Returns a new object of class '<em>Sw Schedulable Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sw Schedulable Resource</em>'.
+ * @generated
+ */
+ SwSchedulableResource createSwSchedulableResource();
+
+ /**
+ * Returns a new object of class '<em>Sw Timer Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sw Timer Resource</em>'.
+ * @generated
+ */
+ SwTimerResource createSwTimerResource();
+
+ /**
+ * Returns a new object of class '<em>Memory Partition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Memory Partition</em>'.
+ * @generated
+ */
+ MemoryPartition createMemoryPartition();
+
+ /**
+ * Returns a new object of class '<em>Alarm</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Alarm</em>'.
+ * @generated
+ */
+ Alarm createAlarm();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SW_ConcurrencyPackage getSW_ConcurrencyPackage();
+
+} //SW_ConcurrencyFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SW_ConcurrencyPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SW_ConcurrencyPackage.java
new file mode 100644
index 00000000000..a922244cc85
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SW_ConcurrencyPackage.java
@@ -0,0 +1,2931 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SW_ConcurrencyPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "SW_Concurrency";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/SW_Concurrency/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "SW_Concurrency";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SW_ConcurrencyPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.EntryPointImpl <em>Entry Point</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.EntryPointImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getEntryPoint()
+ * @generated
+ */
+ int ENTRY_POINT = 0;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTRY_POINT__KIND = AllocPackage.ALLOCATE__KIND;
+
+ /**
+ * The feature id for the '<em><b>Nature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTRY_POINT__NATURE = AllocPackage.ALLOCATE__NATURE;
+
+ /**
+ * The feature id for the '<em><b>Base Abstraction</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTRY_POINT__BASE_ABSTRACTION = AllocPackage.ALLOCATE__BASE_ABSTRACTION;
+
+ /**
+ * The feature id for the '<em><b>Implied Constraint</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTRY_POINT__IMPLIED_CONSTRAINT = AllocPackage.ALLOCATE__IMPLIED_CONSTRAINT;
+
+ /**
+ * The feature id for the '<em><b>Is Reentrant</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTRY_POINT__IS_REENTRANT = AllocPackage.ALLOCATE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Routine</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTRY_POINT__ROUTINE = AllocPackage.ALLOCATE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Entry Point</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ENTRY_POINT_FEATURE_COUNT = AllocPackage.ALLOCATE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl <em>Sw Concurrent Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getSwConcurrentResource()
+ * @generated
+ */
+ int SW_CONCURRENT_RESOURCE = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__RES_MULT = SW_ResourceCorePackage.SW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__IS_PROTECTED = SW_ResourceCorePackage.SW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__IS_ACTIVE = SW_ResourceCorePackage.SW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__BASE_PROPERTY = SW_ResourceCorePackage.SW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_ResourceCorePackage.SW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__BASE_CLASSIFIER = SW_ResourceCorePackage.SW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__BASE_LIFELINE = SW_ResourceCorePackage.SW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_ResourceCorePackage.SW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__IDENTIFIER_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__STATE_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__CREATE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__DELETE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__INITIALIZE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__TYPE = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Activation Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Entry Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__ENTRY_POINTS = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Adress Space</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__ADRESS_SPACE = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Period Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Priority Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Stack Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Activate Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Enable Concurrency Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Resume Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__RESUME_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Suspend Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Terminate Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Disable Concurrency Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Share Data Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 13;
+
+ /**
+ * The feature id for the '<em><b>Message Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 14;
+
+ /**
+ * The feature id for the '<em><b>Mutual Exclusion Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 15;
+
+ /**
+ * The feature id for the '<em><b>Notification Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 16;
+
+ /**
+ * The feature id for the '<em><b>Heap Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 17;
+
+ /**
+ * The number of structural features of the '<em>Sw Concurrent Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_CONCURRENT_RESOURCE_FEATURE_COUNT = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 18;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl <em>Interrupt Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getInterruptResource()
+ * @generated
+ */
+ int INTERRUPT_RESOURCE = 2;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__RES_MULT = SW_CONCURRENT_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__IS_PROTECTED = SW_CONCURRENT_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__IS_ACTIVE = SW_CONCURRENT_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__BASE_PROPERTY = SW_CONCURRENT_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_CONCURRENT_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__BASE_CLASSIFIER = SW_CONCURRENT_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__BASE_LIFELINE = SW_CONCURRENT_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_CONCURRENT_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__IDENTIFIER_ELEMENTS = SW_CONCURRENT_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__STATE_ELEMENTS = SW_CONCURRENT_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_CONCURRENT_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__CREATE_SERVICES = SW_CONCURRENT_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__DELETE_SERVICES = SW_CONCURRENT_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__INITIALIZE_SERVICES = SW_CONCURRENT_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__TYPE = SW_CONCURRENT_RESOURCE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Activation Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__ACTIVATION_CAPACITY = SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Entry Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__ENTRY_POINTS = SW_CONCURRENT_RESOURCE__ENTRY_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Adress Space</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__ADRESS_SPACE = SW_CONCURRENT_RESOURCE__ADRESS_SPACE;
+
+ /**
+ * The feature id for the '<em><b>Period Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__PERIOD_ELEMENTS = SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Priority Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__PRIORITY_ELEMENTS = SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Stack Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__STACK_SIZE_ELEMENTS = SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Activate Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__ACTIVATE_SERVICES = SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Enable Concurrency Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__ENABLE_CONCURRENCY_SERVICES = SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Resume Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__RESUME_SERVICES = SW_CONCURRENT_RESOURCE__RESUME_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Suspend Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__SUSPEND_SERVICES = SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Terminate Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__TERMINATE_SERVICES = SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Disable Concurrency Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__DISABLE_CONCURRENCY_SERVICES = SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Share Data Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__SHARE_DATA_RESOURCES = SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Message Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__MESSAGE_RESOURCES = SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Mutual Exclusion Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES = SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Notification Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__NOTIFICATION_RESOURCES = SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Heap Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__HEAP_SIZE_ELEMENTS = SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__KIND = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Maskable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__IS_MASKABLE = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Vector Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__VECTOR_ELEMENTS = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Mask Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__MASK_ELEMENTS = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Routine Connect Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Routine Disconnect Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Interrupt Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERRUPT_RESOURCE_FEATURE_COUNT = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl <em>Sw Schedulable Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getSwSchedulableResource()
+ * @generated
+ */
+ int SW_SCHEDULABLE_RESOURCE = 3;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__RES_MULT = SW_CONCURRENT_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__IS_PROTECTED = SW_CONCURRENT_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__IS_ACTIVE = SW_CONCURRENT_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__BASE_PROPERTY = SW_CONCURRENT_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_CONCURRENT_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__BASE_CLASSIFIER = SW_CONCURRENT_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__BASE_LIFELINE = SW_CONCURRENT_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_CONCURRENT_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__IDENTIFIER_ELEMENTS = SW_CONCURRENT_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__STATE_ELEMENTS = SW_CONCURRENT_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_CONCURRENT_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__CREATE_SERVICES = SW_CONCURRENT_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__DELETE_SERVICES = SW_CONCURRENT_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__INITIALIZE_SERVICES = SW_CONCURRENT_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__TYPE = SW_CONCURRENT_RESOURCE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Activation Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__ACTIVATION_CAPACITY = SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Entry Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__ENTRY_POINTS = SW_CONCURRENT_RESOURCE__ENTRY_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Adress Space</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__ADRESS_SPACE = SW_CONCURRENT_RESOURCE__ADRESS_SPACE;
+
+ /**
+ * The feature id for the '<em><b>Period Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__PERIOD_ELEMENTS = SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Priority Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__PRIORITY_ELEMENTS = SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Stack Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__STACK_SIZE_ELEMENTS = SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Activate Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__ACTIVATE_SERVICES = SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Enable Concurrency Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__ENABLE_CONCURRENCY_SERVICES = SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Resume Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__RESUME_SERVICES = SW_CONCURRENT_RESOURCE__RESUME_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Suspend Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__SUSPEND_SERVICES = SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Terminate Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__TERMINATE_SERVICES = SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Disable Concurrency Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__DISABLE_CONCURRENCY_SERVICES = SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Share Data Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__SHARE_DATA_RESOURCES = SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Message Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__MESSAGE_RESOURCES = SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Mutual Exclusion Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__MUTUAL_EXCLUSION_RESOURCES = SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Notification Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__NOTIFICATION_RESOURCES = SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Heap Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__HEAP_SIZE_ELEMENTS = SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Sched Params</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__SCHED_PARAMS = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Dependent Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Host</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__HOST = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Is Static Scheduling Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__IS_STATIC_SCHEDULING_FEATURE = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Is Preemptable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__IS_PREEMPTABLE = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Schedulers</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__SCHEDULERS = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Deadline Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__DEADLINE_ELEMENTS = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Deadline Type Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__DEADLINE_TYPE_ELEMENTS = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Time Slice Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__TIME_SLICE_ELEMENTS = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Delay Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__DELAY_SERVICES = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Join Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__JOIN_SERVICES = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Yield Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE__YIELD_SERVICES = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 11;
+
+ /**
+ * The number of structural features of the '<em>Sw Schedulable Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SCHEDULABLE_RESOURCE_FEATURE_COUNT = SW_CONCURRENT_RESOURCE_FEATURE_COUNT + 12;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwTimerResourceImpl <em>Sw Timer Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwTimerResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getSwTimerResource()
+ * @generated
+ */
+ int SW_TIMER_RESOURCE = 4;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__RES_MULT = GRMPackage.TIMER_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__IS_PROTECTED = GRMPackage.TIMER_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__IS_ACTIVE = GRMPackage.TIMER_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__BASE_PROPERTY = GRMPackage.TIMER_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__BASE_INSTANCE_SPECIFICATION = GRMPackage.TIMER_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__BASE_CLASSIFIER = GRMPackage.TIMER_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__BASE_LIFELINE = GRMPackage.TIMER_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__BASE_CONNECTABLE_ELEMENT = GRMPackage.TIMER_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Duration</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__DURATION = GRMPackage.TIMER_RESOURCE__DURATION;
+
+ /**
+ * The feature id for the '<em><b>Is Periodic</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__IS_PERIODIC = GRMPackage.TIMER_RESOURCE__IS_PERIODIC;
+
+ /**
+ * The feature id for the '<em><b>Duration Elements</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE__DURATION_ELEMENTS = GRMPackage.TIMER_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Sw Timer Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_TIMER_RESOURCE_FEATURE_COUNT = GRMPackage.TIMER_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl <em>Memory Partition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getMemoryPartition()
+ * @generated
+ */
+ int MEMORY_PARTITION = 5;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__RES_MULT = SW_ResourceCorePackage.SW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__IS_PROTECTED = SW_ResourceCorePackage.SW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__IS_ACTIVE = SW_ResourceCorePackage.SW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__BASE_PROPERTY = SW_ResourceCorePackage.SW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__BASE_INSTANCE_SPECIFICATION = SW_ResourceCorePackage.SW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__BASE_CLASSIFIER = SW_ResourceCorePackage.SW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__BASE_LIFELINE = SW_ResourceCorePackage.SW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__BASE_CONNECTABLE_ELEMENT = SW_ResourceCorePackage.SW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__IDENTIFIER_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__STATE_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__MEMORY_SIZE_FOOTPRINT = SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__CREATE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__DELETE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__INITIALIZE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Concurrent Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__CONCURRENT_RESOURCES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Memory Spaces</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__MEMORY_SPACES = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Fork</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__FORK = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Exit</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__EXIT = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Base Namespace</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION__BASE_NAMESPACE = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The number of structural features of the '<em>Memory Partition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEMORY_PARTITION_FEATURE_COUNT = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.AlarmImpl <em>Alarm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.AlarmImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getAlarm()
+ * @generated
+ */
+ int ALARM = 6;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__RES_MULT = INTERRUPT_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__IS_PROTECTED = INTERRUPT_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__IS_ACTIVE = INTERRUPT_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__BASE_PROPERTY = INTERRUPT_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__BASE_INSTANCE_SPECIFICATION = INTERRUPT_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__BASE_CLASSIFIER = INTERRUPT_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__BASE_LIFELINE = INTERRUPT_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__BASE_CONNECTABLE_ELEMENT = INTERRUPT_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__IDENTIFIER_ELEMENTS = INTERRUPT_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__STATE_ELEMENTS = INTERRUPT_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__MEMORY_SIZE_FOOTPRINT = INTERRUPT_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__CREATE_SERVICES = INTERRUPT_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__DELETE_SERVICES = INTERRUPT_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__INITIALIZE_SERVICES = INTERRUPT_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__TYPE = INTERRUPT_RESOURCE__TYPE;
+
+ /**
+ * The feature id for the '<em><b>Activation Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__ACTIVATION_CAPACITY = INTERRUPT_RESOURCE__ACTIVATION_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Entry Points</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__ENTRY_POINTS = INTERRUPT_RESOURCE__ENTRY_POINTS;
+
+ /**
+ * The feature id for the '<em><b>Adress Space</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__ADRESS_SPACE = INTERRUPT_RESOURCE__ADRESS_SPACE;
+
+ /**
+ * The feature id for the '<em><b>Period Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__PERIOD_ELEMENTS = INTERRUPT_RESOURCE__PERIOD_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Priority Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__PRIORITY_ELEMENTS = INTERRUPT_RESOURCE__PRIORITY_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Stack Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__STACK_SIZE_ELEMENTS = INTERRUPT_RESOURCE__STACK_SIZE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Activate Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__ACTIVATE_SERVICES = INTERRUPT_RESOURCE__ACTIVATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Enable Concurrency Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__ENABLE_CONCURRENCY_SERVICES = INTERRUPT_RESOURCE__ENABLE_CONCURRENCY_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Resume Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__RESUME_SERVICES = INTERRUPT_RESOURCE__RESUME_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Suspend Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__SUSPEND_SERVICES = INTERRUPT_RESOURCE__SUSPEND_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Terminate Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__TERMINATE_SERVICES = INTERRUPT_RESOURCE__TERMINATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Disable Concurrency Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__DISABLE_CONCURRENCY_SERVICES = INTERRUPT_RESOURCE__DISABLE_CONCURRENCY_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Share Data Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__SHARE_DATA_RESOURCES = INTERRUPT_RESOURCE__SHARE_DATA_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Message Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__MESSAGE_RESOURCES = INTERRUPT_RESOURCE__MESSAGE_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Mutual Exclusion Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__MUTUAL_EXCLUSION_RESOURCES = INTERRUPT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Notification Resources</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__NOTIFICATION_RESOURCES = INTERRUPT_RESOURCE__NOTIFICATION_RESOURCES;
+
+ /**
+ * The feature id for the '<em><b>Heap Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__HEAP_SIZE_ELEMENTS = INTERRUPT_RESOURCE__HEAP_SIZE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__KIND = INTERRUPT_RESOURCE__KIND;
+
+ /**
+ * The feature id for the '<em><b>Is Maskable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__IS_MASKABLE = INTERRUPT_RESOURCE__IS_MASKABLE;
+
+ /**
+ * The feature id for the '<em><b>Vector Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__VECTOR_ELEMENTS = INTERRUPT_RESOURCE__VECTOR_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Mask Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__MASK_ELEMENTS = INTERRUPT_RESOURCE__MASK_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Routine Connect Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__ROUTINE_CONNECT_SERVICES = INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Routine Disconnect Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__ROUTINE_DISCONNECT_SERVICES = INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Is Watchdog</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__IS_WATCHDOG = INTERRUPT_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Timers</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM__TIMERS = INTERRUPT_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Alarm</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ALARM_FEATURE_COUNT = INTERRUPT_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind <em>Interrupt Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getInterruptKind()
+ * @generated
+ */
+ int INTERRUPT_KIND = 7;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint <em>Entry Point</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Entry Point</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint
+ * @generated
+ */
+ EClass getEntryPoint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint#isIsReentrant <em>Is Reentrant</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Reentrant</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint#isIsReentrant()
+ * @see #getEntryPoint()
+ * @generated
+ */
+ EAttribute getEntryPoint_IsReentrant();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint#getRoutine <em>Routine</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Routine</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint#getRoutine()
+ * @see #getEntryPoint()
+ * @generated
+ */
+ EReference getEntryPoint_Routine();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource <em>Sw Concurrent Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Concurrent Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource
+ * @generated
+ */
+ EClass getSwConcurrentResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getType()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EAttribute getSwConcurrentResource_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getActivationCapacity <em>Activation Capacity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Activation Capacity</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getActivationCapacity()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EAttribute getSwConcurrentResource_ActivationCapacity();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getEntryPoints <em>Entry Points</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Entry Points</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getEntryPoints()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_EntryPoints();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getAdressSpace <em>Adress Space</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Adress Space</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getAdressSpace()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_AdressSpace();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getPeriodElements <em>Period Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Period Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getPeriodElements()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_PeriodElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getPriorityElements <em>Priority Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Priority Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getPriorityElements()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_PriorityElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getStackSizeElements <em>Stack Size Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Stack Size Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getStackSizeElements()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_StackSizeElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getActivateServices <em>Activate Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Activate Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getActivateServices()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_ActivateServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getEnableConcurrencyServices <em>Enable Concurrency Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Enable Concurrency Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getEnableConcurrencyServices()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_EnableConcurrencyServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getResumeServices <em>Resume Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Resume Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getResumeServices()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_ResumeServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getSuspendServices <em>Suspend Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Suspend Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getSuspendServices()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_SuspendServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getTerminateServices <em>Terminate Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Terminate Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getTerminateServices()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_TerminateServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getDisableConcurrencyServices <em>Disable Concurrency Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Disable Concurrency Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getDisableConcurrencyServices()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_DisableConcurrencyServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getShareDataResources <em>Share Data Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Share Data Resources</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getShareDataResources()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_ShareDataResources();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getMessageResources <em>Message Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Message Resources</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getMessageResources()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_MessageResources();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getMutualExclusionResources <em>Mutual Exclusion Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mutual Exclusion Resources</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getMutualExclusionResources()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_MutualExclusionResources();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getNotificationResources <em>Notification Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Notification Resources</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getNotificationResources()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_NotificationResources();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getHeapSizeElements <em>Heap Size Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Heap Size Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getHeapSizeElements()
+ * @see #getSwConcurrentResource()
+ * @generated
+ */
+ EReference getSwConcurrentResource_HeapSizeElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource <em>Interrupt Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Interrupt Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource
+ * @generated
+ */
+ EClass getInterruptResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getKind()
+ * @see #getInterruptResource()
+ * @generated
+ */
+ EAttribute getInterruptResource_Kind();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#isIsMaskable <em>Is Maskable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Maskable</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#isIsMaskable()
+ * @see #getInterruptResource()
+ * @generated
+ */
+ EAttribute getInterruptResource_IsMaskable();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getVectorElements <em>Vector Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Vector Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getVectorElements()
+ * @see #getInterruptResource()
+ * @generated
+ */
+ EReference getInterruptResource_VectorElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getMaskElements <em>Mask Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mask Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getMaskElements()
+ * @see #getInterruptResource()
+ * @generated
+ */
+ EReference getInterruptResource_MaskElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getRoutineConnectServices <em>Routine Connect Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Routine Connect Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getRoutineConnectServices()
+ * @see #getInterruptResource()
+ * @generated
+ */
+ EReference getInterruptResource_RoutineConnectServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getRoutineDisconnectServices <em>Routine Disconnect Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Routine Disconnect Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource#getRoutineDisconnectServices()
+ * @see #getInterruptResource()
+ * @generated
+ */
+ EReference getInterruptResource_RoutineDisconnectServices();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource <em>Sw Schedulable Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Schedulable Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource
+ * @generated
+ */
+ EClass getSwSchedulableResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#isIsStaticSchedulingFeature <em>Is Static Scheduling Feature</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Static Scheduling Feature</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#isIsStaticSchedulingFeature()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EAttribute getSwSchedulableResource_IsStaticSchedulingFeature();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#isIsPreemptable <em>Is Preemptable</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Preemptable</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#isIsPreemptable()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EAttribute getSwSchedulableResource_IsPreemptable();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getSchedulers <em>Schedulers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Schedulers</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getSchedulers()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EReference getSwSchedulableResource_Schedulers();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDeadlineElements <em>Deadline Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Deadline Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDeadlineElements()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EReference getSwSchedulableResource_DeadlineElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDeadlineTypeElements <em>Deadline Type Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Deadline Type Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDeadlineTypeElements()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EReference getSwSchedulableResource_DeadlineTypeElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getTimeSliceElements <em>Time Slice Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Time Slice Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getTimeSliceElements()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EReference getSwSchedulableResource_TimeSliceElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDelayServices <em>Delay Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Delay Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDelayServices()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EReference getSwSchedulableResource_DelayServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getJoinServices <em>Join Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Join Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getJoinServices()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EReference getSwSchedulableResource_JoinServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getYieldServices <em>Yield Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Yield Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getYieldServices()
+ * @see #getSwSchedulableResource()
+ * @generated
+ */
+ EReference getSwSchedulableResource_YieldServices();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource <em>Sw Timer Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Timer Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource
+ * @generated
+ */
+ EClass getSwTimerResource();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource#getDurationElements <em>Duration Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Duration Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource#getDurationElements()
+ * @see #getSwTimerResource()
+ * @generated
+ */
+ EReference getSwTimerResource_DurationElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition <em>Memory Partition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Memory Partition</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition
+ * @generated
+ */
+ EClass getMemoryPartition();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getConcurrentResources <em>Concurrent Resources</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Concurrent Resources</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getConcurrentResources()
+ * @see #getMemoryPartition()
+ * @generated
+ */
+ EReference getMemoryPartition_ConcurrentResources();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getMemorySpaces <em>Memory Spaces</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Memory Spaces</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getMemorySpaces()
+ * @see #getMemoryPartition()
+ * @generated
+ */
+ EReference getMemoryPartition_MemorySpaces();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getFork <em>Fork</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Fork</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getFork()
+ * @see #getMemoryPartition()
+ * @generated
+ */
+ EReference getMemoryPartition_Fork();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getExit <em>Exit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Exit</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getExit()
+ * @see #getMemoryPartition()
+ * @generated
+ */
+ EReference getMemoryPartition_Exit();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getBase_Namespace <em>Base Namespace</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Namespace</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition#getBase_Namespace()
+ * @see #getMemoryPartition()
+ * @generated
+ */
+ EReference getMemoryPartition_Base_Namespace();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm <em>Alarm</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Alarm</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm
+ * @generated
+ */
+ EClass getAlarm();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm#isIsWatchdog <em>Is Watchdog</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Watchdog</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm#isIsWatchdog()
+ * @see #getAlarm()
+ * @generated
+ */
+ EAttribute getAlarm_IsWatchdog();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm#getTimers <em>Timers</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Timers</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm#getTimers()
+ * @see #getAlarm()
+ * @generated
+ */
+ EReference getAlarm_Timers();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind <em>Interrupt Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Interrupt Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind
+ * @generated
+ */
+ EEnum getInterruptKind();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ SW_ConcurrencyFactory getSW_ConcurrencyFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.EntryPointImpl <em>Entry Point</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.EntryPointImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getEntryPoint()
+ * @generated
+ */
+ EClass ENTRY_POINT = eINSTANCE.getEntryPoint();
+
+ /**
+ * The meta object literal for the '<em><b>Is Reentrant</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ENTRY_POINT__IS_REENTRANT = eINSTANCE.getEntryPoint_IsReentrant();
+
+ /**
+ * The meta object literal for the '<em><b>Routine</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ENTRY_POINT__ROUTINE = eINSTANCE.getEntryPoint_Routine();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl <em>Sw Concurrent Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getSwConcurrentResource()
+ * @generated
+ */
+ EClass SW_CONCURRENT_RESOURCE = eINSTANCE.getSwConcurrentResource();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_CONCURRENT_RESOURCE__TYPE = eINSTANCE.getSwConcurrentResource_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Activation Capacity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY = eINSTANCE.getSwConcurrentResource_ActivationCapacity();
+
+ /**
+ * The meta object literal for the '<em><b>Entry Points</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__ENTRY_POINTS = eINSTANCE.getSwConcurrentResource_EntryPoints();
+
+ /**
+ * The meta object literal for the '<em><b>Adress Space</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__ADRESS_SPACE = eINSTANCE.getSwConcurrentResource_AdressSpace();
+
+ /**
+ * The meta object literal for the '<em><b>Period Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS = eINSTANCE.getSwConcurrentResource_PeriodElements();
+
+ /**
+ * The meta object literal for the '<em><b>Priority Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS = eINSTANCE.getSwConcurrentResource_PriorityElements();
+
+ /**
+ * The meta object literal for the '<em><b>Stack Size Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS = eINSTANCE.getSwConcurrentResource_StackSizeElements();
+
+ /**
+ * The meta object literal for the '<em><b>Activate Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES = eINSTANCE.getSwConcurrentResource_ActivateServices();
+
+ /**
+ * The meta object literal for the '<em><b>Enable Concurrency Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES = eINSTANCE.getSwConcurrentResource_EnableConcurrencyServices();
+
+ /**
+ * The meta object literal for the '<em><b>Resume Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__RESUME_SERVICES = eINSTANCE.getSwConcurrentResource_ResumeServices();
+
+ /**
+ * The meta object literal for the '<em><b>Suspend Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES = eINSTANCE.getSwConcurrentResource_SuspendServices();
+
+ /**
+ * The meta object literal for the '<em><b>Terminate Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES = eINSTANCE.getSwConcurrentResource_TerminateServices();
+
+ /**
+ * The meta object literal for the '<em><b>Disable Concurrency Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES = eINSTANCE.getSwConcurrentResource_DisableConcurrencyServices();
+
+ /**
+ * The meta object literal for the '<em><b>Share Data Resources</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES = eINSTANCE.getSwConcurrentResource_ShareDataResources();
+
+ /**
+ * The meta object literal for the '<em><b>Message Resources</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES = eINSTANCE.getSwConcurrentResource_MessageResources();
+
+ /**
+ * The meta object literal for the '<em><b>Mutual Exclusion Resources</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES = eINSTANCE.getSwConcurrentResource_MutualExclusionResources();
+
+ /**
+ * The meta object literal for the '<em><b>Notification Resources</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES = eINSTANCE.getSwConcurrentResource_NotificationResources();
+
+ /**
+ * The meta object literal for the '<em><b>Heap Size Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS = eINSTANCE.getSwConcurrentResource_HeapSizeElements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl <em>Interrupt Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getInterruptResource()
+ * @generated
+ */
+ EClass INTERRUPT_RESOURCE = eINSTANCE.getInterruptResource();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INTERRUPT_RESOURCE__KIND = eINSTANCE.getInterruptResource_Kind();
+
+ /**
+ * The meta object literal for the '<em><b>Is Maskable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute INTERRUPT_RESOURCE__IS_MASKABLE = eINSTANCE.getInterruptResource_IsMaskable();
+
+ /**
+ * The meta object literal for the '<em><b>Vector Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERRUPT_RESOURCE__VECTOR_ELEMENTS = eINSTANCE.getInterruptResource_VectorElements();
+
+ /**
+ * The meta object literal for the '<em><b>Mask Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERRUPT_RESOURCE__MASK_ELEMENTS = eINSTANCE.getInterruptResource_MaskElements();
+
+ /**
+ * The meta object literal for the '<em><b>Routine Connect Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES = eINSTANCE.getInterruptResource_RoutineConnectServices();
+
+ /**
+ * The meta object literal for the '<em><b>Routine Disconnect Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES = eINSTANCE.getInterruptResource_RoutineDisconnectServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl <em>Sw Schedulable Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getSwSchedulableResource()
+ * @generated
+ */
+ EClass SW_SCHEDULABLE_RESOURCE = eINSTANCE.getSwSchedulableResource();
+
+ /**
+ * The meta object literal for the '<em><b>Is Static Scheduling Feature</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_SCHEDULABLE_RESOURCE__IS_STATIC_SCHEDULING_FEATURE = eINSTANCE.getSwSchedulableResource_IsStaticSchedulingFeature();
+
+ /**
+ * The meta object literal for the '<em><b>Is Preemptable</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_SCHEDULABLE_RESOURCE__IS_PREEMPTABLE = eINSTANCE.getSwSchedulableResource_IsPreemptable();
+
+ /**
+ * The meta object literal for the '<em><b>Schedulers</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_SCHEDULABLE_RESOURCE__SCHEDULERS = eINSTANCE.getSwSchedulableResource_Schedulers();
+
+ /**
+ * The meta object literal for the '<em><b>Deadline Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_SCHEDULABLE_RESOURCE__DEADLINE_ELEMENTS = eINSTANCE.getSwSchedulableResource_DeadlineElements();
+
+ /**
+ * The meta object literal for the '<em><b>Deadline Type Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_SCHEDULABLE_RESOURCE__DEADLINE_TYPE_ELEMENTS = eINSTANCE.getSwSchedulableResource_DeadlineTypeElements();
+
+ /**
+ * The meta object literal for the '<em><b>Time Slice Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_SCHEDULABLE_RESOURCE__TIME_SLICE_ELEMENTS = eINSTANCE.getSwSchedulableResource_TimeSliceElements();
+
+ /**
+ * The meta object literal for the '<em><b>Delay Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_SCHEDULABLE_RESOURCE__DELAY_SERVICES = eINSTANCE.getSwSchedulableResource_DelayServices();
+
+ /**
+ * The meta object literal for the '<em><b>Join Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_SCHEDULABLE_RESOURCE__JOIN_SERVICES = eINSTANCE.getSwSchedulableResource_JoinServices();
+
+ /**
+ * The meta object literal for the '<em><b>Yield Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_SCHEDULABLE_RESOURCE__YIELD_SERVICES = eINSTANCE.getSwSchedulableResource_YieldServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwTimerResourceImpl <em>Sw Timer Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwTimerResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getSwTimerResource()
+ * @generated
+ */
+ EClass SW_TIMER_RESOURCE = eINSTANCE.getSwTimerResource();
+
+ /**
+ * The meta object literal for the '<em><b>Duration Elements</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_TIMER_RESOURCE__DURATION_ELEMENTS = eINSTANCE.getSwTimerResource_DurationElements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl <em>Memory Partition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getMemoryPartition()
+ * @generated
+ */
+ EClass MEMORY_PARTITION = eINSTANCE.getMemoryPartition();
+
+ /**
+ * The meta object literal for the '<em><b>Concurrent Resources</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_PARTITION__CONCURRENT_RESOURCES = eINSTANCE.getMemoryPartition_ConcurrentResources();
+
+ /**
+ * The meta object literal for the '<em><b>Memory Spaces</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_PARTITION__MEMORY_SPACES = eINSTANCE.getMemoryPartition_MemorySpaces();
+
+ /**
+ * The meta object literal for the '<em><b>Fork</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_PARTITION__FORK = eINSTANCE.getMemoryPartition_Fork();
+
+ /**
+ * The meta object literal for the '<em><b>Exit</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_PARTITION__EXIT = eINSTANCE.getMemoryPartition_Exit();
+
+ /**
+ * The meta object literal for the '<em><b>Base Namespace</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEMORY_PARTITION__BASE_NAMESPACE = eINSTANCE.getMemoryPartition_Base_Namespace();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.AlarmImpl <em>Alarm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.AlarmImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getAlarm()
+ * @generated
+ */
+ EClass ALARM = eINSTANCE.getAlarm();
+
+ /**
+ * The meta object literal for the '<em><b>Is Watchdog</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ALARM__IS_WATCHDOG = eINSTANCE.getAlarm_IsWatchdog();
+
+ /**
+ * The meta object literal for the '<em><b>Timers</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ALARM__TIMERS = eINSTANCE.getAlarm_Timers();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind <em>Interrupt Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl#getInterruptKind()
+ * @generated
+ */
+ EEnum INTERRUPT_KIND = eINSTANCE.getInterruptKind();
+
+ }
+
+} //SW_ConcurrencyPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource.java
new file mode 100644
index 00000000000..2edc971ad49
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwConcurrentResource.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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Concurrent Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getActivationCapacity <em>Activation Capacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getEntryPoints <em>Entry Points</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getAdressSpace <em>Adress Space</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getPeriodElements <em>Period Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getPriorityElements <em>Priority Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getStackSizeElements <em>Stack Size Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getActivateServices <em>Activate Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getEnableConcurrencyServices <em>Enable Concurrency Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getResumeServices <em>Resume Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getSuspendServices <em>Suspend Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getTerminateServices <em>Terminate Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getDisableConcurrencyServices <em>Disable Concurrency Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getShareDataResources <em>Share Data Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getMessageResources <em>Message Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getMutualExclusionResources <em>Mutual Exclusion Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getNotificationResources <em>Notification Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getHeapSizeElements <em>Heap Size Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SwConcurrentResource extends SwResource {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_Type()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.BasicNFP_Types.ArrivalPattern" ordered="false"
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Activation Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Activation Capacity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Activation Capacity</em>' attribute.
+ * @see #setActivationCapacity(int)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_ActivationCapacity()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Integer" ordered="false"
+ * @generated
+ */
+ int getActivationCapacity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource#getActivationCapacity <em>Activation Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Activation Capacity</em>' attribute.
+ * @see #getActivationCapacity()
+ * @generated
+ */
+ void setActivationCapacity(int value);
+
+ /**
+ * Returns the value of the '<em><b>Entry Points</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.Element}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Entry Points</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Entry Points</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_EntryPoints()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Element> getEntryPoints();
+
+ /**
+ * Returns the value of the '<em><b>Adress Space</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Adress Space</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Adress Space</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_AdressSpace()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getAdressSpace();
+
+ /**
+ * Returns the value of the '<em><b>Period Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Period Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Period Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_PeriodElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getPeriodElements();
+
+ /**
+ * Returns the value of the '<em><b>Priority Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Priority Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Priority Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_PriorityElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getPriorityElements();
+
+ /**
+ * Returns the value of the '<em><b>Stack Size Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Stack Size Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Stack Size Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_StackSizeElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getStackSizeElements();
+
+ /**
+ * Returns the value of the '<em><b>Activate Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Activate Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Activate Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_ActivateServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getActivateServices();
+
+ /**
+ * Returns the value of the '<em><b>Enable Concurrency Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Enable Concurrency Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Enable Concurrency Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_EnableConcurrencyServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getEnableConcurrencyServices();
+
+ /**
+ * Returns the value of the '<em><b>Resume Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Resume Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Resume Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_ResumeServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getResumeServices();
+
+ /**
+ * Returns the value of the '<em><b>Suspend Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Suspend Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Suspend Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_SuspendServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getSuspendServices();
+
+ /**
+ * Returns the value of the '<em><b>Terminate Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Terminate Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Terminate Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_TerminateServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getTerminateServices();
+
+ /**
+ * Returns the value of the '<em><b>Disable Concurrency Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Disable Concurrency Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Disable Concurrency Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_DisableConcurrencyServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getDisableConcurrencyServices();
+
+ /**
+ * Returns the value of the '<em><b>Share Data Resources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Share Data Resources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Share Data Resources</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_ShareDataResources()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getShareDataResources();
+
+ /**
+ * Returns the value of the '<em><b>Message Resources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Resources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Resources</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_MessageResources()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMessageResources();
+
+ /**
+ * Returns the value of the '<em><b>Mutual Exclusion Resources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mutual Exclusion Resources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mutual Exclusion Resources</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_MutualExclusionResources()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMutualExclusionResources();
+
+ /**
+ * Returns the value of the '<em><b>Notification Resources</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Notification Resources</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Notification Resources</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_NotificationResources()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getNotificationResources();
+
+ /**
+ * Returns the value of the '<em><b>Heap Size Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Heap Size Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Heap Size Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwConcurrentResource_HeapSizeElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getHeapSizeElements();
+
+} // SwConcurrentResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource.java
new file mode 100644
index 00000000000..a478b8b6e8c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwSchedulableResource.java
@@ -0,0 +1,223 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Schedulable Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#isIsStaticSchedulingFeature <em>Is Static Scheduling Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#isIsPreemptable <em>Is Preemptable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getSchedulers <em>Schedulers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDeadlineElements <em>Deadline Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDeadlineTypeElements <em>Deadline Type Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getTimeSliceElements <em>Time Slice Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getDelayServices <em>Delay Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getJoinServices <em>Join Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getYieldServices <em>Yield Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource()
+ * @model
+ * @generated
+ */
+public interface SwSchedulableResource extends SwConcurrentResource, SchedulableResource {
+ /**
+ * Returns the value of the '<em><b>Is Static Scheduling Feature</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Static Scheduling Feature</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Static Scheduling Feature</em>' attribute.
+ * @see #setIsStaticSchedulingFeature(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_IsStaticSchedulingFeature()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsStaticSchedulingFeature();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#isIsStaticSchedulingFeature <em>Is Static Scheduling Feature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Static Scheduling Feature</em>' attribute.
+ * @see #isIsStaticSchedulingFeature()
+ * @generated
+ */
+ void setIsStaticSchedulingFeature(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Preemptable</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Preemptable</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Preemptable</em>' attribute.
+ * @see #setIsPreemptable(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_IsPreemptable()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsPreemptable();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#isIsPreemptable <em>Is Preemptable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Preemptable</em>' attribute.
+ * @see #isIsPreemptable()
+ * @generated
+ */
+ void setIsPreemptable(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Schedulers</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Schedulers</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Schedulers</em>' reference.
+ * @see #setSchedulers(NamedElement)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_Schedulers()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getSchedulers();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource#getSchedulers <em>Schedulers</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Schedulers</em>' reference.
+ * @see #getSchedulers()
+ * @generated
+ */
+ void setSchedulers(NamedElement value);
+
+ /**
+ * Returns the value of the '<em><b>Deadline Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Deadline Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Deadline Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_DeadlineElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getDeadlineElements();
+
+ /**
+ * Returns the value of the '<em><b>Deadline Type Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Deadline Type Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Deadline Type Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_DeadlineTypeElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getDeadlineTypeElements();
+
+ /**
+ * Returns the value of the '<em><b>Time Slice Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Time Slice Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Time Slice Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_TimeSliceElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getTimeSliceElements();
+
+ /**
+ * Returns the value of the '<em><b>Delay Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Delay Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Delay Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_DelayServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getDelayServices();
+
+ /**
+ * Returns the value of the '<em><b>Join Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Join Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Join Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_JoinServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getJoinServices();
+
+ /**
+ * Returns the value of the '<em><b>Yield Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Yield Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Yield Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwSchedulableResource_YieldServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getYieldServices();
+
+} // SwSchedulableResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwTimerResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwTimerResource.java
new file mode 100644
index 00000000000..3e03d19d88c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/SwTimerResource.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimerResource;
+
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Timer Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource#getDurationElements <em>Duration Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwTimerResource()
+ * @model
+ * @generated
+ */
+public interface SwTimerResource extends TimerResource {
+ /**
+ * Returns the value of the '<em><b>Duration Elements</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Duration Elements</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Duration Elements</em>' reference.
+ * @see #setDurationElements(TypedElement)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#getSwTimerResource_DurationElements()
+ * @model ordered="false"
+ * @generated
+ */
+ TypedElement getDurationElements();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource#getDurationElements <em>Duration Elements</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Duration Elements</em>' reference.
+ * @see #getDurationElements()
+ * @generated
+ */
+ void setDurationElements(TypedElement value);
+
+} // SwTimerResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/AlarmImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/AlarmImpl.java
new file mode 100644
index 00000000000..760a26049fd
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/AlarmImpl.java
@@ -0,0 +1,216 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.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.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Alarm</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.AlarmImpl#isIsWatchdog <em>Is Watchdog</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.AlarmImpl#getTimers <em>Timers</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AlarmImpl extends InterruptResourceImpl implements Alarm {
+ /**
+ * The default value of the '{@link #isIsWatchdog() <em>Is Watchdog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsWatchdog()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_WATCHDOG_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsWatchdog() <em>Is Watchdog</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsWatchdog()
+ * @generated
+ * @ordered
+ */
+ protected boolean isWatchdog = IS_WATCHDOG_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getTimers() <em>Timers</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimers()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> timers;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AlarmImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ConcurrencyPackage.Literals.ALARM;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsWatchdog() {
+ return isWatchdog;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsWatchdog(boolean newIsWatchdog) {
+ boolean oldIsWatchdog = isWatchdog;
+ isWatchdog = newIsWatchdog;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.ALARM__IS_WATCHDOG, oldIsWatchdog, isWatchdog));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getTimers() {
+ if (timers == null) {
+ timers = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.ALARM__TIMERS);
+ }
+ return timers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.ALARM__IS_WATCHDOG:
+ return isIsWatchdog();
+ case SW_ConcurrencyPackage.ALARM__TIMERS:
+ return getTimers();
+ }
+ 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 SW_ConcurrencyPackage.ALARM__IS_WATCHDOG:
+ setIsWatchdog((Boolean)newValue);
+ return;
+ case SW_ConcurrencyPackage.ALARM__TIMERS:
+ getTimers().clear();
+ getTimers().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.ALARM__IS_WATCHDOG:
+ setIsWatchdog(IS_WATCHDOG_EDEFAULT);
+ return;
+ case SW_ConcurrencyPackage.ALARM__TIMERS:
+ getTimers().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.ALARM__IS_WATCHDOG:
+ return isWatchdog != IS_WATCHDOG_EDEFAULT;
+ case SW_ConcurrencyPackage.ALARM__TIMERS:
+ return timers != null && !timers.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(" (isWatchdog: ");
+ result.append(isWatchdog);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AlarmImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/EntryPointImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/EntryPointImpl.java
new file mode 100644
index 00000000000..6ef402e3c61
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/EntryPointImpl.java
@@ -0,0 +1,238 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.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_DesignModel.SRM.SW_Concurrency.EntryPoint;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocateImpl;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Entry Point</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.EntryPointImpl#isIsReentrant <em>Is Reentrant</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.EntryPointImpl#getRoutine <em>Routine</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EntryPointImpl extends AllocateImpl implements EntryPoint {
+ /**
+ * The default value of the '{@link #isIsReentrant() <em>Is Reentrant</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsReentrant()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_REENTRANT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsReentrant() <em>Is Reentrant</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsReentrant()
+ * @generated
+ * @ordered
+ */
+ protected boolean isReentrant = IS_REENTRANT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRoutine() <em>Routine</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoutine()
+ * @generated
+ * @ordered
+ */
+ protected BehavioralFeature routine;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EntryPointImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ConcurrencyPackage.Literals.ENTRY_POINT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsReentrant() {
+ return isReentrant;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsReentrant(boolean newIsReentrant) {
+ boolean oldIsReentrant = isReentrant;
+ isReentrant = newIsReentrant;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.ENTRY_POINT__IS_REENTRANT, oldIsReentrant, isReentrant));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature getRoutine() {
+ if (routine != null && routine.eIsProxy()) {
+ InternalEObject oldRoutine = (InternalEObject)routine;
+ routine = (BehavioralFeature)eResolveProxy(oldRoutine);
+ if (routine != oldRoutine) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SW_ConcurrencyPackage.ENTRY_POINT__ROUTINE, oldRoutine, routine));
+ }
+ }
+ return routine;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BehavioralFeature basicGetRoutine() {
+ return routine;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRoutine(BehavioralFeature newRoutine) {
+ BehavioralFeature oldRoutine = routine;
+ routine = newRoutine;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.ENTRY_POINT__ROUTINE, oldRoutine, routine));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.ENTRY_POINT__IS_REENTRANT:
+ return isIsReentrant();
+ case SW_ConcurrencyPackage.ENTRY_POINT__ROUTINE:
+ if (resolve) return getRoutine();
+ return basicGetRoutine();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.ENTRY_POINT__IS_REENTRANT:
+ setIsReentrant((Boolean)newValue);
+ return;
+ case SW_ConcurrencyPackage.ENTRY_POINT__ROUTINE:
+ setRoutine((BehavioralFeature)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.ENTRY_POINT__IS_REENTRANT:
+ setIsReentrant(IS_REENTRANT_EDEFAULT);
+ return;
+ case SW_ConcurrencyPackage.ENTRY_POINT__ROUTINE:
+ setRoutine((BehavioralFeature)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.ENTRY_POINT__IS_REENTRANT:
+ return isReentrant != IS_REENTRANT_EDEFAULT;
+ case SW_ConcurrencyPackage.ENTRY_POINT__ROUTINE:
+ return routine != 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(" (isReentrant: ");
+ result.append(isReentrant);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EntryPointImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/InterruptResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/InterruptResourceImpl.java
new file mode 100644
index 00000000000..a5e443c59a8
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/InterruptResourceImpl.java
@@ -0,0 +1,374 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.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.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interrupt Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl#getKind <em>Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl#isIsMaskable <em>Is Maskable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl#getVectorElements <em>Vector Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl#getMaskElements <em>Mask Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl#getRoutineConnectServices <em>Routine Connect Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.InterruptResourceImpl#getRoutineDisconnectServices <em>Routine Disconnect Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class InterruptResourceImpl extends SwConcurrentResourceImpl implements InterruptResource {
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final InterruptKind KIND_EDEFAULT = InterruptKind.HARDWARE_INTERRUPTION;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected InterruptKind kind = KIND_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsMaskable() <em>Is Maskable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMaskable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_MASKABLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsMaskable() <em>Is Maskable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMaskable()
+ * @generated
+ * @ordered
+ */
+ protected boolean isMaskable = IS_MASKABLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getVectorElements() <em>Vector Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getVectorElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> vectorElements;
+
+ /**
+ * The cached value of the '{@link #getMaskElements() <em>Mask Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaskElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> maskElements;
+
+ /**
+ * The cached value of the '{@link #getRoutineConnectServices() <em>Routine Connect Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoutineConnectServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> routineConnectServices;
+
+ /**
+ * The cached value of the '{@link #getRoutineDisconnectServices() <em>Routine Disconnect Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRoutineDisconnectServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> routineDisconnectServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected InterruptResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ConcurrencyPackage.Literals.INTERRUPT_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptKind getKind() {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(InterruptKind newKind) {
+ InterruptKind oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.INTERRUPT_RESOURCE__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsMaskable() {
+ return isMaskable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsMaskable(boolean newIsMaskable) {
+ boolean oldIsMaskable = isMaskable;
+ isMaskable = newIsMaskable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.INTERRUPT_RESOURCE__IS_MASKABLE, oldIsMaskable, isMaskable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getVectorElements() {
+ if (vectorElements == null) {
+ vectorElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.INTERRUPT_RESOURCE__VECTOR_ELEMENTS);
+ }
+ return vectorElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMaskElements() {
+ if (maskElements == null) {
+ maskElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.INTERRUPT_RESOURCE__MASK_ELEMENTS);
+ }
+ return maskElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getRoutineConnectServices() {
+ if (routineConnectServices == null) {
+ routineConnectServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES);
+ }
+ return routineConnectServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getRoutineDisconnectServices() {
+ if (routineDisconnectServices == null) {
+ routineDisconnectServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES);
+ }
+ return routineDisconnectServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__KIND:
+ return getKind();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__IS_MASKABLE:
+ return isIsMaskable();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__VECTOR_ELEMENTS:
+ return getVectorElements();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__MASK_ELEMENTS:
+ return getMaskElements();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES:
+ return getRoutineConnectServices();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES:
+ return getRoutineDisconnectServices();
+ }
+ 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 SW_ConcurrencyPackage.INTERRUPT_RESOURCE__KIND:
+ setKind((InterruptKind)newValue);
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__IS_MASKABLE:
+ setIsMaskable((Boolean)newValue);
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__VECTOR_ELEMENTS:
+ getVectorElements().clear();
+ getVectorElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__MASK_ELEMENTS:
+ getMaskElements().clear();
+ getMaskElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES:
+ getRoutineConnectServices().clear();
+ getRoutineConnectServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES:
+ getRoutineDisconnectServices().clear();
+ getRoutineDisconnectServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__IS_MASKABLE:
+ setIsMaskable(IS_MASKABLE_EDEFAULT);
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__VECTOR_ELEMENTS:
+ getVectorElements().clear();
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__MASK_ELEMENTS:
+ getMaskElements().clear();
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES:
+ getRoutineConnectServices().clear();
+ return;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES:
+ getRoutineDisconnectServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__KIND:
+ return kind != KIND_EDEFAULT;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__IS_MASKABLE:
+ return isMaskable != IS_MASKABLE_EDEFAULT;
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__VECTOR_ELEMENTS:
+ return vectorElements != null && !vectorElements.isEmpty();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__MASK_ELEMENTS:
+ return maskElements != null && !maskElements.isEmpty();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES:
+ return routineConnectServices != null && !routineConnectServices.isEmpty();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES:
+ return routineDisconnectServices != null && !routineDisconnectServices.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(" (kind: ");
+ result.append(kind);
+ result.append(", isMaskable: ");
+ result.append(isMaskable);
+ result.append(')');
+ return result.toString();
+ }
+
+} //InterruptResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/MemoryPartitionImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/MemoryPartitionImpl.java
new file mode 100644
index 00000000000..aa7f968c3bd
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/MemoryPartitionImpl.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_DesignModel.SRM.SW_Concurrency.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.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Namespace;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Memory Partition</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl#getConcurrentResources <em>Concurrent Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl#getMemorySpaces <em>Memory Spaces</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl#getFork <em>Fork</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl#getExit <em>Exit</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.MemoryPartitionImpl#getBase_Namespace <em>Base Namespace</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MemoryPartitionImpl extends SwResourceImpl implements MemoryPartition {
+ /**
+ * The cached value of the '{@link #getConcurrentResources() <em>Concurrent Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConcurrentResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> concurrentResources;
+
+ /**
+ * The cached value of the '{@link #getMemorySpaces() <em>Memory Spaces</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemorySpaces()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> memorySpaces;
+
+ /**
+ * The cached value of the '{@link #getFork() <em>Fork</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFork()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> fork;
+
+ /**
+ * The cached value of the '{@link #getExit() <em>Exit</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExit()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> exit;
+
+ /**
+ * The cached value of the '{@link #getBase_Namespace() <em>Base Namespace</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Namespace()
+ * @generated
+ * @ordered
+ */
+ protected Namespace base_Namespace;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MemoryPartitionImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ConcurrencyPackage.Literals.MEMORY_PARTITION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getConcurrentResources() {
+ if (concurrentResources == null) {
+ concurrentResources = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.MEMORY_PARTITION__CONCURRENT_RESOURCES);
+ }
+ return concurrentResources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMemorySpaces() {
+ if (memorySpaces == null) {
+ memorySpaces = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.MEMORY_PARTITION__MEMORY_SPACES);
+ }
+ return memorySpaces;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getFork() {
+ if (fork == null) {
+ fork = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.MEMORY_PARTITION__FORK);
+ }
+ return fork;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getExit() {
+ if (exit == null) {
+ exit = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.MEMORY_PARTITION__EXIT);
+ }
+ return exit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace getBase_Namespace() {
+ if (base_Namespace != null && base_Namespace.eIsProxy()) {
+ InternalEObject oldBase_Namespace = (InternalEObject)base_Namespace;
+ base_Namespace = (Namespace)eResolveProxy(oldBase_Namespace);
+ if (base_Namespace != oldBase_Namespace) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SW_ConcurrencyPackage.MEMORY_PARTITION__BASE_NAMESPACE, oldBase_Namespace, base_Namespace));
+ }
+ }
+ return base_Namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Namespace basicGetBase_Namespace() {
+ return base_Namespace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Namespace(Namespace newBase_Namespace) {
+ Namespace oldBase_Namespace = base_Namespace;
+ base_Namespace = newBase_Namespace;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.MEMORY_PARTITION__BASE_NAMESPACE, oldBase_Namespace, base_Namespace));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__CONCURRENT_RESOURCES:
+ return getConcurrentResources();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__MEMORY_SPACES:
+ return getMemorySpaces();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__FORK:
+ return getFork();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__EXIT:
+ return getExit();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__BASE_NAMESPACE:
+ if (resolve) return getBase_Namespace();
+ return basicGetBase_Namespace();
+ }
+ 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 SW_ConcurrencyPackage.MEMORY_PARTITION__CONCURRENT_RESOURCES:
+ getConcurrentResources().clear();
+ getConcurrentResources().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__MEMORY_SPACES:
+ getMemorySpaces().clear();
+ getMemorySpaces().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__FORK:
+ getFork().clear();
+ getFork().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__EXIT:
+ getExit().clear();
+ getExit().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__BASE_NAMESPACE:
+ setBase_Namespace((Namespace)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__CONCURRENT_RESOURCES:
+ getConcurrentResources().clear();
+ return;
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__MEMORY_SPACES:
+ getMemorySpaces().clear();
+ return;
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__FORK:
+ getFork().clear();
+ return;
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__EXIT:
+ getExit().clear();
+ return;
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__BASE_NAMESPACE:
+ setBase_Namespace((Namespace)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__CONCURRENT_RESOURCES:
+ return concurrentResources != null && !concurrentResources.isEmpty();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__MEMORY_SPACES:
+ return memorySpaces != null && !memorySpaces.isEmpty();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__FORK:
+ return fork != null && !fork.isEmpty();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__EXIT:
+ return exit != null && !exit.isEmpty();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION__BASE_NAMESPACE:
+ return base_Namespace != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MemoryPartitionImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SW_ConcurrencyFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SW_ConcurrencyFactoryImpl.java
new file mode 100644
index 00000000000..dcfab1e6bc9
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SW_ConcurrencyFactoryImpl.java
@@ -0,0 +1,212 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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_DesignModel.SRM.SW_Concurrency.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SW_ConcurrencyFactoryImpl extends EFactoryImpl implements SW_ConcurrencyFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SW_ConcurrencyFactory init() {
+ try {
+ SW_ConcurrencyFactory theSW_ConcurrencyFactory = (SW_ConcurrencyFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/SW_Concurrency/1");
+ if (theSW_ConcurrencyFactory != null) {
+ return theSW_ConcurrencyFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SW_ConcurrencyFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ConcurrencyFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SW_ConcurrencyPackage.ENTRY_POINT: return createEntryPoint();
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE: return createInterruptResource();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE: return createSwSchedulableResource();
+ case SW_ConcurrencyPackage.SW_TIMER_RESOURCE: return createSwTimerResource();
+ case SW_ConcurrencyPackage.MEMORY_PARTITION: return createMemoryPartition();
+ case SW_ConcurrencyPackage.ALARM: return createAlarm();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case SW_ConcurrencyPackage.INTERRUPT_KIND:
+ return createInterruptKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case SW_ConcurrencyPackage.INTERRUPT_KIND:
+ return convertInterruptKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EntryPoint createEntryPoint() {
+ EntryPointImpl entryPoint = new EntryPointImpl();
+ return entryPoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptResource createInterruptResource() {
+ InterruptResourceImpl interruptResource = new InterruptResourceImpl();
+ return interruptResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SwSchedulableResource createSwSchedulableResource() {
+ SwSchedulableResourceImpl swSchedulableResource = new SwSchedulableResourceImpl();
+ return swSchedulableResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SwTimerResource createSwTimerResource() {
+ SwTimerResourceImpl swTimerResource = new SwTimerResourceImpl();
+ return swTimerResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MemoryPartition createMemoryPartition() {
+ MemoryPartitionImpl memoryPartition = new MemoryPartitionImpl();
+ return memoryPartition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Alarm createAlarm() {
+ AlarmImpl alarm = new AlarmImpl();
+ return alarm;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public InterruptKind createInterruptKindFromString(EDataType eDataType, String initialValue) {
+ InterruptKind result = InterruptKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertInterruptKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ConcurrencyPackage getSW_ConcurrencyPackage() {
+ return (SW_ConcurrencyPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SW_ConcurrencyPackage getPackage() {
+ return SW_ConcurrencyPackage.eINSTANCE;
+ }
+
+} //SW_ConcurrencyFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SW_ConcurrencyPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SW_ConcurrencyPackageImpl.java
new file mode 100644
index 00000000000..8ceaaeaa2d5
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SW_ConcurrencyPackageImpl.java
@@ -0,0 +1,1093 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.impl;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+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.Alarm;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource;
+
+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.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+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 SW_ConcurrencyPackageImpl extends EPackageImpl implements SW_ConcurrencyPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass entryPointEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swConcurrentResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass interruptResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swSchedulableResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swTimerResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass memoryPartitionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass alarmEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum interruptKindEEnum = 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_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SW_ConcurrencyPackageImpl() {
+ super(eNS_URI, SW_ConcurrencyFactory.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 SW_ConcurrencyPackage#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 SW_ConcurrencyPackage init() {
+ if (isInited) return (SW_ConcurrencyPackage)EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SW_ConcurrencyPackageImpl());
+
+ 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);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.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_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
+ theSW_ConcurrencyPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.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_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
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.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_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
+ theSW_ConcurrencyPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SW_ConcurrencyPackage.eNS_URI, theSW_ConcurrencyPackage);
+ return theSW_ConcurrencyPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEntryPoint() {
+ return entryPointEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEntryPoint_IsReentrant() {
+ return (EAttribute)entryPointEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEntryPoint_Routine() {
+ return (EReference)entryPointEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwConcurrentResource() {
+ return swConcurrentResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwConcurrentResource_Type() {
+ return (EAttribute)swConcurrentResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwConcurrentResource_ActivationCapacity() {
+ return (EAttribute)swConcurrentResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_EntryPoints() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_AdressSpace() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_PeriodElements() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_PriorityElements() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_StackSizeElements() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_ActivateServices() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_EnableConcurrencyServices() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_ResumeServices() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_SuspendServices() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_TerminateServices() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_DisableConcurrencyServices() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_ShareDataResources() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_MessageResources() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(14);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_MutualExclusionResources() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(15);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_NotificationResources() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(16);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwConcurrentResource_HeapSizeElements() {
+ return (EReference)swConcurrentResourceEClass.getEStructuralFeatures().get(17);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getInterruptResource() {
+ return interruptResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getInterruptResource_Kind() {
+ return (EAttribute)interruptResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getInterruptResource_IsMaskable() {
+ return (EAttribute)interruptResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterruptResource_VectorElements() {
+ return (EReference)interruptResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterruptResource_MaskElements() {
+ return (EReference)interruptResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterruptResource_RoutineConnectServices() {
+ return (EReference)interruptResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getInterruptResource_RoutineDisconnectServices() {
+ return (EReference)interruptResourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwSchedulableResource() {
+ return swSchedulableResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwSchedulableResource_IsStaticSchedulingFeature() {
+ return (EAttribute)swSchedulableResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwSchedulableResource_IsPreemptable() {
+ return (EAttribute)swSchedulableResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwSchedulableResource_Schedulers() {
+ return (EReference)swSchedulableResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwSchedulableResource_DeadlineElements() {
+ return (EReference)swSchedulableResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwSchedulableResource_DeadlineTypeElements() {
+ return (EReference)swSchedulableResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwSchedulableResource_TimeSliceElements() {
+ return (EReference)swSchedulableResourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwSchedulableResource_DelayServices() {
+ return (EReference)swSchedulableResourceEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwSchedulableResource_JoinServices() {
+ return (EReference)swSchedulableResourceEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwSchedulableResource_YieldServices() {
+ return (EReference)swSchedulableResourceEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwTimerResource() {
+ return swTimerResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwTimerResource_DurationElements() {
+ return (EReference)swTimerResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMemoryPartition() {
+ return memoryPartitionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryPartition_ConcurrentResources() {
+ return (EReference)memoryPartitionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryPartition_MemorySpaces() {
+ return (EReference)memoryPartitionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryPartition_Fork() {
+ return (EReference)memoryPartitionEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryPartition_Exit() {
+ return (EReference)memoryPartitionEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMemoryPartition_Base_Namespace() {
+ return (EReference)memoryPartitionEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAlarm() {
+ return alarmEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAlarm_IsWatchdog() {
+ return (EAttribute)alarmEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAlarm_Timers() {
+ return (EReference)alarmEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getInterruptKind() {
+ return interruptKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ConcurrencyFactory getSW_ConcurrencyFactory() {
+ return (SW_ConcurrencyFactory)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
+ entryPointEClass = createEClass(ENTRY_POINT);
+ createEAttribute(entryPointEClass, ENTRY_POINT__IS_REENTRANT);
+ createEReference(entryPointEClass, ENTRY_POINT__ROUTINE);
+
+ swConcurrentResourceEClass = createEClass(SW_CONCURRENT_RESOURCE);
+ createEAttribute(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__TYPE);
+ createEAttribute(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__ENTRY_POINTS);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__ADRESS_SPACE);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__RESUME_SERVICES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES);
+ createEReference(swConcurrentResourceEClass, SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS);
+
+ interruptResourceEClass = createEClass(INTERRUPT_RESOURCE);
+ createEAttribute(interruptResourceEClass, INTERRUPT_RESOURCE__KIND);
+ createEAttribute(interruptResourceEClass, INTERRUPT_RESOURCE__IS_MASKABLE);
+ createEReference(interruptResourceEClass, INTERRUPT_RESOURCE__VECTOR_ELEMENTS);
+ createEReference(interruptResourceEClass, INTERRUPT_RESOURCE__MASK_ELEMENTS);
+ createEReference(interruptResourceEClass, INTERRUPT_RESOURCE__ROUTINE_CONNECT_SERVICES);
+ createEReference(interruptResourceEClass, INTERRUPT_RESOURCE__ROUTINE_DISCONNECT_SERVICES);
+
+ swSchedulableResourceEClass = createEClass(SW_SCHEDULABLE_RESOURCE);
+ createEAttribute(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__IS_STATIC_SCHEDULING_FEATURE);
+ createEAttribute(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__IS_PREEMPTABLE);
+ createEReference(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__SCHEDULERS);
+ createEReference(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__DEADLINE_ELEMENTS);
+ createEReference(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__DEADLINE_TYPE_ELEMENTS);
+ createEReference(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__TIME_SLICE_ELEMENTS);
+ createEReference(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__DELAY_SERVICES);
+ createEReference(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__JOIN_SERVICES);
+ createEReference(swSchedulableResourceEClass, SW_SCHEDULABLE_RESOURCE__YIELD_SERVICES);
+
+ swTimerResourceEClass = createEClass(SW_TIMER_RESOURCE);
+ createEReference(swTimerResourceEClass, SW_TIMER_RESOURCE__DURATION_ELEMENTS);
+
+ memoryPartitionEClass = createEClass(MEMORY_PARTITION);
+ createEReference(memoryPartitionEClass, MEMORY_PARTITION__CONCURRENT_RESOURCES);
+ createEReference(memoryPartitionEClass, MEMORY_PARTITION__MEMORY_SPACES);
+ createEReference(memoryPartitionEClass, MEMORY_PARTITION__FORK);
+ createEReference(memoryPartitionEClass, MEMORY_PARTITION__EXIT);
+ createEReference(memoryPartitionEClass, MEMORY_PARTITION__BASE_NAMESPACE);
+
+ alarmEClass = createEClass(ALARM);
+ createEAttribute(alarmEClass, ALARM__IS_WATCHDOG);
+ createEReference(alarmEClass, ALARM__TIMERS);
+
+ // Create enums
+ interruptKindEEnum = createEEnum(INTERRUPT_KIND);
+ }
+
+ /**
+ * <!-- 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
+ AllocPackage theAllocPackage = (AllocPackage)EPackage.Registry.INSTANCE.getEPackage(AllocPackage.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);
+ SW_ResourceCorePackage theSW_ResourceCorePackage = (SW_ResourceCorePackage)EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI);
+ BasicNFP_TypesPackage theBasicNFP_TypesPackage = (BasicNFP_TypesPackage)EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI);
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ entryPointEClass.getESuperTypes().add(theAllocPackage.getAllocate());
+ swConcurrentResourceEClass.getESuperTypes().add(theSW_ResourceCorePackage.getSwResource());
+ interruptResourceEClass.getESuperTypes().add(this.getSwConcurrentResource());
+ swSchedulableResourceEClass.getESuperTypes().add(this.getSwConcurrentResource());
+ swSchedulableResourceEClass.getESuperTypes().add(theGRMPackage.getSchedulableResource());
+ swTimerResourceEClass.getESuperTypes().add(theGRMPackage.getTimerResource());
+ memoryPartitionEClass.getESuperTypes().add(theSW_ResourceCorePackage.getSwResource());
+ alarmEClass.getESuperTypes().add(this.getInterruptResource());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(entryPointEClass, EntryPoint.class, "EntryPoint", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getEntryPoint_IsReentrant(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isReentrant", null, 0, 1, EntryPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getEntryPoint_Routine(), theUMLPackage.getBehavioralFeature(), null, "routine", null, 1, 1, EntryPoint.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(swConcurrentResourceEClass, SwConcurrentResource.class, "SwConcurrentResource", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSwConcurrentResource_Type(), theBasicNFP_TypesPackage.getArrivalPattern(), "type", null, 0, 1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSwConcurrentResource_ActivationCapacity(), theMARTE_PrimitivesTypesPackage.getInteger(), "activationCapacity", null, 0, 1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_EntryPoints(), theUMLPackage.getElement(), null, "entryPoints", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_AdressSpace(), theUMLPackage.getTypedElement(), null, "adressSpace", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_PeriodElements(), theUMLPackage.getTypedElement(), null, "periodElements", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_PriorityElements(), theUMLPackage.getTypedElement(), null, "priorityElements", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_StackSizeElements(), theUMLPackage.getTypedElement(), null, "stackSizeElements", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_ActivateServices(), theUMLPackage.getBehavioralFeature(), null, "activateServices", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_EnableConcurrencyServices(), theUMLPackage.getBehavioralFeature(), null, "enableConcurrencyServices", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_ResumeServices(), theUMLPackage.getBehavioralFeature(), null, "resumeServices", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_SuspendServices(), theUMLPackage.getBehavioralFeature(), null, "suspendServices", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_TerminateServices(), theUMLPackage.getBehavioralFeature(), null, "terminateServices", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_DisableConcurrencyServices(), theUMLPackage.getBehavioralFeature(), null, "disableConcurrencyServices", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_ShareDataResources(), theUMLPackage.getTypedElement(), null, "shareDataResources", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_MessageResources(), theUMLPackage.getTypedElement(), null, "messageResources", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_MutualExclusionResources(), theUMLPackage.getTypedElement(), null, "mutualExclusionResources", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_NotificationResources(), theUMLPackage.getTypedElement(), null, "notificationResources", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwConcurrentResource_HeapSizeElements(), theUMLPackage.getTypedElement(), null, "heapSizeElements", null, 0, -1, SwConcurrentResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(interruptResourceEClass, InterruptResource.class, "InterruptResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getInterruptResource_Kind(), this.getInterruptKind(), "kind", null, 0, 1, InterruptResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getInterruptResource_IsMaskable(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isMaskable", null, 0, 1, InterruptResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getInterruptResource_VectorElements(), theUMLPackage.getTypedElement(), null, "vectorElements", null, 0, -1, InterruptResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getInterruptResource_MaskElements(), theUMLPackage.getTypedElement(), null, "maskElements", null, 0, -1, InterruptResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getInterruptResource_RoutineConnectServices(), theUMLPackage.getBehavioralFeature(), null, "routineConnectServices", null, 0, -1, InterruptResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getInterruptResource_RoutineDisconnectServices(), theUMLPackage.getBehavioralFeature(), null, "routineDisconnectServices", null, 0, -1, InterruptResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(swSchedulableResourceEClass, SwSchedulableResource.class, "SwSchedulableResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSwSchedulableResource_IsStaticSchedulingFeature(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isStaticSchedulingFeature", null, 0, 1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSwSchedulableResource_IsPreemptable(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isPreemptable", null, 0, 1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwSchedulableResource_Schedulers(), theUMLPackage.getNamedElement(), null, "schedulers", null, 1, 1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwSchedulableResource_DeadlineElements(), theUMLPackage.getTypedElement(), null, "deadlineElements", null, 0, -1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwSchedulableResource_DeadlineTypeElements(), theUMLPackage.getTypedElement(), null, "deadlineTypeElements", null, 0, -1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwSchedulableResource_TimeSliceElements(), theUMLPackage.getTypedElement(), null, "timeSliceElements", null, 0, -1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwSchedulableResource_DelayServices(), theUMLPackage.getBehavioralFeature(), null, "delayServices", null, 0, -1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwSchedulableResource_JoinServices(), theUMLPackage.getBehavioralFeature(), null, "joinServices", null, 0, -1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwSchedulableResource_YieldServices(), theUMLPackage.getBehavioralFeature(), null, "yieldServices", null, 0, -1, SwSchedulableResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(swTimerResourceEClass, SwTimerResource.class, "SwTimerResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSwTimerResource_DurationElements(), theUMLPackage.getTypedElement(), null, "durationElements", null, 0, 1, SwTimerResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(memoryPartitionEClass, MemoryPartition.class, "MemoryPartition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMemoryPartition_ConcurrentResources(), theUMLPackage.getTypedElement(), null, "concurrentResources", null, 0, -1, MemoryPartition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryPartition_MemorySpaces(), theUMLPackage.getTypedElement(), null, "memorySpaces", null, 0, -1, MemoryPartition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryPartition_Fork(), theUMLPackage.getBehavioralFeature(), null, "fork", null, 0, -1, MemoryPartition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryPartition_Exit(), theUMLPackage.getBehavioralFeature(), null, "exit", null, 0, -1, MemoryPartition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMemoryPartition_Base_Namespace(), theUMLPackage.getNamespace(), null, "base_Namespace", null, 1, 1, MemoryPartition.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(alarmEClass, Alarm.class, "Alarm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAlarm_IsWatchdog(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isWatchdog", null, 0, 1, Alarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getAlarm_Timers(), theUMLPackage.getTypedElement(), null, "timers", null, 0, -1, Alarm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(interruptKindEEnum, InterruptKind.class, "InterruptKind");
+ addEEnumLiteral(interruptKindEEnum, InterruptKind.HARDWARE_INTERRUPTION);
+ addEEnumLiteral(interruptKindEEnum, InterruptKind.PROCESSOR_DETECTED_EXCEPTION);
+ addEEnumLiteral(interruptKindEEnum, InterruptKind.PROGRAMMED_EXCEPTION);
+ addEEnumLiteral(interruptKindEEnum, InterruptKind.UNDEF);
+ addEEnumLiteral(interruptKindEEnum, InterruptKind.OTHER);
+
+ // Create annotations
+ // redefines
+ createRedefinesAnnotations();
+ }
+
+ /**
+ * Initializes the annotations for <b>redefines</b>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected void createRedefinesAnnotations() {
+ String source = "redefines";
+ addAnnotation
+ (getSwTimerResource_DurationElements(),
+ source,
+ new String[] {
+ },
+ new URI[] {
+ URI.createURI(MARTEPackage.eNS_URI).appendFragment("//MARTE_Foundations/GRM/TimerResource/duration")
+ });
+ }
+
+} //SW_ConcurrencyPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwConcurrentResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwConcurrentResourceImpl.java
new file mode 100644
index 00000000000..2e597402523
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwConcurrentResourceImpl.java
@@ -0,0 +1,784 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.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.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.Element;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sw Concurrent Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getActivationCapacity <em>Activation Capacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getEntryPoints <em>Entry Points</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getAdressSpace <em>Adress Space</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getPeriodElements <em>Period Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getPriorityElements <em>Priority Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getStackSizeElements <em>Stack Size Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getActivateServices <em>Activate Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getEnableConcurrencyServices <em>Enable Concurrency Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getResumeServices <em>Resume Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getSuspendServices <em>Suspend Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getTerminateServices <em>Terminate Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getDisableConcurrencyServices <em>Disable Concurrency Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getShareDataResources <em>Share Data Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getMessageResources <em>Message Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getMutualExclusionResources <em>Mutual Exclusion Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getNotificationResources <em>Notification Resources</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwConcurrentResourceImpl#getHeapSizeElements <em>Heap Size Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SwConcurrentResourceImpl extends SwResourceImpl implements SwConcurrentResource {
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getActivationCapacity() <em>Activation Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActivationCapacity()
+ * @generated
+ * @ordered
+ */
+ protected static final int ACTIVATION_CAPACITY_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getActivationCapacity() <em>Activation Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActivationCapacity()
+ * @generated
+ * @ordered
+ */
+ protected int activationCapacity = ACTIVATION_CAPACITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getEntryPoints() <em>Entry Points</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEntryPoints()
+ * @generated
+ * @ordered
+ */
+ protected EList<Element> entryPoints;
+
+ /**
+ * The cached value of the '{@link #getAdressSpace() <em>Adress Space</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAdressSpace()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> adressSpace;
+
+ /**
+ * The cached value of the '{@link #getPeriodElements() <em>Period Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPeriodElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> periodElements;
+
+ /**
+ * The cached value of the '{@link #getPriorityElements() <em>Priority Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getPriorityElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> priorityElements;
+
+ /**
+ * The cached value of the '{@link #getStackSizeElements() <em>Stack Size Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStackSizeElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> stackSizeElements;
+
+ /**
+ * The cached value of the '{@link #getActivateServices() <em>Activate Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getActivateServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> activateServices;
+
+ /**
+ * The cached value of the '{@link #getEnableConcurrencyServices() <em>Enable Concurrency Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEnableConcurrencyServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> enableConcurrencyServices;
+
+ /**
+ * The cached value of the '{@link #getResumeServices() <em>Resume Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getResumeServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> resumeServices;
+
+ /**
+ * The cached value of the '{@link #getSuspendServices() <em>Suspend Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSuspendServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> suspendServices;
+
+ /**
+ * The cached value of the '{@link #getTerminateServices() <em>Terminate Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTerminateServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> terminateServices;
+
+ /**
+ * The cached value of the '{@link #getDisableConcurrencyServices() <em>Disable Concurrency Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDisableConcurrencyServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> disableConcurrencyServices;
+
+ /**
+ * The cached value of the '{@link #getShareDataResources() <em>Share Data Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShareDataResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> shareDataResources;
+
+ /**
+ * The cached value of the '{@link #getMessageResources() <em>Message Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> messageResources;
+
+ /**
+ * The cached value of the '{@link #getMutualExclusionResources() <em>Mutual Exclusion Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMutualExclusionResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> mutualExclusionResources;
+
+ /**
+ * The cached value of the '{@link #getNotificationResources() <em>Notification Resources</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getNotificationResources()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> notificationResources;
+
+ /**
+ * The cached value of the '{@link #getHeapSizeElements() <em>Heap Size Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getHeapSizeElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> heapSizeElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwConcurrentResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ConcurrencyPackage.Literals.SW_CONCURRENT_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getActivationCapacity() {
+ return activationCapacity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setActivationCapacity(int newActivationCapacity) {
+ int oldActivationCapacity = activationCapacity;
+ activationCapacity = newActivationCapacity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY, oldActivationCapacity, activationCapacity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Element> getEntryPoints() {
+ if (entryPoints == null) {
+ entryPoints = new EObjectResolvingEList<Element>(Element.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENTRY_POINTS);
+ }
+ return entryPoints;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getAdressSpace() {
+ if (adressSpace == null) {
+ adressSpace = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ADRESS_SPACE);
+ }
+ return adressSpace;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getPeriodElements() {
+ if (periodElements == null) {
+ periodElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS);
+ }
+ return periodElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getPriorityElements() {
+ if (priorityElements == null) {
+ priorityElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS);
+ }
+ return priorityElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getStackSizeElements() {
+ if (stackSizeElements == null) {
+ stackSizeElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS);
+ }
+ return stackSizeElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getActivateServices() {
+ if (activateServices == null) {
+ activateServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES);
+ }
+ return activateServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getEnableConcurrencyServices() {
+ if (enableConcurrencyServices == null) {
+ enableConcurrencyServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES);
+ }
+ return enableConcurrencyServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getResumeServices() {
+ if (resumeServices == null) {
+ resumeServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__RESUME_SERVICES);
+ }
+ return resumeServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getSuspendServices() {
+ if (suspendServices == null) {
+ suspendServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES);
+ }
+ return suspendServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getTerminateServices() {
+ if (terminateServices == null) {
+ terminateServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES);
+ }
+ return terminateServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getDisableConcurrencyServices() {
+ if (disableConcurrencyServices == null) {
+ disableConcurrencyServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES);
+ }
+ return disableConcurrencyServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getShareDataResources() {
+ if (shareDataResources == null) {
+ shareDataResources = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES);
+ }
+ return shareDataResources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMessageResources() {
+ if (messageResources == null) {
+ messageResources = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES);
+ }
+ return messageResources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMutualExclusionResources() {
+ if (mutualExclusionResources == null) {
+ mutualExclusionResources = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES);
+ }
+ return mutualExclusionResources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getNotificationResources() {
+ if (notificationResources == null) {
+ notificationResources = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES);
+ }
+ return notificationResources;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getHeapSizeElements() {
+ if (heapSizeElements == null) {
+ heapSizeElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS);
+ }
+ return heapSizeElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TYPE:
+ return getType();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY:
+ return getActivationCapacity();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENTRY_POINTS:
+ return getEntryPoints();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ADRESS_SPACE:
+ return getAdressSpace();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS:
+ return getPeriodElements();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS:
+ return getPriorityElements();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS:
+ return getStackSizeElements();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES:
+ return getActivateServices();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES:
+ return getEnableConcurrencyServices();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__RESUME_SERVICES:
+ return getResumeServices();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES:
+ return getSuspendServices();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES:
+ return getTerminateServices();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES:
+ return getDisableConcurrencyServices();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES:
+ return getShareDataResources();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES:
+ return getMessageResources();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES:
+ return getMutualExclusionResources();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES:
+ return getNotificationResources();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS:
+ return getHeapSizeElements();
+ }
+ 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 SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TYPE:
+ setType((String)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY:
+ setActivationCapacity((Integer)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENTRY_POINTS:
+ getEntryPoints().clear();
+ getEntryPoints().addAll((Collection<? extends Element>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ADRESS_SPACE:
+ getAdressSpace().clear();
+ getAdressSpace().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS:
+ getPeriodElements().clear();
+ getPeriodElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS:
+ getPriorityElements().clear();
+ getPriorityElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS:
+ getStackSizeElements().clear();
+ getStackSizeElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES:
+ getActivateServices().clear();
+ getActivateServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES:
+ getEnableConcurrencyServices().clear();
+ getEnableConcurrencyServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__RESUME_SERVICES:
+ getResumeServices().clear();
+ getResumeServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES:
+ getSuspendServices().clear();
+ getSuspendServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES:
+ getTerminateServices().clear();
+ getTerminateServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES:
+ getDisableConcurrencyServices().clear();
+ getDisableConcurrencyServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES:
+ getShareDataResources().clear();
+ getShareDataResources().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES:
+ getMessageResources().clear();
+ getMessageResources().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES:
+ getMutualExclusionResources().clear();
+ getMutualExclusionResources().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES:
+ getNotificationResources().clear();
+ getNotificationResources().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS:
+ getHeapSizeElements().clear();
+ getHeapSizeElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY:
+ setActivationCapacity(ACTIVATION_CAPACITY_EDEFAULT);
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENTRY_POINTS:
+ getEntryPoints().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ADRESS_SPACE:
+ getAdressSpace().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS:
+ getPeriodElements().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS:
+ getPriorityElements().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS:
+ getStackSizeElements().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES:
+ getActivateServices().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES:
+ getEnableConcurrencyServices().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__RESUME_SERVICES:
+ getResumeServices().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES:
+ getSuspendServices().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES:
+ getTerminateServices().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES:
+ getDisableConcurrencyServices().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES:
+ getShareDataResources().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES:
+ getMessageResources().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES:
+ getMutualExclusionResources().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES:
+ getNotificationResources().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS:
+ getHeapSizeElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATION_CAPACITY:
+ return activationCapacity != ACTIVATION_CAPACITY_EDEFAULT;
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENTRY_POINTS:
+ return entryPoints != null && !entryPoints.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ADRESS_SPACE:
+ return adressSpace != null && !adressSpace.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PERIOD_ELEMENTS:
+ return periodElements != null && !periodElements.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__PRIORITY_ELEMENTS:
+ return priorityElements != null && !priorityElements.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__STACK_SIZE_ELEMENTS:
+ return stackSizeElements != null && !stackSizeElements.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ACTIVATE_SERVICES:
+ return activateServices != null && !activateServices.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__ENABLE_CONCURRENCY_SERVICES:
+ return enableConcurrencyServices != null && !enableConcurrencyServices.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__RESUME_SERVICES:
+ return resumeServices != null && !resumeServices.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SUSPEND_SERVICES:
+ return suspendServices != null && !suspendServices.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__TERMINATE_SERVICES:
+ return terminateServices != null && !terminateServices.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__DISABLE_CONCURRENCY_SERVICES:
+ return disableConcurrencyServices != null && !disableConcurrencyServices.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__SHARE_DATA_RESOURCES:
+ return shareDataResources != null && !shareDataResources.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MESSAGE_RESOURCES:
+ return messageResources != null && !messageResources.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__MUTUAL_EXCLUSION_RESOURCES:
+ return mutualExclusionResources != null && !mutualExclusionResources.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__NOTIFICATION_RESOURCES:
+ return notificationResources != null && !notificationResources.isEmpty();
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE__HEAP_SIZE_ELEMENTS:
+ return heapSizeElements != null && !heapSizeElements.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(" (type: ");
+ result.append(type);
+ result.append(", activationCapacity: ");
+ result.append(activationCapacity);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SwConcurrentResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwSchedulableResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwSchedulableResourceImpl.java
new file mode 100644
index 00000000000..50820734fe7
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwSchedulableResourceImpl.java
@@ -0,0 +1,782 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.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.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource;
+
+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;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.NamedElement;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sw Schedulable Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getSchedParams <em>Sched Params</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getDependentScheduler <em>Dependent Scheduler</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getHost <em>Host</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#isIsStaticSchedulingFeature <em>Is Static Scheduling Feature</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#isIsPreemptable <em>Is Preemptable</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getSchedulers <em>Schedulers</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getDeadlineElements <em>Deadline Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getDeadlineTypeElements <em>Deadline Type Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getTimeSliceElements <em>Time Slice Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getDelayServices <em>Delay Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getJoinServices <em>Join Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwSchedulableResourceImpl#getYieldServices <em>Yield Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SwSchedulableResourceImpl extends SwConcurrentResourceImpl implements SwSchedulableResource {
+ /**
+ * 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;
+
+ /**
+ * The default value of the '{@link #isIsStaticSchedulingFeature() <em>Is Static Scheduling Feature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsStaticSchedulingFeature()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_STATIC_SCHEDULING_FEATURE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsStaticSchedulingFeature() <em>Is Static Scheduling Feature</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsStaticSchedulingFeature()
+ * @generated
+ * @ordered
+ */
+ protected boolean isStaticSchedulingFeature = IS_STATIC_SCHEDULING_FEATURE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsPreemptable() <em>Is Preemptable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsPreemptable()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_PREEMPTABLE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsPreemptable() <em>Is Preemptable</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsPreemptable()
+ * @generated
+ * @ordered
+ */
+ protected boolean isPreemptable = IS_PREEMPTABLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSchedulers() <em>Schedulers</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSchedulers()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement schedulers;
+
+ /**
+ * The cached value of the '{@link #getDeadlineElements() <em>Deadline Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeadlineElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> deadlineElements;
+
+ /**
+ * The cached value of the '{@link #getDeadlineTypeElements() <em>Deadline Type Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeadlineTypeElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> deadlineTypeElements;
+
+ /**
+ * The cached value of the '{@link #getTimeSliceElements() <em>Time Slice Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTimeSliceElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> timeSliceElements;
+
+ /**
+ * The cached value of the '{@link #getDelayServices() <em>Delay Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDelayServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> delayServices;
+
+ /**
+ * The cached value of the '{@link #getJoinServices() <em>Join Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getJoinServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> joinServices;
+
+ /**
+ * The cached value of the '{@link #getYieldServices() <em>Yield Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getYieldServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> yieldServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwSchedulableResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ConcurrencyPackage.Literals.SW_SCHEDULABLE_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getSchedParams() {
+ if (schedParams == null) {
+ schedParams = new EDataTypeUniqueEList<String>(String.class, this, SW_ConcurrencyPackage.SW_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, SW_ConcurrencyPackage.SW_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, SW_ConcurrencyPackage.SW_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, SW_ConcurrencyPackage.SW_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, SW_ConcurrencyPackage.SW_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, SW_ConcurrencyPackage.SW_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, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__HOST, newHost, newHost));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsStaticSchedulingFeature() {
+ return isStaticSchedulingFeature;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsStaticSchedulingFeature(boolean newIsStaticSchedulingFeature) {
+ boolean oldIsStaticSchedulingFeature = isStaticSchedulingFeature;
+ isStaticSchedulingFeature = newIsStaticSchedulingFeature;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_STATIC_SCHEDULING_FEATURE, oldIsStaticSchedulingFeature, isStaticSchedulingFeature));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsPreemptable() {
+ return isPreemptable;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsPreemptable(boolean newIsPreemptable) {
+ boolean oldIsPreemptable = isPreemptable;
+ isPreemptable = newIsPreemptable;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_PREEMPTABLE, oldIsPreemptable, isPreemptable));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getSchedulers() {
+ if (schedulers != null && schedulers.eIsProxy()) {
+ InternalEObject oldSchedulers = (InternalEObject)schedulers;
+ schedulers = (NamedElement)eResolveProxy(oldSchedulers);
+ if (schedulers != oldSchedulers) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHEDULERS, oldSchedulers, schedulers));
+ }
+ }
+ return schedulers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetSchedulers() {
+ return schedulers;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSchedulers(NamedElement newSchedulers) {
+ NamedElement oldSchedulers = schedulers;
+ schedulers = newSchedulers;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHEDULERS, oldSchedulers, schedulers));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getDeadlineElements() {
+ if (deadlineElements == null) {
+ deadlineElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_ELEMENTS);
+ }
+ return deadlineElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getDeadlineTypeElements() {
+ if (deadlineTypeElements == null) {
+ deadlineTypeElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_TYPE_ELEMENTS);
+ }
+ return deadlineTypeElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getTimeSliceElements() {
+ if (timeSliceElements == null) {
+ timeSliceElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__TIME_SLICE_ELEMENTS);
+ }
+ return timeSliceElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getDelayServices() {
+ if (delayServices == null) {
+ delayServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DELAY_SERVICES);
+ }
+ return delayServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getJoinServices() {
+ if (joinServices == null) {
+ joinServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__JOIN_SERVICES);
+ }
+ return joinServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getYieldServices() {
+ if (yieldServices == null) {
+ yieldServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__YIELD_SERVICES);
+ }
+ return yieldServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_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 SW_ConcurrencyPackage.SW_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 SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ return basicSetDependentScheduler(null, msgs);
+ case SW_ConcurrencyPackage.SW_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 SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHED_PARAMS:
+ return getSchedParams();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ if (resolve) return getDependentScheduler();
+ return basicGetDependentScheduler();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__HOST:
+ if (resolve) return getHost();
+ return basicGetHost();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_STATIC_SCHEDULING_FEATURE:
+ return isIsStaticSchedulingFeature();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_PREEMPTABLE:
+ return isIsPreemptable();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHEDULERS:
+ if (resolve) return getSchedulers();
+ return basicGetSchedulers();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_ELEMENTS:
+ return getDeadlineElements();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_TYPE_ELEMENTS:
+ return getDeadlineTypeElements();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__TIME_SLICE_ELEMENTS:
+ return getTimeSliceElements();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DELAY_SERVICES:
+ return getDelayServices();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__JOIN_SERVICES:
+ return getJoinServices();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__YIELD_SERVICES:
+ return getYieldServices();
+ }
+ 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 SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHED_PARAMS:
+ getSchedParams().clear();
+ getSchedParams().addAll((Collection<? extends String>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ setDependentScheduler((SecondaryScheduler)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__HOST:
+ setHost((Scheduler)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_STATIC_SCHEDULING_FEATURE:
+ setIsStaticSchedulingFeature((Boolean)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_PREEMPTABLE:
+ setIsPreemptable((Boolean)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHEDULERS:
+ setSchedulers((NamedElement)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_ELEMENTS:
+ getDeadlineElements().clear();
+ getDeadlineElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_TYPE_ELEMENTS:
+ getDeadlineTypeElements().clear();
+ getDeadlineTypeElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__TIME_SLICE_ELEMENTS:
+ getTimeSliceElements().clear();
+ getTimeSliceElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DELAY_SERVICES:
+ getDelayServices().clear();
+ getDelayServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__JOIN_SERVICES:
+ getJoinServices().clear();
+ getJoinServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__YIELD_SERVICES:
+ getYieldServices().clear();
+ getYieldServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHED_PARAMS:
+ getSchedParams().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ setDependentScheduler((SecondaryScheduler)null);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__HOST:
+ setHost((Scheduler)null);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_STATIC_SCHEDULING_FEATURE:
+ setIsStaticSchedulingFeature(IS_STATIC_SCHEDULING_FEATURE_EDEFAULT);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_PREEMPTABLE:
+ setIsPreemptable(IS_PREEMPTABLE_EDEFAULT);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHEDULERS:
+ setSchedulers((NamedElement)null);
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_ELEMENTS:
+ getDeadlineElements().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_TYPE_ELEMENTS:
+ getDeadlineTypeElements().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__TIME_SLICE_ELEMENTS:
+ getTimeSliceElements().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DELAY_SERVICES:
+ getDelayServices().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__JOIN_SERVICES:
+ getJoinServices().clear();
+ return;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__YIELD_SERVICES:
+ getYieldServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHED_PARAMS:
+ return schedParams != null && !schedParams.isEmpty();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER:
+ return dependentScheduler != null;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__HOST:
+ return host != null;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_STATIC_SCHEDULING_FEATURE:
+ return isStaticSchedulingFeature != IS_STATIC_SCHEDULING_FEATURE_EDEFAULT;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__IS_PREEMPTABLE:
+ return isPreemptable != IS_PREEMPTABLE_EDEFAULT;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHEDULERS:
+ return schedulers != null;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_ELEMENTS:
+ return deadlineElements != null && !deadlineElements.isEmpty();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEADLINE_TYPE_ELEMENTS:
+ return deadlineTypeElements != null && !deadlineTypeElements.isEmpty();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__TIME_SLICE_ELEMENTS:
+ return timeSliceElements != null && !timeSliceElements.isEmpty();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DELAY_SERVICES:
+ return delayServices != null && !delayServices.isEmpty();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__JOIN_SERVICES:
+ return joinServices != null && !joinServices.isEmpty();
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__YIELD_SERVICES:
+ return yieldServices != null && !yieldServices.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == SchedulableResource.class) {
+ switch (derivedFeatureID) {
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHED_PARAMS: return GRMPackage.SCHEDULABLE_RESOURCE__SCHED_PARAMS;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER: return GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER;
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__HOST: return GRMPackage.SCHEDULABLE_RESOURCE__HOST;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == SchedulableResource.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.SCHEDULABLE_RESOURCE__SCHED_PARAMS: return SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__SCHED_PARAMS;
+ case GRMPackage.SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER: return SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__DEPENDENT_SCHEDULER;
+ case GRMPackage.SCHEDULABLE_RESOURCE__HOST: return SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE__HOST;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- 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(", isStaticSchedulingFeature: ");
+ result.append(isStaticSchedulingFeature);
+ result.append(", isPreemptable: ");
+ result.append(isPreemptable);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SwSchedulableResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwTimerResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwTimerResourceImpl.java
new file mode 100644
index 00000000000..73c29fdc844
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/impl/SwTimerResourceImpl.java
@@ -0,0 +1,170 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.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_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.TimerResourceImpl;
+
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sw Timer Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SwTimerResourceImpl#getDurationElements <em>Duration Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SwTimerResourceImpl extends TimerResourceImpl implements SwTimerResource {
+ /**
+ * The cached value of the '{@link #getDurationElements() <em>Duration Elements</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDurationElements()
+ * @generated
+ * @ordered
+ */
+ protected TypedElement durationElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwTimerResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ConcurrencyPackage.Literals.SW_TIMER_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement getDurationElements() {
+ if (durationElements != null && durationElements.eIsProxy()) {
+ InternalEObject oldDurationElements = (InternalEObject)durationElements;
+ durationElements = (TypedElement)eResolveProxy(oldDurationElements);
+ if (durationElements != oldDurationElements) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SW_ConcurrencyPackage.SW_TIMER_RESOURCE__DURATION_ELEMENTS, oldDurationElements, durationElements));
+ }
+ }
+ return durationElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement basicGetDurationElements() {
+ return durationElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDurationElements(TypedElement newDurationElements) {
+ TypedElement oldDurationElements = durationElements;
+ durationElements = newDurationElements;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ConcurrencyPackage.SW_TIMER_RESOURCE__DURATION_ELEMENTS, oldDurationElements, durationElements));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_TIMER_RESOURCE__DURATION_ELEMENTS:
+ if (resolve) return getDurationElements();
+ return basicGetDurationElements();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_TIMER_RESOURCE__DURATION_ELEMENTS:
+ setDurationElements((TypedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_TIMER_RESOURCE__DURATION_ELEMENTS:
+ setDurationElements((TypedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ConcurrencyPackage.SW_TIMER_RESOURCE__DURATION_ELEMENTS:
+ return durationElements != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SwTimerResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyAdapterFactory.java
new file mode 100644
index 00000000000..ff2c07ddff7
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyAdapterFactory.java
@@ -0,0 +1,356 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Allocate;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimerResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage
+ * @generated
+ */
+public class SW_ConcurrencyAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SW_ConcurrencyPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ConcurrencyAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SW_ConcurrencyPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SW_ConcurrencySwitch<Adapter> modelSwitch =
+ new SW_ConcurrencySwitch<Adapter>() {
+ @Override
+ public Adapter caseEntryPoint(EntryPoint object) {
+ return createEntryPointAdapter();
+ }
+ @Override
+ public Adapter caseSwConcurrentResource(SwConcurrentResource object) {
+ return createSwConcurrentResourceAdapter();
+ }
+ @Override
+ public Adapter caseInterruptResource(InterruptResource object) {
+ return createInterruptResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwSchedulableResource(SwSchedulableResource object) {
+ return createSwSchedulableResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwTimerResource(SwTimerResource object) {
+ return createSwTimerResourceAdapter();
+ }
+ @Override
+ public Adapter caseMemoryPartition(MemoryPartition object) {
+ return createMemoryPartitionAdapter();
+ }
+ @Override
+ public Adapter caseAlarm(Alarm object) {
+ return createAlarmAdapter();
+ }
+ @Override
+ public Adapter caseAllocate(Allocate object) {
+ return createAllocateAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwResource(SwResource object) {
+ return createSwResourceAdapter();
+ }
+ @Override
+ public Adapter caseSchedulableResource(SchedulableResource object) {
+ return createSchedulableResourceAdapter();
+ }
+ @Override
+ public Adapter caseTimingResource(TimingResource object) {
+ return createTimingResourceAdapter();
+ }
+ @Override
+ public Adapter caseTimerResource(TimerResource object) {
+ return createTimerResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint <em>Entry Point</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.EntryPoint
+ * @generated
+ */
+ public Adapter createEntryPointAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource <em>Sw Concurrent Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwConcurrentResource
+ * @generated
+ */
+ public Adapter createSwConcurrentResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource <em>Interrupt Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.InterruptResource
+ * @generated
+ */
+ public Adapter createInterruptResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource <em>Sw Schedulable Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwSchedulableResource
+ * @generated
+ */
+ public Adapter createSwSchedulableResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource <em>Sw Timer Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SwTimerResource
+ * @generated
+ */
+ public Adapter createSwTimerResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition <em>Memory Partition</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.MemoryPartition
+ * @generated
+ */
+ public Adapter createMemoryPartitionAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm <em>Alarm</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.Alarm
+ * @generated
+ */
+ public Adapter createAlarmAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Allocate <em>Allocate</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Allocate
+ * @generated
+ */
+ public Adapter createAllocateAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource <em>Sw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource
+ * @generated
+ */
+ public Adapter createSwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource <em>Schedulable Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource
+ * @generated
+ */
+ public Adapter createSchedulableResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource <em>Timing Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource
+ * @generated
+ */
+ public Adapter createTimingResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimerResource <em>Timer Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimerResource
+ * @generated
+ */
+ public Adapter createTimerResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //SW_ConcurrencyAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyResourceFactoryImpl.java
new file mode 100644
index 00000000000..7da7f2995e3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.util.SW_ConcurrencyResourceImpl
+ * @generated
+ */
+public class SW_ConcurrencyResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ConcurrencyResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new SW_ConcurrencyResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //SW_ConcurrencyResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyResourceImpl.java
new file mode 100644
index 00000000000..b832122d9b2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.util.SW_ConcurrencyResourceFactoryImpl
+ * @generated
+ */
+public class SW_ConcurrencyResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public SW_ConcurrencyResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //SW_ConcurrencyResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencySwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencySwitch.java
new file mode 100644
index 00000000000..4dcb8a875ea
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencySwitch.java
@@ -0,0 +1,381 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.Allocate;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SchedulableResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimerResource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.TimingResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage
+ * @generated
+ */
+public class SW_ConcurrencySwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SW_ConcurrencyPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ConcurrencySwitch() {
+ if (modelPackage == null) {
+ modelPackage = SW_ConcurrencyPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case SW_ConcurrencyPackage.ENTRY_POINT: {
+ EntryPoint entryPoint = (EntryPoint)theEObject;
+ T result = caseEntryPoint(entryPoint);
+ if (result == null) result = caseAllocate(entryPoint);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_ConcurrencyPackage.SW_CONCURRENT_RESOURCE: {
+ SwConcurrentResource swConcurrentResource = (SwConcurrentResource)theEObject;
+ T result = caseSwConcurrentResource(swConcurrentResource);
+ if (result == null) result = caseSwResource(swConcurrentResource);
+ if (result == null) result = caseResource(swConcurrentResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_ConcurrencyPackage.INTERRUPT_RESOURCE: {
+ InterruptResource interruptResource = (InterruptResource)theEObject;
+ T result = caseInterruptResource(interruptResource);
+ if (result == null) result = caseSwConcurrentResource(interruptResource);
+ if (result == null) result = caseSwResource(interruptResource);
+ if (result == null) result = caseResource(interruptResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_ConcurrencyPackage.SW_SCHEDULABLE_RESOURCE: {
+ SwSchedulableResource swSchedulableResource = (SwSchedulableResource)theEObject;
+ T result = caseSwSchedulableResource(swSchedulableResource);
+ if (result == null) result = caseSwConcurrentResource(swSchedulableResource);
+ if (result == null) result = caseSchedulableResource(swSchedulableResource);
+ if (result == null) result = caseSwResource(swSchedulableResource);
+ if (result == null) result = caseResource(swSchedulableResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_ConcurrencyPackage.SW_TIMER_RESOURCE: {
+ SwTimerResource swTimerResource = (SwTimerResource)theEObject;
+ T result = caseSwTimerResource(swTimerResource);
+ if (result == null) result = caseTimerResource(swTimerResource);
+ if (result == null) result = caseTimingResource(swTimerResource);
+ if (result == null) result = caseResource(swTimerResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_ConcurrencyPackage.MEMORY_PARTITION: {
+ MemoryPartition memoryPartition = (MemoryPartition)theEObject;
+ T result = caseMemoryPartition(memoryPartition);
+ if (result == null) result = caseSwResource(memoryPartition);
+ if (result == null) result = caseResource(memoryPartition);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_ConcurrencyPackage.ALARM: {
+ Alarm alarm = (Alarm)theEObject;
+ T result = caseAlarm(alarm);
+ if (result == null) result = caseInterruptResource(alarm);
+ if (result == null) result = caseSwConcurrentResource(alarm);
+ if (result == null) result = caseSwResource(alarm);
+ if (result == null) result = caseResource(alarm);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Entry Point</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Entry Point</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEntryPoint(EntryPoint object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Concurrent Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Concurrent Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwConcurrentResource(SwConcurrentResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Interrupt Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Interrupt Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseInterruptResource(InterruptResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Schedulable Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Schedulable Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwSchedulableResource(SwSchedulableResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Timer Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Timer Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwTimerResource(SwTimerResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Memory Partition</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Memory Partition</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMemoryPartition(MemoryPartition object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Alarm</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Alarm</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAlarm(Alarm object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Allocate</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Allocate</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAllocate(Allocate object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwResource(SwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Schedulable Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Schedulable Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSchedulableResource(SchedulableResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Timing Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Timing Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimingResource(TimingResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Timer Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Timer Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTimerResource(TimerResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //SW_ConcurrencySwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyXMLProcessor.java
new file mode 100644
index 00000000000..73cb7d66155
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Concurrency/util/SW_ConcurrencyXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Concurrency.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SW_ConcurrencyXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ConcurrencyXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ SW_ConcurrencyPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the SW_ConcurrencyResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new SW_ConcurrencyResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new SW_ConcurrencyResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //SW_ConcurrencyXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind.java
new file mode 100644
index 00000000000..93a374403e4
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/ConcurrentAccessProtocolKind.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Concurrent Access Protocol Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getConcurrentAccessProtocolKind()
+ * @model
+ * @generated
+ */
+public enum ConcurrentAccessProtocolKind implements Enumerator {
+ /**
+ * The '<em><b>PIP</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PIP_VALUE
+ * @generated
+ * @ordered
+ */
+ PIP(0, "PIP", "PIP"),
+
+ /**
+ * The '<em><b>PCP</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PCP_VALUE
+ * @generated
+ * @ordered
+ */
+ PCP(1, "PCP", "PCP"),
+
+ /**
+ * The '<em><b>No Preemption</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NO_PREEMPTION_VALUE
+ * @generated
+ * @ordered
+ */
+ NO_PREEMPTION(2, "NoPreemption", "NoPreemption"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "Undef", "Undef"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(4, "Other", "Other");
+
+ /**
+ * The '<em><b>PIP</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PIP</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PIP
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PIP_VALUE = 0;
+
+ /**
+ * The '<em><b>PCP</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PCP</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PCP
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int PCP_VALUE = 1;
+
+ /**
+ * The '<em><b>No Preemption</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>No Preemption</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NO_PREEMPTION
+ * @model name="NoPreemption"
+ * @generated
+ * @ordered
+ */
+ public static final int NO_PREEMPTION_VALUE = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="Undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="Other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Concurrent Access Protocol Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ConcurrentAccessProtocolKind[] VALUES_ARRAY =
+ new ConcurrentAccessProtocolKind[] {
+ PIP,
+ PCP,
+ NO_PREEMPTION,
+ UNDEF,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Concurrent Access Protocol Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ConcurrentAccessProtocolKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Concurrent Access Protocol Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ConcurrentAccessProtocolKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ConcurrentAccessProtocolKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Concurrent Access Protocol Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ConcurrentAccessProtocolKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ ConcurrentAccessProtocolKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Concurrent Access Protocol Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ConcurrentAccessProtocolKind get(int value) {
+ switch (value) {
+ case PIP_VALUE: return PIP;
+ case PCP_VALUE: return PCP;
+ case NO_PREEMPTION_VALUE: return NO_PREEMPTION;
+ case UNDEF_VALUE: return UNDEF;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private ConcurrentAccessProtocolKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //ConcurrentAccessProtocolKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MessageComResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MessageComResource.java
new file mode 100644
index 00000000000..4d24aac1ec0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MessageComResource.java
@@ -0,0 +1,192 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Message Com Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#isIsFixedMessageSize <em>Is Fixed Message Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMechanism <em>Mechanism</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageSizeElements <em>Message Size Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageQueueCapacityElements <em>Message Queue Capacity Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageQueuePolicy <em>Message Queue Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getSendServices <em>Send Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getReceiveServices <em>Receive Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageComResource()
+ * @model
+ * @generated
+ */
+public interface MessageComResource extends SwCommunicationResource {
+ /**
+ * Returns the value of the '<em><b>Is Fixed Message Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Fixed Message Size</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Fixed Message Size</em>' attribute.
+ * @see #setIsFixedMessageSize(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageComResource_IsFixedMessageSize()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsFixedMessageSize();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#isIsFixedMessageSize <em>Is Fixed Message Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Fixed Message Size</em>' attribute.
+ * @see #isIsFixedMessageSize()
+ * @generated
+ */
+ void setIsFixedMessageSize(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Mechanism</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mechanism</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mechanism</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind
+ * @see #setMechanism(MessageResourceKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageComResource_Mechanism()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ MessageResourceKind getMechanism();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMechanism <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mechanism</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind
+ * @see #getMechanism()
+ * @generated
+ */
+ void setMechanism(MessageResourceKind value);
+
+ /**
+ * Returns the value of the '<em><b>Message Size Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Size Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Size Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageComResource_MessageSizeElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMessageSizeElements();
+
+ /**
+ * Returns the value of the '<em><b>Message Queue Capacity Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Queue Capacity Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Queue Capacity Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageComResource_MessageQueueCapacityElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMessageQueueCapacityElements();
+
+ /**
+ * Returns the value of the '<em><b>Message Queue Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Message Queue Policy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Message Queue Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind
+ * @see #setMessageQueuePolicy(QueuePolicyKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageComResource_MessageQueuePolicy()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ QueuePolicyKind getMessageQueuePolicy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageQueuePolicy <em>Message Queue Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Message Queue Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind
+ * @see #getMessageQueuePolicy()
+ * @generated
+ */
+ void setMessageQueuePolicy(QueuePolicyKind value);
+
+ /**
+ * Returns the value of the '<em><b>Send Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Send Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Send Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageComResource_SendServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getSendServices();
+
+ /**
+ * Returns the value of the '<em><b>Receive Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Receive Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Receive Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageComResource_ReceiveServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getReceiveServices();
+
+} // MessageComResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind.java
new file mode 100644
index 00000000000..32bc37ddbd4
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MessageResourceKind.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Message Resource Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMessageResourceKind()
+ * @model
+ * @generated
+ */
+public enum MessageResourceKind implements Enumerator {
+ /**
+ * The '<em><b>Message Queue</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MESSAGE_QUEUE_VALUE
+ * @generated
+ * @ordered
+ */
+ MESSAGE_QUEUE(0, "MessageQueue", "MessageQueue"),
+
+ /**
+ * The '<em><b>Pipe</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PIPE_VALUE
+ * @generated
+ * @ordered
+ */
+ PIPE(1, "Pipe", "Pipe"),
+
+ /**
+ * The '<em><b>Blackboard</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BLACKBOARD_VALUE
+ * @generated
+ * @ordered
+ */
+ BLACKBOARD(2, "Blackboard", "Blackboard"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "Undef", "Undef"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(4, "Other", "Other");
+
+ /**
+ * The '<em><b>Message Queue</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Message Queue</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MESSAGE_QUEUE
+ * @model name="MessageQueue"
+ * @generated
+ * @ordered
+ */
+ public static final int MESSAGE_QUEUE_VALUE = 0;
+
+ /**
+ * The '<em><b>Pipe</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Pipe</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PIPE
+ * @model name="Pipe"
+ * @generated
+ * @ordered
+ */
+ public static final int PIPE_VALUE = 1;
+
+ /**
+ * The '<em><b>Blackboard</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Blackboard</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BLACKBOARD
+ * @model name="Blackboard"
+ * @generated
+ * @ordered
+ */
+ public static final int BLACKBOARD_VALUE = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="Undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="Other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Message Resource Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final MessageResourceKind[] VALUES_ARRAY =
+ new MessageResourceKind[] {
+ MESSAGE_QUEUE,
+ PIPE,
+ BLACKBOARD,
+ UNDEF,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Message Resource Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<MessageResourceKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Message Resource Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MessageResourceKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ MessageResourceKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Message Resource Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MessageResourceKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ MessageResourceKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Message Resource Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MessageResourceKind get(int value) {
+ switch (value) {
+ case MESSAGE_QUEUE_VALUE: return MESSAGE_QUEUE;
+ case PIPE_VALUE: return PIPE;
+ case BLACKBOARD_VALUE: return BLACKBOARD;
+ case UNDEF_VALUE: return UNDEF;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private MessageResourceKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //MessageResourceKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind.java
new file mode 100644
index 00000000000..24fc5a7132b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/MutualExclusionResourceKind.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Mutual Exclusion Resource Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getMutualExclusionResourceKind()
+ * @model
+ * @generated
+ */
+public enum MutualExclusionResourceKind implements Enumerator {
+ /**
+ * The '<em><b>Boolean Semaphore</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BOOLEAN_SEMAPHORE_VALUE
+ * @generated
+ * @ordered
+ */
+ BOOLEAN_SEMAPHORE(0, "BooleanSemaphore", "BooleanSemaphore"),
+
+ /**
+ * The '<em><b>Count Semaphore</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #COUNT_SEMAPHORE_VALUE
+ * @generated
+ * @ordered
+ */
+ COUNT_SEMAPHORE(1, "CountSemaphore", "CountSemaphore"),
+
+ /**
+ * The '<em><b>Mutex</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MUTEX_VALUE
+ * @generated
+ * @ordered
+ */
+ MUTEX(2, "Mutex", "Mutex"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "Undef", "Undef"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(4, "Other", "Other");
+
+ /**
+ * The '<em><b>Boolean Semaphore</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Boolean Semaphore</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BOOLEAN_SEMAPHORE
+ * @model name="BooleanSemaphore"
+ * @generated
+ * @ordered
+ */
+ public static final int BOOLEAN_SEMAPHORE_VALUE = 0;
+
+ /**
+ * The '<em><b>Count Semaphore</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Count Semaphore</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #COUNT_SEMAPHORE
+ * @model name="CountSemaphore"
+ * @generated
+ * @ordered
+ */
+ public static final int COUNT_SEMAPHORE_VALUE = 1;
+
+ /**
+ * The '<em><b>Mutex</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Mutex</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MUTEX
+ * @model name="Mutex"
+ * @generated
+ * @ordered
+ */
+ public static final int MUTEX_VALUE = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="Undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="Other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Mutual Exclusion Resource Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final MutualExclusionResourceKind[] VALUES_ARRAY =
+ new MutualExclusionResourceKind[] {
+ BOOLEAN_SEMAPHORE,
+ COUNT_SEMAPHORE,
+ MUTEX,
+ UNDEF,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Mutual Exclusion Resource Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<MutualExclusionResourceKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Mutual Exclusion Resource Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MutualExclusionResourceKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ MutualExclusionResourceKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Mutual Exclusion Resource Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MutualExclusionResourceKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ MutualExclusionResourceKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Mutual Exclusion Resource Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static MutualExclusionResourceKind get(int value) {
+ switch (value) {
+ case BOOLEAN_SEMAPHORE_VALUE: return BOOLEAN_SEMAPHORE;
+ case COUNT_SEMAPHORE_VALUE: return COUNT_SEMAPHORE;
+ case MUTEX_VALUE: return MUTEX;
+ case UNDEF_VALUE: return UNDEF;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private MutualExclusionResourceKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //MutualExclusionResourceKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationKind.java
new file mode 100644
index 00000000000..4effeb719e5
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationKind.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Notification Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationKind()
+ * @model
+ * @generated
+ */
+public enum NotificationKind implements Enumerator {
+ /**
+ * The '<em><b>Memorized</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MEMORIZED_VALUE
+ * @generated
+ * @ordered
+ */
+ MEMORIZED(0, "Memorized", "Memorized"),
+
+ /**
+ * The '<em><b>Bounded</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BOUNDED_VALUE
+ * @generated
+ * @ordered
+ */
+ BOUNDED(1, "Bounded", "Bounded"),
+
+ /**
+ * The '<em><b>Memoryless</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MEMORYLESS_VALUE
+ * @generated
+ * @ordered
+ */
+ MEMORYLESS(2, "Memoryless", "Memoryless"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "Undef", "Undef"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(4, "Other", "Other");
+
+ /**
+ * The '<em><b>Memorized</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Memorized</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MEMORIZED
+ * @model name="Memorized"
+ * @generated
+ * @ordered
+ */
+ public static final int MEMORIZED_VALUE = 0;
+
+ /**
+ * The '<em><b>Bounded</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Bounded</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BOUNDED
+ * @model name="Bounded"
+ * @generated
+ * @ordered
+ */
+ public static final int BOUNDED_VALUE = 1;
+
+ /**
+ * The '<em><b>Memoryless</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Memoryless</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MEMORYLESS
+ * @model name="Memoryless"
+ * @generated
+ * @ordered
+ */
+ public static final int MEMORYLESS_VALUE = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="Undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="Other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Notification Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final NotificationKind[] VALUES_ARRAY =
+ new NotificationKind[] {
+ MEMORIZED,
+ BOUNDED,
+ MEMORYLESS,
+ UNDEF,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Notification Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<NotificationKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Notification Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotificationKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ NotificationKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Notification Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotificationKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ NotificationKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Notification Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotificationKind get(int value) {
+ switch (value) {
+ case MEMORIZED_VALUE: return MEMORIZED;
+ case BOUNDED_VALUE: return BOUNDED;
+ case MEMORYLESS_VALUE: return MEMORYLESS;
+ case UNDEF_VALUE: return UNDEF;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private NotificationKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //NotificationKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationResource.java
new file mode 100644
index 00000000000..e2fc0bc1e2b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationResource.java
@@ -0,0 +1,199 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Notification Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getOccurence <em>Occurence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getMechanism <em>Mechanism</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getOccurenceCountElements <em>Occurence Count Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getMaskElements <em>Mask Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getFlushServices <em>Flush Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getSignalServices <em>Signal Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getWaitServices <em>Wait Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getClearServices <em>Clear Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource()
+ * @model
+ * @generated
+ */
+public interface NotificationResource extends SwSynchronizationResource {
+ /**
+ * Returns the value of the '<em><b>Occurence</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Occurence</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Occurence</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind
+ * @see #setOccurence(NotificationKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource_Occurence()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ NotificationKind getOccurence();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getOccurence <em>Occurence</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Occurence</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind
+ * @see #getOccurence()
+ * @generated
+ */
+ void setOccurence(NotificationKind value);
+
+ /**
+ * Returns the value of the '<em><b>Mechanism</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mechanism</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mechanism</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind
+ * @see #setMechanism(NotificationResourceKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource_Mechanism()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ NotificationResourceKind getMechanism();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getMechanism <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mechanism</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind
+ * @see #getMechanism()
+ * @generated
+ */
+ void setMechanism(NotificationResourceKind value);
+
+ /**
+ * Returns the value of the '<em><b>Occurence Count Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Occurence Count Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Occurence Count Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource_OccurenceCountElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getOccurenceCountElements();
+
+ /**
+ * Returns the value of the '<em><b>Mask Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mask Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mask Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource_MaskElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getMaskElements();
+
+ /**
+ * Returns the value of the '<em><b>Flush Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Flush Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Flush Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource_FlushServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getFlushServices();
+
+ /**
+ * Returns the value of the '<em><b>Signal Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Signal Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Signal Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource_SignalServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getSignalServices();
+
+ /**
+ * Returns the value of the '<em><b>Wait Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Wait Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Wait Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource_WaitServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getWaitServices();
+
+ /**
+ * Returns the value of the '<em><b>Clear Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Clear Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Clear Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResource_ClearServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getClearServices();
+
+} // NotificationResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind.java
new file mode 100644
index 00000000000..d8932e72d2c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/NotificationResourceKind.java
@@ -0,0 +1,273 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Notification Resource Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getNotificationResourceKind()
+ * @model
+ * @generated
+ */
+public enum NotificationResourceKind implements Enumerator {
+ /**
+ * The '<em><b>Event</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EVENT_VALUE
+ * @generated
+ * @ordered
+ */
+ EVENT(0, "Event", "Event"),
+
+ /**
+ * The '<em><b>Barrier</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #BARRIER_VALUE
+ * @generated
+ * @ordered
+ */
+ BARRIER(1, "Barrier", "Barrier"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(2, "Undef", "Undef"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(3, "Other", "Other");
+
+ /**
+ * The '<em><b>Event</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Event</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EVENT
+ * @model name="Event"
+ * @generated
+ * @ordered
+ */
+ public static final int EVENT_VALUE = 0;
+
+ /**
+ * The '<em><b>Barrier</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Barrier</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #BARRIER
+ * @model name="Barrier"
+ * @generated
+ * @ordered
+ */
+ public static final int BARRIER_VALUE = 1;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="Undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 2;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="Other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 3;
+
+ /**
+ * An array of all the '<em><b>Notification Resource Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final NotificationResourceKind[] VALUES_ARRAY =
+ new NotificationResourceKind[] {
+ EVENT,
+ BARRIER,
+ UNDEF,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Notification Resource Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<NotificationResourceKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Notification Resource Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotificationResourceKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ NotificationResourceKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Notification Resource Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotificationResourceKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ NotificationResourceKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Notification Resource Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static NotificationResourceKind get(int value) {
+ switch (value) {
+ case EVENT_VALUE: return EVENT;
+ case BARRIER_VALUE: return BARRIER;
+ case UNDEF_VALUE: return UNDEF;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private NotificationResourceKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //NotificationResourceKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind.java
new file mode 100644
index 00000000000..7f687c2f410
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/QueuePolicyKind.java
@@ -0,0 +1,300 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>Queue Policy Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getQueuePolicyKind()
+ * @model
+ * @generated
+ */
+public enum QueuePolicyKind implements Enumerator {
+ /**
+ * The '<em><b>FIFO</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FIFO_VALUE
+ * @generated
+ * @ordered
+ */
+ FIFO(0, "FIFO", "FIFO"),
+
+ /**
+ * The '<em><b>LIFO</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #LIFO_VALUE
+ * @generated
+ * @ordered
+ */
+ LIFO(1, "LIFO", "LIFO"),
+
+ /**
+ * The '<em><b>Priority</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PRIORITY_VALUE
+ * @generated
+ * @ordered
+ */
+ PRIORITY(2, "Priority", "Priority"),
+
+ /**
+ * The '<em><b>Undef</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNDEF_VALUE
+ * @generated
+ * @ordered
+ */
+ UNDEF(3, "Undef", "Undef"),
+
+ /**
+ * The '<em><b>Other</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OTHER_VALUE
+ * @generated
+ * @ordered
+ */
+ OTHER(4, "Other", "Other");
+
+ /**
+ * The '<em><b>FIFO</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FIFO</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FIFO
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int FIFO_VALUE = 0;
+
+ /**
+ * The '<em><b>LIFO</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>LIFO</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #LIFO
+ * @model
+ * @generated
+ * @ordered
+ */
+ public static final int LIFO_VALUE = 1;
+
+ /**
+ * The '<em><b>Priority</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Priority</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PRIORITY
+ * @model name="Priority"
+ * @generated
+ * @ordered
+ */
+ public static final int PRIORITY_VALUE = 2;
+
+ /**
+ * The '<em><b>Undef</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Undef</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNDEF
+ * @model name="Undef"
+ * @generated
+ * @ordered
+ */
+ public static final int UNDEF_VALUE = 3;
+
+ /**
+ * The '<em><b>Other</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Other</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OTHER
+ * @model name="Other"
+ * @generated
+ * @ordered
+ */
+ public static final int OTHER_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Queue Policy Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final QueuePolicyKind[] VALUES_ARRAY =
+ new QueuePolicyKind[] {
+ FIFO,
+ LIFO,
+ PRIORITY,
+ UNDEF,
+ OTHER,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Queue Policy Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<QueuePolicyKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Queue Policy Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static QueuePolicyKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ QueuePolicyKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Queue Policy Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static QueuePolicyKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ QueuePolicyKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Queue Policy Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static QueuePolicyKind get(int value) {
+ switch (value) {
+ case FIFO_VALUE: return FIFO;
+ case LIFO_VALUE: return LIFO;
+ case PRIORITY_VALUE: return PRIORITY;
+ case UNDEF_VALUE: return UNDEF;
+ case OTHER_VALUE: return OTHER;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private QueuePolicyKind(int value, String name, String literal) {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral() {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ return literal;
+ }
+
+} //QueuePolicyKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SW_InteractionFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SW_InteractionFactory.java
new file mode 100644
index 00000000000..98e2430e45b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SW_InteractionFactory.java
@@ -0,0 +1,80 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage
+ * @generated
+ */
+public interface SW_InteractionFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SW_InteractionFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Shared Data Com Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Shared Data Com Resource</em>'.
+ * @generated
+ */
+ SharedDataComResource createSharedDataComResource();
+
+ /**
+ * Returns a new object of class '<em>Message Com Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Message Com Resource</em>'.
+ * @generated
+ */
+ MessageComResource createMessageComResource();
+
+ /**
+ * Returns a new object of class '<em>Notification Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Notification Resource</em>'.
+ * @generated
+ */
+ NotificationResource createNotificationResource();
+
+ /**
+ * Returns a new object of class '<em>Sw Mutual Exclusion Resource</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sw Mutual Exclusion Resource</em>'.
+ * @generated
+ */
+ SwMutualExclusionResource createSwMutualExclusionResource();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SW_InteractionPackage getSW_InteractionPackage();
+
+} //SW_InteractionFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SW_InteractionPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SW_InteractionPackage.java
new file mode 100644
index 00000000000..45f63ab831b
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SW_InteractionPackage.java
@@ -0,0 +1,2628 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SW_InteractionPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "SW_Interaction";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/SW_Interaction/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "SW_Interaction";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SW_InteractionPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwInteractionResourceImpl <em>Sw Interaction Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwInteractionResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSwInteractionResource()
+ * @generated
+ */
+ int SW_INTERACTION_RESOURCE = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__RES_MULT = SW_ResourceCorePackage.SW_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__IS_PROTECTED = SW_ResourceCorePackage.SW_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__IS_ACTIVE = SW_ResourceCorePackage.SW_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__BASE_PROPERTY = SW_ResourceCorePackage.SW_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_ResourceCorePackage.SW_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__BASE_CLASSIFIER = SW_ResourceCorePackage.SW_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__BASE_LIFELINE = SW_ResourceCorePackage.SW_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_ResourceCorePackage.SW_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__IDENTIFIER_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__STATE_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__CREATE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__DELETE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__INITIALIZE_SERVICES = SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Waiting Policy Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Sw Interaction Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_INTERACTION_RESOURCE_FEATURE_COUNT = SW_ResourceCorePackage.SW_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl <em>Sw Communication Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSwCommunicationResource()
+ * @generated
+ */
+ int SW_COMMUNICATION_RESOURCE = 1;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__RES_MULT = SW_INTERACTION_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__IS_PROTECTED = SW_INTERACTION_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__IS_ACTIVE = SW_INTERACTION_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__BASE_PROPERTY = SW_INTERACTION_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_INTERACTION_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__BASE_CLASSIFIER = SW_INTERACTION_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__BASE_LIFELINE = SW_INTERACTION_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_INTERACTION_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__IDENTIFIER_ELEMENTS = SW_INTERACTION_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__STATE_ELEMENTS = SW_INTERACTION_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_INTERACTION_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__CREATE_SERVICES = SW_INTERACTION_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__DELETE_SERVICES = SW_INTERACTION_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__INITIALIZE_SERVICES = SW_INTERACTION_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION = SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__WAITING_QUEUE_POLICY = SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__WAITING_QUEUE_CAPACITY = SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Policy Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__WAITING_POLICY_ELEMENTS = SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__SPEED_FACTOR = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Transm Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__TRANSM_MODE = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Block T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__BLOCK_T = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Packet T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__PACKET_T = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Capacity</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE__CAPACITY = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Sw Communication Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_COMMUNICATION_RESOURCE_FEATURE_COUNT = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwSynchronizationResourceImpl <em>Sw Synchronization Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwSynchronizationResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSwSynchronizationResource()
+ * @generated
+ */
+ int SW_SYNCHRONIZATION_RESOURCE = 2;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__RES_MULT = SW_INTERACTION_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__IS_PROTECTED = SW_INTERACTION_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__IS_ACTIVE = SW_INTERACTION_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__BASE_PROPERTY = SW_INTERACTION_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_INTERACTION_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__BASE_CLASSIFIER = SW_INTERACTION_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__BASE_LIFELINE = SW_INTERACTION_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_INTERACTION_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__IDENTIFIER_ELEMENTS = SW_INTERACTION_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__STATE_ELEMENTS = SW_INTERACTION_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_INTERACTION_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__CREATE_SERVICES = SW_INTERACTION_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__DELETE_SERVICES = SW_INTERACTION_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__INITIALIZE_SERVICES = SW_INTERACTION_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION = SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__WAITING_QUEUE_POLICY = SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__WAITING_QUEUE_CAPACITY = SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Policy Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE__WAITING_POLICY_ELEMENTS = SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS;
+
+ /**
+ * The number of structural features of the '<em>Sw Synchronization Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT = SW_INTERACTION_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SharedDataComResourceImpl <em>Shared Data Com Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SharedDataComResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSharedDataComResource()
+ * @generated
+ */
+ int SHARED_DATA_COM_RESOURCE = 3;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__RES_MULT = SW_COMMUNICATION_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__IS_PROTECTED = SW_COMMUNICATION_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__IS_ACTIVE = SW_COMMUNICATION_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__BASE_PROPERTY = SW_COMMUNICATION_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_COMMUNICATION_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__BASE_CLASSIFIER = SW_COMMUNICATION_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__BASE_LIFELINE = SW_COMMUNICATION_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_COMMUNICATION_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__IDENTIFIER_ELEMENTS = SW_COMMUNICATION_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__STATE_ELEMENTS = SW_COMMUNICATION_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_COMMUNICATION_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__CREATE_SERVICES = SW_COMMUNICATION_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__DELETE_SERVICES = SW_COMMUNICATION_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__INITIALIZE_SERVICES = SW_COMMUNICATION_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION = SW_COMMUNICATION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__WAITING_QUEUE_POLICY = SW_COMMUNICATION_RESOURCE__WAITING_QUEUE_POLICY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__WAITING_QUEUE_CAPACITY = SW_COMMUNICATION_RESOURCE__WAITING_QUEUE_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Policy Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__WAITING_POLICY_ELEMENTS = SW_COMMUNICATION_RESOURCE__WAITING_POLICY_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__SPEED_FACTOR = SW_COMMUNICATION_RESOURCE__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__MAIN_SCHEDULER = SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__ELEMENT_SIZE = SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__BASE_CONNECTOR = SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Transm Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__TRANSM_MODE = SW_COMMUNICATION_RESOURCE__TRANSM_MODE;
+
+ /**
+ * The feature id for the '<em><b>Block T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__BLOCK_T = SW_COMMUNICATION_RESOURCE__BLOCK_T;
+
+ /**
+ * The feature id for the '<em><b>Packet T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__PACKET_T = SW_COMMUNICATION_RESOURCE__PACKET_T;
+
+ /**
+ * The feature id for the '<em><b>Capacity</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__CAPACITY = SW_COMMUNICATION_RESOURCE__CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Read Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__READ_SERVICES = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Write Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE__WRITE_SERVICES = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Shared Data Com Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SHARED_DATA_COM_RESOURCE_FEATURE_COUNT = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl <em>Message Com Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getMessageComResource()
+ * @generated
+ */
+ int MESSAGE_COM_RESOURCE = 4;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__RES_MULT = SW_COMMUNICATION_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__IS_PROTECTED = SW_COMMUNICATION_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__IS_ACTIVE = SW_COMMUNICATION_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__BASE_PROPERTY = SW_COMMUNICATION_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_COMMUNICATION_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__BASE_CLASSIFIER = SW_COMMUNICATION_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__BASE_LIFELINE = SW_COMMUNICATION_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_COMMUNICATION_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__IDENTIFIER_ELEMENTS = SW_COMMUNICATION_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__STATE_ELEMENTS = SW_COMMUNICATION_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_COMMUNICATION_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__CREATE_SERVICES = SW_COMMUNICATION_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__DELETE_SERVICES = SW_COMMUNICATION_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__INITIALIZE_SERVICES = SW_COMMUNICATION_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION = SW_COMMUNICATION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__WAITING_QUEUE_POLICY = SW_COMMUNICATION_RESOURCE__WAITING_QUEUE_POLICY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__WAITING_QUEUE_CAPACITY = SW_COMMUNICATION_RESOURCE__WAITING_QUEUE_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Policy Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__WAITING_POLICY_ELEMENTS = SW_COMMUNICATION_RESOURCE__WAITING_POLICY_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Speed Factor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__SPEED_FACTOR = SW_COMMUNICATION_RESOURCE__SPEED_FACTOR;
+
+ /**
+ * The feature id for the '<em><b>Main Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__MAIN_SCHEDULER = SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER;
+
+ /**
+ * The feature id for the '<em><b>Element Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__ELEMENT_SIZE = SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE;
+
+ /**
+ * The feature id for the '<em><b>Base Connector</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__BASE_CONNECTOR = SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR;
+
+ /**
+ * The feature id for the '<em><b>Transm Mode</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__TRANSM_MODE = SW_COMMUNICATION_RESOURCE__TRANSM_MODE;
+
+ /**
+ * The feature id for the '<em><b>Block T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__BLOCK_T = SW_COMMUNICATION_RESOURCE__BLOCK_T;
+
+ /**
+ * The feature id for the '<em><b>Packet T</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__PACKET_T = SW_COMMUNICATION_RESOURCE__PACKET_T;
+
+ /**
+ * The feature id for the '<em><b>Capacity</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__CAPACITY = SW_COMMUNICATION_RESOURCE__CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Is Fixed Message Size</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__IS_FIXED_MESSAGE_SIZE = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Mechanism</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__MECHANISM = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Message Size Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__MESSAGE_SIZE_ELEMENTS = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Message Queue Capacity Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_CAPACITY_ELEMENTS = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Message Queue Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_POLICY = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Send Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__SEND_SERVICES = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Receive Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE__RECEIVE_SERVICES = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The number of structural features of the '<em>Message Com Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MESSAGE_COM_RESOURCE_FEATURE_COUNT = SW_COMMUNICATION_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl <em>Notification Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getNotificationResource()
+ * @generated
+ */
+ int NOTIFICATION_RESOURCE = 5;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__RES_MULT = SW_SYNCHRONIZATION_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__IS_PROTECTED = SW_SYNCHRONIZATION_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__IS_ACTIVE = SW_SYNCHRONIZATION_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__BASE_PROPERTY = SW_SYNCHRONIZATION_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_SYNCHRONIZATION_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__BASE_CLASSIFIER = SW_SYNCHRONIZATION_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__BASE_LIFELINE = SW_SYNCHRONIZATION_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_SYNCHRONIZATION_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__IDENTIFIER_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__STATE_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_SYNCHRONIZATION_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__CREATE_SERVICES = SW_SYNCHRONIZATION_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__DELETE_SERVICES = SW_SYNCHRONIZATION_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__INITIALIZE_SERVICES = SW_SYNCHRONIZATION_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION = SW_SYNCHRONIZATION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__WAITING_QUEUE_POLICY = SW_SYNCHRONIZATION_RESOURCE__WAITING_QUEUE_POLICY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__WAITING_QUEUE_CAPACITY = SW_SYNCHRONIZATION_RESOURCE__WAITING_QUEUE_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Policy Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__WAITING_POLICY_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE__WAITING_POLICY_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Occurence</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__OCCURENCE = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Mechanism</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__MECHANISM = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Occurence Count Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__OCCURENCE_COUNT_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Mask Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__MASK_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Flush Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__FLUSH_SERVICES = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Signal Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__SIGNAL_SERVICES = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Wait Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__WAIT_SERVICES = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Clear Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE__CLEAR_SERVICES = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Notification Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NOTIFICATION_RESOURCE_FEATURE_COUNT = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl <em>Sw Mutual Exclusion Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSwMutualExclusionResource()
+ * @generated
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE = 6;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__RES_MULT = SW_SYNCHRONIZATION_RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__IS_PROTECTED = SW_SYNCHRONIZATION_RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__IS_ACTIVE = SW_SYNCHRONIZATION_RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__BASE_PROPERTY = SW_SYNCHRONIZATION_RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__BASE_INSTANCE_SPECIFICATION = SW_SYNCHRONIZATION_RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__BASE_CLASSIFIER = SW_SYNCHRONIZATION_RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__BASE_LIFELINE = SW_SYNCHRONIZATION_RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__BASE_CONNECTABLE_ELEMENT = SW_SYNCHRONIZATION_RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__IDENTIFIER_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE__IDENTIFIER_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__STATE_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE__STATE_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__MEMORY_SIZE_FOOTPRINT = SW_SYNCHRONIZATION_RESOURCE__MEMORY_SIZE_FOOTPRINT;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__CREATE_SERVICES = SW_SYNCHRONIZATION_RESOURCE__CREATE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__DELETE_SERVICES = SW_SYNCHRONIZATION_RESOURCE__DELETE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__INITIALIZE_SERVICES = SW_SYNCHRONIZATION_RESOURCE__INITIALIZE_SERVICES;
+
+ /**
+ * The feature id for the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION = SW_SYNCHRONIZATION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Policy</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__WAITING_QUEUE_POLICY = SW_SYNCHRONIZATION_RESOURCE__WAITING_QUEUE_POLICY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Queue Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__WAITING_QUEUE_CAPACITY = SW_SYNCHRONIZATION_RESOURCE__WAITING_QUEUE_CAPACITY;
+
+ /**
+ * The feature id for the '<em><b>Waiting Policy Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__WAITING_POLICY_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE__WAITING_POLICY_ELEMENTS;
+
+ /**
+ * The feature id for the '<em><b>Protect Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Ceiling</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__CEILING = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Other Protect Protocol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Scheduler</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__SCHEDULER = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Mechanism</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__MECHANISM = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Concurrent Access Protocol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__CONCURRENT_ACCESS_PROTOCOL = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Access Token Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__ACCESS_TOKEN_ELEMENTS = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Release Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__RELEASE_SERVICES = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Acquire Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE__ACQUIRE_SERVICES = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 8;
+
+ /**
+ * The number of structural features of the '<em>Sw Mutual Exclusion Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_MUTUAL_EXCLUSION_RESOURCE_FEATURE_COUNT = SW_SYNCHRONIZATION_RESOURCE_FEATURE_COUNT + 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind <em>Queue Policy Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getQueuePolicyKind()
+ * @generated
+ */
+ int QUEUE_POLICY_KIND = 7;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind <em>Message Resource Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getMessageResourceKind()
+ * @generated
+ */
+ int MESSAGE_RESOURCE_KIND = 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind <em>Notification Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getNotificationKind()
+ * @generated
+ */
+ int NOTIFICATION_KIND = 9;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind <em>Notification Resource Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getNotificationResourceKind()
+ * @generated
+ */
+ int NOTIFICATION_RESOURCE_KIND = 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind <em>Mutual Exclusion Resource Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getMutualExclusionResourceKind()
+ * @generated
+ */
+ int MUTUAL_EXCLUSION_RESOURCE_KIND = 11;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind <em>Concurrent Access Protocol Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getConcurrentAccessProtocolKind()
+ * @generated
+ */
+ int CONCURRENT_ACCESS_PROTOCOL_KIND = 12;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource <em>Sw Interaction Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Interaction Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource
+ * @generated
+ */
+ EClass getSwInteractionResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#isIsIntraMemoryPartitionInteraction <em>Is Intra Memory Partition Interaction</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Intra Memory Partition Interaction</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#isIsIntraMemoryPartitionInteraction()
+ * @see #getSwInteractionResource()
+ * @generated
+ */
+ EAttribute getSwInteractionResource_IsIntraMemoryPartitionInteraction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingQueuePolicy <em>Waiting Queue Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Waiting Queue Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingQueuePolicy()
+ * @see #getSwInteractionResource()
+ * @generated
+ */
+ EAttribute getSwInteractionResource_WaitingQueuePolicy();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingQueueCapacity <em>Waiting Queue Capacity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Waiting Queue Capacity</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingQueueCapacity()
+ * @see #getSwInteractionResource()
+ * @generated
+ */
+ EAttribute getSwInteractionResource_WaitingQueueCapacity();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingPolicyElements <em>Waiting Policy Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Waiting Policy Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingPolicyElements()
+ * @see #getSwInteractionResource()
+ * @generated
+ */
+ EReference getSwInteractionResource_WaitingPolicyElements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwCommunicationResource <em>Sw Communication Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Communication Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwCommunicationResource
+ * @generated
+ */
+ EClass getSwCommunicationResource();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwSynchronizationResource <em>Sw Synchronization Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Synchronization Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwSynchronizationResource
+ * @generated
+ */
+ EClass getSwSynchronizationResource();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource <em>Shared Data Com Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Shared Data Com Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource
+ * @generated
+ */
+ EClass getSharedDataComResource();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource#getReadServices <em>Read Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Read Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource#getReadServices()
+ * @see #getSharedDataComResource()
+ * @generated
+ */
+ EReference getSharedDataComResource_ReadServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource#getWriteServices <em>Write Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Write Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource#getWriteServices()
+ * @see #getSharedDataComResource()
+ * @generated
+ */
+ EReference getSharedDataComResource_WriteServices();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource <em>Message Com Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Message Com Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource
+ * @generated
+ */
+ EClass getMessageComResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#isIsFixedMessageSize <em>Is Fixed Message Size</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Fixed Message Size</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#isIsFixedMessageSize()
+ * @see #getMessageComResource()
+ * @generated
+ */
+ EAttribute getMessageComResource_IsFixedMessageSize();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMechanism <em>Mechanism</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mechanism</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMechanism()
+ * @see #getMessageComResource()
+ * @generated
+ */
+ EAttribute getMessageComResource_Mechanism();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageSizeElements <em>Message Size Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Message Size Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageSizeElements()
+ * @see #getMessageComResource()
+ * @generated
+ */
+ EReference getMessageComResource_MessageSizeElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageQueueCapacityElements <em>Message Queue Capacity Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Message Queue Capacity Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageQueueCapacityElements()
+ * @see #getMessageComResource()
+ * @generated
+ */
+ EReference getMessageComResource_MessageQueueCapacityElements();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageQueuePolicy <em>Message Queue Policy</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Message Queue Policy</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getMessageQueuePolicy()
+ * @see #getMessageComResource()
+ * @generated
+ */
+ EAttribute getMessageComResource_MessageQueuePolicy();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getSendServices <em>Send Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Send Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getSendServices()
+ * @see #getMessageComResource()
+ * @generated
+ */
+ EReference getMessageComResource_SendServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getReceiveServices <em>Receive Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Receive Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource#getReceiveServices()
+ * @see #getMessageComResource()
+ * @generated
+ */
+ EReference getMessageComResource_ReceiveServices();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource <em>Notification Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Notification Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource
+ * @generated
+ */
+ EClass getNotificationResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getOccurence <em>Occurence</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Occurence</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getOccurence()
+ * @see #getNotificationResource()
+ * @generated
+ */
+ EAttribute getNotificationResource_Occurence();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getMechanism <em>Mechanism</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mechanism</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getMechanism()
+ * @see #getNotificationResource()
+ * @generated
+ */
+ EAttribute getNotificationResource_Mechanism();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getOccurenceCountElements <em>Occurence Count Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Occurence Count Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getOccurenceCountElements()
+ * @see #getNotificationResource()
+ * @generated
+ */
+ EReference getNotificationResource_OccurenceCountElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getMaskElements <em>Mask Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Mask Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getMaskElements()
+ * @see #getNotificationResource()
+ * @generated
+ */
+ EReference getNotificationResource_MaskElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getFlushServices <em>Flush Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Flush Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getFlushServices()
+ * @see #getNotificationResource()
+ * @generated
+ */
+ EReference getNotificationResource_FlushServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getSignalServices <em>Signal Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Signal Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getSignalServices()
+ * @see #getNotificationResource()
+ * @generated
+ */
+ EReference getNotificationResource_SignalServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getWaitServices <em>Wait Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Wait Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getWaitServices()
+ * @see #getNotificationResource()
+ * @generated
+ */
+ EReference getNotificationResource_WaitServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getClearServices <em>Clear Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Clear Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource#getClearServices()
+ * @see #getNotificationResource()
+ * @generated
+ */
+ EReference getNotificationResource_ClearServices();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource <em>Sw Mutual Exclusion Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Mutual Exclusion Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource
+ * @generated
+ */
+ EClass getSwMutualExclusionResource();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getMechanism <em>Mechanism</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Mechanism</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getMechanism()
+ * @see #getSwMutualExclusionResource()
+ * @generated
+ */
+ EAttribute getSwMutualExclusionResource_Mechanism();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getConcurrentAccessProtocol <em>Concurrent Access Protocol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Concurrent Access Protocol</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getConcurrentAccessProtocol()
+ * @see #getSwMutualExclusionResource()
+ * @generated
+ */
+ EAttribute getSwMutualExclusionResource_ConcurrentAccessProtocol();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getAccessTokenElements <em>Access Token Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Access Token Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getAccessTokenElements()
+ * @see #getSwMutualExclusionResource()
+ * @generated
+ */
+ EReference getSwMutualExclusionResource_AccessTokenElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getReleaseServices <em>Release Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Release Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getReleaseServices()
+ * @see #getSwMutualExclusionResource()
+ * @generated
+ */
+ EReference getSwMutualExclusionResource_ReleaseServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getAcquireServices <em>Acquire Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Acquire Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getAcquireServices()
+ * @see #getSwMutualExclusionResource()
+ * @generated
+ */
+ EReference getSwMutualExclusionResource_AcquireServices();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind <em>Queue Policy Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Queue Policy Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind
+ * @generated
+ */
+ EEnum getQueuePolicyKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind <em>Message Resource Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Message Resource Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind
+ * @generated
+ */
+ EEnum getMessageResourceKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind <em>Notification Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Notification Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind
+ * @generated
+ */
+ EEnum getNotificationKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind <em>Notification Resource Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Notification Resource Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind
+ * @generated
+ */
+ EEnum getNotificationResourceKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind <em>Mutual Exclusion Resource Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Mutual Exclusion Resource Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind
+ * @generated
+ */
+ EEnum getMutualExclusionResourceKind();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind <em>Concurrent Access Protocol Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Concurrent Access Protocol Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind
+ * @generated
+ */
+ EEnum getConcurrentAccessProtocolKind();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ SW_InteractionFactory getSW_InteractionFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwInteractionResourceImpl <em>Sw Interaction Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwInteractionResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSwInteractionResource()
+ * @generated
+ */
+ EClass SW_INTERACTION_RESOURCE = eINSTANCE.getSwInteractionResource();
+
+ /**
+ * The meta object literal for the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION = eINSTANCE.getSwInteractionResource_IsIntraMemoryPartitionInteraction();
+
+ /**
+ * The meta object literal for the '<em><b>Waiting Queue Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY = eINSTANCE.getSwInteractionResource_WaitingQueuePolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Waiting Queue Capacity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY = eINSTANCE.getSwInteractionResource_WaitingQueueCapacity();
+
+ /**
+ * The meta object literal for the '<em><b>Waiting Policy Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS = eINSTANCE.getSwInteractionResource_WaitingPolicyElements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl <em>Sw Communication Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSwCommunicationResource()
+ * @generated
+ */
+ EClass SW_COMMUNICATION_RESOURCE = eINSTANCE.getSwCommunicationResource();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwSynchronizationResourceImpl <em>Sw Synchronization Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwSynchronizationResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSwSynchronizationResource()
+ * @generated
+ */
+ EClass SW_SYNCHRONIZATION_RESOURCE = eINSTANCE.getSwSynchronizationResource();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SharedDataComResourceImpl <em>Shared Data Com Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SharedDataComResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSharedDataComResource()
+ * @generated
+ */
+ EClass SHARED_DATA_COM_RESOURCE = eINSTANCE.getSharedDataComResource();
+
+ /**
+ * The meta object literal for the '<em><b>Read Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SHARED_DATA_COM_RESOURCE__READ_SERVICES = eINSTANCE.getSharedDataComResource_ReadServices();
+
+ /**
+ * The meta object literal for the '<em><b>Write Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SHARED_DATA_COM_RESOURCE__WRITE_SERVICES = eINSTANCE.getSharedDataComResource_WriteServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl <em>Message Com Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getMessageComResource()
+ * @generated
+ */
+ EClass MESSAGE_COM_RESOURCE = eINSTANCE.getMessageComResource();
+
+ /**
+ * The meta object literal for the '<em><b>Is Fixed Message Size</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MESSAGE_COM_RESOURCE__IS_FIXED_MESSAGE_SIZE = eINSTANCE.getMessageComResource_IsFixedMessageSize();
+
+ /**
+ * The meta object literal for the '<em><b>Mechanism</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MESSAGE_COM_RESOURCE__MECHANISM = eINSTANCE.getMessageComResource_Mechanism();
+
+ /**
+ * The meta object literal for the '<em><b>Message Size Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MESSAGE_COM_RESOURCE__MESSAGE_SIZE_ELEMENTS = eINSTANCE.getMessageComResource_MessageSizeElements();
+
+ /**
+ * The meta object literal for the '<em><b>Message Queue Capacity Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_CAPACITY_ELEMENTS = eINSTANCE.getMessageComResource_MessageQueueCapacityElements();
+
+ /**
+ * The meta object literal for the '<em><b>Message Queue Policy</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_POLICY = eINSTANCE.getMessageComResource_MessageQueuePolicy();
+
+ /**
+ * The meta object literal for the '<em><b>Send Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MESSAGE_COM_RESOURCE__SEND_SERVICES = eINSTANCE.getMessageComResource_SendServices();
+
+ /**
+ * The meta object literal for the '<em><b>Receive Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MESSAGE_COM_RESOURCE__RECEIVE_SERVICES = eINSTANCE.getMessageComResource_ReceiveServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl <em>Notification Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getNotificationResource()
+ * @generated
+ */
+ EClass NOTIFICATION_RESOURCE = eINSTANCE.getNotificationResource();
+
+ /**
+ * The meta object literal for the '<em><b>Occurence</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOTIFICATION_RESOURCE__OCCURENCE = eINSTANCE.getNotificationResource_Occurence();
+
+ /**
+ * The meta object literal for the '<em><b>Mechanism</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NOTIFICATION_RESOURCE__MECHANISM = eINSTANCE.getNotificationResource_Mechanism();
+
+ /**
+ * The meta object literal for the '<em><b>Occurence Count Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NOTIFICATION_RESOURCE__OCCURENCE_COUNT_ELEMENTS = eINSTANCE.getNotificationResource_OccurenceCountElements();
+
+ /**
+ * The meta object literal for the '<em><b>Mask Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NOTIFICATION_RESOURCE__MASK_ELEMENTS = eINSTANCE.getNotificationResource_MaskElements();
+
+ /**
+ * The meta object literal for the '<em><b>Flush Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NOTIFICATION_RESOURCE__FLUSH_SERVICES = eINSTANCE.getNotificationResource_FlushServices();
+
+ /**
+ * The meta object literal for the '<em><b>Signal Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NOTIFICATION_RESOURCE__SIGNAL_SERVICES = eINSTANCE.getNotificationResource_SignalServices();
+
+ /**
+ * The meta object literal for the '<em><b>Wait Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NOTIFICATION_RESOURCE__WAIT_SERVICES = eINSTANCE.getNotificationResource_WaitServices();
+
+ /**
+ * The meta object literal for the '<em><b>Clear Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NOTIFICATION_RESOURCE__CLEAR_SERVICES = eINSTANCE.getNotificationResource_ClearServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl <em>Sw Mutual Exclusion Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getSwMutualExclusionResource()
+ * @generated
+ */
+ EClass SW_MUTUAL_EXCLUSION_RESOURCE = eINSTANCE.getSwMutualExclusionResource();
+
+ /**
+ * The meta object literal for the '<em><b>Mechanism</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_MUTUAL_EXCLUSION_RESOURCE__MECHANISM = eINSTANCE.getSwMutualExclusionResource_Mechanism();
+
+ /**
+ * The meta object literal for the '<em><b>Concurrent Access Protocol</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_MUTUAL_EXCLUSION_RESOURCE__CONCURRENT_ACCESS_PROTOCOL = eINSTANCE.getSwMutualExclusionResource_ConcurrentAccessProtocol();
+
+ /**
+ * The meta object literal for the '<em><b>Access Token Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_MUTUAL_EXCLUSION_RESOURCE__ACCESS_TOKEN_ELEMENTS = eINSTANCE.getSwMutualExclusionResource_AccessTokenElements();
+
+ /**
+ * The meta object literal for the '<em><b>Release Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_MUTUAL_EXCLUSION_RESOURCE__RELEASE_SERVICES = eINSTANCE.getSwMutualExclusionResource_ReleaseServices();
+
+ /**
+ * The meta object literal for the '<em><b>Acquire Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_MUTUAL_EXCLUSION_RESOURCE__ACQUIRE_SERVICES = eINSTANCE.getSwMutualExclusionResource_AcquireServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind <em>Queue Policy Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getQueuePolicyKind()
+ * @generated
+ */
+ EEnum QUEUE_POLICY_KIND = eINSTANCE.getQueuePolicyKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind <em>Message Resource Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getMessageResourceKind()
+ * @generated
+ */
+ EEnum MESSAGE_RESOURCE_KIND = eINSTANCE.getMessageResourceKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind <em>Notification Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getNotificationKind()
+ * @generated
+ */
+ EEnum NOTIFICATION_KIND = eINSTANCE.getNotificationKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind <em>Notification Resource Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getNotificationResourceKind()
+ * @generated
+ */
+ EEnum NOTIFICATION_RESOURCE_KIND = eINSTANCE.getNotificationResourceKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind <em>Mutual Exclusion Resource Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getMutualExclusionResourceKind()
+ * @generated
+ */
+ EEnum MUTUAL_EXCLUSION_RESOURCE_KIND = eINSTANCE.getMutualExclusionResourceKind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind <em>Concurrent Access Protocol Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl#getConcurrentAccessProtocolKind()
+ * @generated
+ */
+ EEnum CONCURRENT_ACCESS_PROTOCOL_KIND = eINSTANCE.getConcurrentAccessProtocolKind();
+
+ }
+
+} //SW_InteractionPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SharedDataComResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SharedDataComResource.java
new file mode 100644
index 00000000000..35bce2ebb41
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SharedDataComResource.java
@@ -0,0 +1,70 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Shared Data Com Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource#getReadServices <em>Read Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource#getWriteServices <em>Write Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSharedDataComResource()
+ * @model
+ * @generated
+ */
+public interface SharedDataComResource extends SwCommunicationResource {
+ /**
+ * Returns the value of the '<em><b>Read Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Read Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Read Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSharedDataComResource_ReadServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getReadServices();
+
+ /**
+ * Returns the value of the '<em><b>Write Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Write Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Write Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSharedDataComResource_WriteServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getWriteServices();
+
+} // SharedDataComResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwCommunicationResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwCommunicationResource.java
new file mode 100644
index 00000000000..ec03c7a214e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwCommunicationResource.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Communication Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwCommunicationResource()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SwCommunicationResource extends SwInteractionResource, CommunicationMedia {
+} // SwCommunicationResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource.java
new file mode 100644
index 00000000000..6394ee38916
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwInteractionResource.java
@@ -0,0 +1,139 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Interaction Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#isIsIntraMemoryPartitionInteraction <em>Is Intra Memory Partition Interaction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingQueuePolicy <em>Waiting Queue Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingQueueCapacity <em>Waiting Queue Capacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingPolicyElements <em>Waiting Policy Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwInteractionResource()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SwInteractionResource extends SwResource {
+ /**
+ * Returns the value of the '<em><b>Is Intra Memory Partition Interaction</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Intra Memory Partition Interaction</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Intra Memory Partition Interaction</em>' attribute.
+ * @see #setIsIntraMemoryPartitionInteraction(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwInteractionResource_IsIntraMemoryPartitionInteraction()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ boolean isIsIntraMemoryPartitionInteraction();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#isIsIntraMemoryPartitionInteraction <em>Is Intra Memory Partition Interaction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Intra Memory Partition Interaction</em>' attribute.
+ * @see #isIsIntraMemoryPartitionInteraction()
+ * @generated
+ */
+ void setIsIntraMemoryPartitionInteraction(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Waiting Queue Policy</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Waiting Queue Policy</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Waiting Queue Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind
+ * @see #setWaitingQueuePolicy(QueuePolicyKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwInteractionResource_WaitingQueuePolicy()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ QueuePolicyKind getWaitingQueuePolicy();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingQueuePolicy <em>Waiting Queue Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Waiting Queue Policy</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind
+ * @see #getWaitingQueuePolicy()
+ * @generated
+ */
+ void setWaitingQueuePolicy(QueuePolicyKind value);
+
+ /**
+ * Returns the value of the '<em><b>Waiting Queue Capacity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Waiting Queue Capacity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Waiting Queue Capacity</em>' attribute.
+ * @see #setWaitingQueueCapacity(int)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwInteractionResource_WaitingQueueCapacity()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Integer" ordered="false"
+ * @generated
+ */
+ int getWaitingQueueCapacity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource#getWaitingQueueCapacity <em>Waiting Queue Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Waiting Queue Capacity</em>' attribute.
+ * @see #getWaitingQueueCapacity()
+ * @generated
+ */
+ void setWaitingQueueCapacity(int value);
+
+ /**
+ * Returns the value of the '<em><b>Waiting Policy Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Waiting Policy Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Waiting Policy Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwInteractionResource_WaitingPolicyElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getWaitingPolicyElements();
+
+} // SwInteractionResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource.java
new file mode 100644
index 00000000000..6a415118b4c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwMutualExclusionResource.java
@@ -0,0 +1,150 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.MutualExclusionResource;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Mutual Exclusion Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getMechanism <em>Mechanism</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getConcurrentAccessProtocol <em>Concurrent Access Protocol</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getAccessTokenElements <em>Access Token Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getReleaseServices <em>Release Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getAcquireServices <em>Acquire Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwMutualExclusionResource()
+ * @model
+ * @generated
+ */
+public interface SwMutualExclusionResource extends SwSynchronizationResource, MutualExclusionResource {
+ /**
+ * Returns the value of the '<em><b>Mechanism</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mechanism</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mechanism</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind
+ * @see #setMechanism(MutualExclusionResourceKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwMutualExclusionResource_Mechanism()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ MutualExclusionResourceKind getMechanism();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getMechanism <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mechanism</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind
+ * @see #getMechanism()
+ * @generated
+ */
+ void setMechanism(MutualExclusionResourceKind value);
+
+ /**
+ * Returns the value of the '<em><b>Concurrent Access Protocol</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Concurrent Access Protocol</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Concurrent Access Protocol</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind
+ * @see #setConcurrentAccessProtocol(ConcurrentAccessProtocolKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwMutualExclusionResource_ConcurrentAccessProtocol()
+ * @model unique="false" ordered="false"
+ * @generated
+ */
+ ConcurrentAccessProtocolKind getConcurrentAccessProtocol();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource#getConcurrentAccessProtocol <em>Concurrent Access Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Concurrent Access Protocol</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind
+ * @see #getConcurrentAccessProtocol()
+ * @generated
+ */
+ void setConcurrentAccessProtocol(ConcurrentAccessProtocolKind value);
+
+ /**
+ * Returns the value of the '<em><b>Access Token Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Access Token Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Access Token Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwMutualExclusionResource_AccessTokenElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getAccessTokenElements();
+
+ /**
+ * Returns the value of the '<em><b>Release Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Release Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Release Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwMutualExclusionResource_ReleaseServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getReleaseServices();
+
+ /**
+ * Returns the value of the '<em><b>Acquire Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Acquire Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Acquire Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwMutualExclusionResource_AcquireServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getAcquireServices();
+
+} // SwMutualExclusionResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwSynchronizationResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwSynchronizationResource.java
new file mode 100644
index 00000000000..aa1ad17fd3f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/SwSynchronizationResource.java
@@ -0,0 +1,29 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SynchronizationResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Synchronization Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#getSwSynchronizationResource()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SwSynchronizationResource extends SwInteractionResource, SynchronizationResource {
+} // SwSynchronizationResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/MessageComResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/MessageComResourceImpl.java
new file mode 100644
index 00000000000..7cd4cdce019
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/MessageComResourceImpl.java
@@ -0,0 +1,429 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.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.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Message Com Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl#isIsFixedMessageSize <em>Is Fixed Message Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl#getMechanism <em>Mechanism</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl#getMessageSizeElements <em>Message Size Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl#getMessageQueueCapacityElements <em>Message Queue Capacity Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl#getMessageQueuePolicy <em>Message Queue Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl#getSendServices <em>Send Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.MessageComResourceImpl#getReceiveServices <em>Receive Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MessageComResourceImpl extends SwCommunicationResourceImpl implements MessageComResource {
+ /**
+ * The default value of the '{@link #isIsFixedMessageSize() <em>Is Fixed Message Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsFixedMessageSize()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_FIXED_MESSAGE_SIZE_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsFixedMessageSize() <em>Is Fixed Message Size</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsFixedMessageSize()
+ * @generated
+ * @ordered
+ */
+ protected boolean isFixedMessageSize = IS_FIXED_MESSAGE_SIZE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMechanism() <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMechanism()
+ * @generated
+ * @ordered
+ */
+ protected static final MessageResourceKind MECHANISM_EDEFAULT = MessageResourceKind.MESSAGE_QUEUE;
+
+ /**
+ * The cached value of the '{@link #getMechanism() <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMechanism()
+ * @generated
+ * @ordered
+ */
+ protected MessageResourceKind mechanism = MECHANISM_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMessageSizeElements() <em>Message Size Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageSizeElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> messageSizeElements;
+
+ /**
+ * The cached value of the '{@link #getMessageQueueCapacityElements() <em>Message Queue Capacity Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageQueueCapacityElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> messageQueueCapacityElements;
+
+ /**
+ * The default value of the '{@link #getMessageQueuePolicy() <em>Message Queue Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageQueuePolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final QueuePolicyKind MESSAGE_QUEUE_POLICY_EDEFAULT = QueuePolicyKind.FIFO;
+
+ /**
+ * The cached value of the '{@link #getMessageQueuePolicy() <em>Message Queue Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMessageQueuePolicy()
+ * @generated
+ * @ordered
+ */
+ protected QueuePolicyKind messageQueuePolicy = MESSAGE_QUEUE_POLICY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getSendServices() <em>Send Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSendServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> sendServices;
+
+ /**
+ * The cached value of the '{@link #getReceiveServices() <em>Receive Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReceiveServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> receiveServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MessageComResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_InteractionPackage.Literals.MESSAGE_COM_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsFixedMessageSize() {
+ return isFixedMessageSize;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsFixedMessageSize(boolean newIsFixedMessageSize) {
+ boolean oldIsFixedMessageSize = isFixedMessageSize;
+ isFixedMessageSize = newIsFixedMessageSize;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.MESSAGE_COM_RESOURCE__IS_FIXED_MESSAGE_SIZE, oldIsFixedMessageSize, isFixedMessageSize));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageResourceKind getMechanism() {
+ return mechanism;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMechanism(MessageResourceKind newMechanism) {
+ MessageResourceKind oldMechanism = mechanism;
+ mechanism = newMechanism == null ? MECHANISM_EDEFAULT : newMechanism;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.MESSAGE_COM_RESOURCE__MECHANISM, oldMechanism, mechanism));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMessageSizeElements() {
+ if (messageSizeElements == null) {
+ messageSizeElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_SIZE_ELEMENTS);
+ }
+ return messageSizeElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMessageQueueCapacityElements() {
+ if (messageQueueCapacityElements == null) {
+ messageQueueCapacityElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_CAPACITY_ELEMENTS);
+ }
+ return messageQueueCapacityElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueuePolicyKind getMessageQueuePolicy() {
+ return messageQueuePolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMessageQueuePolicy(QueuePolicyKind newMessageQueuePolicy) {
+ QueuePolicyKind oldMessageQueuePolicy = messageQueuePolicy;
+ messageQueuePolicy = newMessageQueuePolicy == null ? MESSAGE_QUEUE_POLICY_EDEFAULT : newMessageQueuePolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_POLICY, oldMessageQueuePolicy, messageQueuePolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getSendServices() {
+ if (sendServices == null) {
+ sendServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.MESSAGE_COM_RESOURCE__SEND_SERVICES);
+ }
+ return sendServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getReceiveServices() {
+ if (receiveServices == null) {
+ receiveServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.MESSAGE_COM_RESOURCE__RECEIVE_SERVICES);
+ }
+ return receiveServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__IS_FIXED_MESSAGE_SIZE:
+ return isIsFixedMessageSize();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MECHANISM:
+ return getMechanism();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_SIZE_ELEMENTS:
+ return getMessageSizeElements();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_CAPACITY_ELEMENTS:
+ return getMessageQueueCapacityElements();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_POLICY:
+ return getMessageQueuePolicy();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__SEND_SERVICES:
+ return getSendServices();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__RECEIVE_SERVICES:
+ return getReceiveServices();
+ }
+ 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 SW_InteractionPackage.MESSAGE_COM_RESOURCE__IS_FIXED_MESSAGE_SIZE:
+ setIsFixedMessageSize((Boolean)newValue);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MECHANISM:
+ setMechanism((MessageResourceKind)newValue);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_SIZE_ELEMENTS:
+ getMessageSizeElements().clear();
+ getMessageSizeElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_CAPACITY_ELEMENTS:
+ getMessageQueueCapacityElements().clear();
+ getMessageQueueCapacityElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_POLICY:
+ setMessageQueuePolicy((QueuePolicyKind)newValue);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__SEND_SERVICES:
+ getSendServices().clear();
+ getSendServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__RECEIVE_SERVICES:
+ getReceiveServices().clear();
+ getReceiveServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__IS_FIXED_MESSAGE_SIZE:
+ setIsFixedMessageSize(IS_FIXED_MESSAGE_SIZE_EDEFAULT);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MECHANISM:
+ setMechanism(MECHANISM_EDEFAULT);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_SIZE_ELEMENTS:
+ getMessageSizeElements().clear();
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_CAPACITY_ELEMENTS:
+ getMessageQueueCapacityElements().clear();
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_POLICY:
+ setMessageQueuePolicy(MESSAGE_QUEUE_POLICY_EDEFAULT);
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__SEND_SERVICES:
+ getSendServices().clear();
+ return;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__RECEIVE_SERVICES:
+ getReceiveServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__IS_FIXED_MESSAGE_SIZE:
+ return isFixedMessageSize != IS_FIXED_MESSAGE_SIZE_EDEFAULT;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MECHANISM:
+ return mechanism != MECHANISM_EDEFAULT;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_SIZE_ELEMENTS:
+ return messageSizeElements != null && !messageSizeElements.isEmpty();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_CAPACITY_ELEMENTS:
+ return messageQueueCapacityElements != null && !messageQueueCapacityElements.isEmpty();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_POLICY:
+ return messageQueuePolicy != MESSAGE_QUEUE_POLICY_EDEFAULT;
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__SEND_SERVICES:
+ return sendServices != null && !sendServices.isEmpty();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE__RECEIVE_SERVICES:
+ return receiveServices != null && !receiveServices.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(" (isFixedMessageSize: ");
+ result.append(isFixedMessageSize);
+ result.append(", mechanism: ");
+ result.append(mechanism);
+ result.append(", messageQueuePolicy: ");
+ result.append(messageQueuePolicy);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MessageComResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/NotificationResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/NotificationResourceImpl.java
new file mode 100644
index 00000000000..d07297fdbf0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/NotificationResourceImpl.java
@@ -0,0 +1,443 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.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.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Notification Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl#getOccurence <em>Occurence</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl#getMechanism <em>Mechanism</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl#getOccurenceCountElements <em>Occurence Count Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl#getMaskElements <em>Mask Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl#getFlushServices <em>Flush Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl#getSignalServices <em>Signal Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl#getWaitServices <em>Wait Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.NotificationResourceImpl#getClearServices <em>Clear Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NotificationResourceImpl extends SwSynchronizationResourceImpl implements NotificationResource {
+ /**
+ * The default value of the '{@link #getOccurence() <em>Occurence</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOccurence()
+ * @generated
+ * @ordered
+ */
+ protected static final NotificationKind OCCURENCE_EDEFAULT = NotificationKind.MEMORIZED;
+
+ /**
+ * The cached value of the '{@link #getOccurence() <em>Occurence</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOccurence()
+ * @generated
+ * @ordered
+ */
+ protected NotificationKind occurence = OCCURENCE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMechanism() <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMechanism()
+ * @generated
+ * @ordered
+ */
+ protected static final NotificationResourceKind MECHANISM_EDEFAULT = NotificationResourceKind.EVENT;
+
+ /**
+ * The cached value of the '{@link #getMechanism() <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMechanism()
+ * @generated
+ * @ordered
+ */
+ protected NotificationResourceKind mechanism = MECHANISM_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getOccurenceCountElements() <em>Occurence Count Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOccurenceCountElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> occurenceCountElements;
+
+ /**
+ * The cached value of the '{@link #getMaskElements() <em>Mask Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaskElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> maskElements;
+
+ /**
+ * The cached value of the '{@link #getFlushServices() <em>Flush Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFlushServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> flushServices;
+
+ /**
+ * The cached value of the '{@link #getSignalServices() <em>Signal Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSignalServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> signalServices;
+
+ /**
+ * The cached value of the '{@link #getWaitServices() <em>Wait Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWaitServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> waitServices;
+
+ /**
+ * The cached value of the '{@link #getClearServices() <em>Clear Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClearServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> clearServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NotificationResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_InteractionPackage.Literals.NOTIFICATION_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationKind getOccurence() {
+ return occurence;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOccurence(NotificationKind newOccurence) {
+ NotificationKind oldOccurence = occurence;
+ occurence = newOccurence == null ? OCCURENCE_EDEFAULT : newOccurence;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE, oldOccurence, occurence));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationResourceKind getMechanism() {
+ return mechanism;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMechanism(NotificationResourceKind newMechanism) {
+ NotificationResourceKind oldMechanism = mechanism;
+ mechanism = newMechanism == null ? MECHANISM_EDEFAULT : newMechanism;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.NOTIFICATION_RESOURCE__MECHANISM, oldMechanism, mechanism));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getOccurenceCountElements() {
+ if (occurenceCountElements == null) {
+ occurenceCountElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE_COUNT_ELEMENTS);
+ }
+ return occurenceCountElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getMaskElements() {
+ if (maskElements == null) {
+ maskElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_InteractionPackage.NOTIFICATION_RESOURCE__MASK_ELEMENTS);
+ }
+ return maskElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getFlushServices() {
+ if (flushServices == null) {
+ flushServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.NOTIFICATION_RESOURCE__FLUSH_SERVICES);
+ }
+ return flushServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getSignalServices() {
+ if (signalServices == null) {
+ signalServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.NOTIFICATION_RESOURCE__SIGNAL_SERVICES);
+ }
+ return signalServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getWaitServices() {
+ if (waitServices == null) {
+ waitServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.NOTIFICATION_RESOURCE__WAIT_SERVICES);
+ }
+ return waitServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getClearServices() {
+ if (clearServices == null) {
+ clearServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.NOTIFICATION_RESOURCE__CLEAR_SERVICES);
+ }
+ return clearServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE:
+ return getOccurence();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__MECHANISM:
+ return getMechanism();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE_COUNT_ELEMENTS:
+ return getOccurenceCountElements();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__MASK_ELEMENTS:
+ return getMaskElements();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__FLUSH_SERVICES:
+ return getFlushServices();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__SIGNAL_SERVICES:
+ return getSignalServices();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__WAIT_SERVICES:
+ return getWaitServices();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__CLEAR_SERVICES:
+ return getClearServices();
+ }
+ 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 SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE:
+ setOccurence((NotificationKind)newValue);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__MECHANISM:
+ setMechanism((NotificationResourceKind)newValue);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE_COUNT_ELEMENTS:
+ getOccurenceCountElements().clear();
+ getOccurenceCountElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__MASK_ELEMENTS:
+ getMaskElements().clear();
+ getMaskElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__FLUSH_SERVICES:
+ getFlushServices().clear();
+ getFlushServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__SIGNAL_SERVICES:
+ getSignalServices().clear();
+ getSignalServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__WAIT_SERVICES:
+ getWaitServices().clear();
+ getWaitServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__CLEAR_SERVICES:
+ getClearServices().clear();
+ getClearServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE:
+ setOccurence(OCCURENCE_EDEFAULT);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__MECHANISM:
+ setMechanism(MECHANISM_EDEFAULT);
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE_COUNT_ELEMENTS:
+ getOccurenceCountElements().clear();
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__MASK_ELEMENTS:
+ getMaskElements().clear();
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__FLUSH_SERVICES:
+ getFlushServices().clear();
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__SIGNAL_SERVICES:
+ getSignalServices().clear();
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__WAIT_SERVICES:
+ getWaitServices().clear();
+ return;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__CLEAR_SERVICES:
+ getClearServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE:
+ return occurence != OCCURENCE_EDEFAULT;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__MECHANISM:
+ return mechanism != MECHANISM_EDEFAULT;
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__OCCURENCE_COUNT_ELEMENTS:
+ return occurenceCountElements != null && !occurenceCountElements.isEmpty();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__MASK_ELEMENTS:
+ return maskElements != null && !maskElements.isEmpty();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__FLUSH_SERVICES:
+ return flushServices != null && !flushServices.isEmpty();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__SIGNAL_SERVICES:
+ return signalServices != null && !signalServices.isEmpty();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__WAIT_SERVICES:
+ return waitServices != null && !waitServices.isEmpty();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE__CLEAR_SERVICES:
+ return clearServices != null && !clearServices.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(" (occurence: ");
+ result.append(occurence);
+ result.append(", mechanism: ");
+ result.append(mechanism);
+ result.append(')');
+ return result.toString();
+ }
+
+} //NotificationResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SW_InteractionFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SW_InteractionFactoryImpl.java
new file mode 100644
index 00000000000..3e98d891ddf
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SW_InteractionFactoryImpl.java
@@ -0,0 +1,310 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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_DesignModel.SRM.SW_Interaction.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SW_InteractionFactoryImpl extends EFactoryImpl implements SW_InteractionFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SW_InteractionFactory init() {
+ try {
+ SW_InteractionFactory theSW_InteractionFactory = (SW_InteractionFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/SW_Interaction/1");
+ if (theSW_InteractionFactory != null) {
+ return theSW_InteractionFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SW_InteractionFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_InteractionFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE: return createSharedDataComResource();
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE: return createMessageComResource();
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE: return createNotificationResource();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE: return createSwMutualExclusionResource();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case SW_InteractionPackage.QUEUE_POLICY_KIND:
+ return createQueuePolicyKindFromString(eDataType, initialValue);
+ case SW_InteractionPackage.MESSAGE_RESOURCE_KIND:
+ return createMessageResourceKindFromString(eDataType, initialValue);
+ case SW_InteractionPackage.NOTIFICATION_KIND:
+ return createNotificationKindFromString(eDataType, initialValue);
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE_KIND:
+ return createNotificationResourceKindFromString(eDataType, initialValue);
+ case SW_InteractionPackage.MUTUAL_EXCLUSION_RESOURCE_KIND:
+ return createMutualExclusionResourceKindFromString(eDataType, initialValue);
+ case SW_InteractionPackage.CONCURRENT_ACCESS_PROTOCOL_KIND:
+ return createConcurrentAccessProtocolKindFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case SW_InteractionPackage.QUEUE_POLICY_KIND:
+ return convertQueuePolicyKindToString(eDataType, instanceValue);
+ case SW_InteractionPackage.MESSAGE_RESOURCE_KIND:
+ return convertMessageResourceKindToString(eDataType, instanceValue);
+ case SW_InteractionPackage.NOTIFICATION_KIND:
+ return convertNotificationKindToString(eDataType, instanceValue);
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE_KIND:
+ return convertNotificationResourceKindToString(eDataType, instanceValue);
+ case SW_InteractionPackage.MUTUAL_EXCLUSION_RESOURCE_KIND:
+ return convertMutualExclusionResourceKindToString(eDataType, instanceValue);
+ case SW_InteractionPackage.CONCURRENT_ACCESS_PROTOCOL_KIND:
+ return convertConcurrentAccessProtocolKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SharedDataComResource createSharedDataComResource() {
+ SharedDataComResourceImpl sharedDataComResource = new SharedDataComResourceImpl();
+ return sharedDataComResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageComResource createMessageComResource() {
+ MessageComResourceImpl messageComResource = new MessageComResourceImpl();
+ return messageComResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationResource createNotificationResource() {
+ NotificationResourceImpl notificationResource = new NotificationResourceImpl();
+ return notificationResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SwMutualExclusionResource createSwMutualExclusionResource() {
+ SwMutualExclusionResourceImpl swMutualExclusionResource = new SwMutualExclusionResourceImpl();
+ return swMutualExclusionResource;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueuePolicyKind createQueuePolicyKindFromString(EDataType eDataType, String initialValue) {
+ QueuePolicyKind result = QueuePolicyKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertQueuePolicyKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MessageResourceKind createMessageResourceKindFromString(EDataType eDataType, String initialValue) {
+ MessageResourceKind result = MessageResourceKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMessageResourceKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationKind createNotificationKindFromString(EDataType eDataType, String initialValue) {
+ NotificationKind result = NotificationKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertNotificationKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationResourceKind createNotificationResourceKindFromString(EDataType eDataType, String initialValue) {
+ NotificationResourceKind result = NotificationResourceKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertNotificationResourceKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MutualExclusionResourceKind createMutualExclusionResourceKindFromString(EDataType eDataType, String initialValue) {
+ MutualExclusionResourceKind result = MutualExclusionResourceKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertMutualExclusionResourceKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConcurrentAccessProtocolKind createConcurrentAccessProtocolKindFromString(EDataType eDataType, String initialValue) {
+ ConcurrentAccessProtocolKind result = ConcurrentAccessProtocolKind.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertConcurrentAccessProtocolKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_InteractionPackage getSW_InteractionPackage() {
+ return (SW_InteractionPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SW_InteractionPackage getPackage() {
+ return SW_InteractionPackage.eINSTANCE;
+ }
+
+} //SW_InteractionFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SW_InteractionPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SW_InteractionPackageImpl.java
new file mode 100644
index 00000000000..cc9e3575e52
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SW_InteractionPackageImpl.java
@@ -0,0 +1,1006 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+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.ConcurrentAccessProtocolKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageResourceKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResourceKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwCommunicationResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwSynchronizationResource;
+
+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.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+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 SW_InteractionPackageImpl extends EPackageImpl implements SW_InteractionPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swInteractionResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swCommunicationResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swSynchronizationResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass sharedDataComResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass messageComResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass notificationResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swMutualExclusionResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum queuePolicyKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum messageResourceKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum notificationKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum notificationResourceKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum mutualExclusionResourceKindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum concurrentAccessProtocolKindEEnum = 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_DesignModel.SRM.SW_Interaction.SW_InteractionPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SW_InteractionPackageImpl() {
+ super(eNS_URI, SW_InteractionFactory.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 SW_InteractionPackage#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 SW_InteractionPackage init() {
+ if (isInited) return (SW_InteractionPackage)EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SW_InteractionPackageImpl());
+
+ 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);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.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);
+ 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
+ theSW_InteractionPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.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();
+ 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
+ theSW_InteractionPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.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();
+ 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
+ theSW_InteractionPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SW_InteractionPackage.eNS_URI, theSW_InteractionPackage);
+ return theSW_InteractionPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwInteractionResource() {
+ return swInteractionResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwInteractionResource_IsIntraMemoryPartitionInteraction() {
+ return (EAttribute)swInteractionResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwInteractionResource_WaitingQueuePolicy() {
+ return (EAttribute)swInteractionResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwInteractionResource_WaitingQueueCapacity() {
+ return (EAttribute)swInteractionResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwInteractionResource_WaitingPolicyElements() {
+ return (EReference)swInteractionResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwCommunicationResource() {
+ return swCommunicationResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwSynchronizationResource() {
+ return swSynchronizationResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSharedDataComResource() {
+ return sharedDataComResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSharedDataComResource_ReadServices() {
+ return (EReference)sharedDataComResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSharedDataComResource_WriteServices() {
+ return (EReference)sharedDataComResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMessageComResource() {
+ return messageComResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessageComResource_IsFixedMessageSize() {
+ return (EAttribute)messageComResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessageComResource_Mechanism() {
+ return (EAttribute)messageComResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageComResource_MessageSizeElements() {
+ return (EReference)messageComResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageComResource_MessageQueueCapacityElements() {
+ return (EReference)messageComResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMessageComResource_MessageQueuePolicy() {
+ return (EAttribute)messageComResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageComResource_SendServices() {
+ return (EReference)messageComResourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMessageComResource_ReceiveServices() {
+ return (EReference)messageComResourceEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNotificationResource() {
+ return notificationResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNotificationResource_Occurence() {
+ return (EAttribute)notificationResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNotificationResource_Mechanism() {
+ return (EAttribute)notificationResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNotificationResource_OccurenceCountElements() {
+ return (EReference)notificationResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNotificationResource_MaskElements() {
+ return (EReference)notificationResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNotificationResource_FlushServices() {
+ return (EReference)notificationResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNotificationResource_SignalServices() {
+ return (EReference)notificationResourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNotificationResource_WaitServices() {
+ return (EReference)notificationResourceEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNotificationResource_ClearServices() {
+ return (EReference)notificationResourceEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwMutualExclusionResource() {
+ return swMutualExclusionResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwMutualExclusionResource_Mechanism() {
+ return (EAttribute)swMutualExclusionResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwMutualExclusionResource_ConcurrentAccessProtocol() {
+ return (EAttribute)swMutualExclusionResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwMutualExclusionResource_AccessTokenElements() {
+ return (EReference)swMutualExclusionResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwMutualExclusionResource_ReleaseServices() {
+ return (EReference)swMutualExclusionResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwMutualExclusionResource_AcquireServices() {
+ return (EReference)swMutualExclusionResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getQueuePolicyKind() {
+ return queuePolicyKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getMessageResourceKind() {
+ return messageResourceKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getNotificationKind() {
+ return notificationKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getNotificationResourceKind() {
+ return notificationResourceKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getMutualExclusionResourceKind() {
+ return mutualExclusionResourceKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getConcurrentAccessProtocolKind() {
+ return concurrentAccessProtocolKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_InteractionFactory getSW_InteractionFactory() {
+ return (SW_InteractionFactory)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
+ swInteractionResourceEClass = createEClass(SW_INTERACTION_RESOURCE);
+ createEAttribute(swInteractionResourceEClass, SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION);
+ createEAttribute(swInteractionResourceEClass, SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY);
+ createEAttribute(swInteractionResourceEClass, SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY);
+ createEReference(swInteractionResourceEClass, SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS);
+
+ swCommunicationResourceEClass = createEClass(SW_COMMUNICATION_RESOURCE);
+
+ swSynchronizationResourceEClass = createEClass(SW_SYNCHRONIZATION_RESOURCE);
+
+ sharedDataComResourceEClass = createEClass(SHARED_DATA_COM_RESOURCE);
+ createEReference(sharedDataComResourceEClass, SHARED_DATA_COM_RESOURCE__READ_SERVICES);
+ createEReference(sharedDataComResourceEClass, SHARED_DATA_COM_RESOURCE__WRITE_SERVICES);
+
+ messageComResourceEClass = createEClass(MESSAGE_COM_RESOURCE);
+ createEAttribute(messageComResourceEClass, MESSAGE_COM_RESOURCE__IS_FIXED_MESSAGE_SIZE);
+ createEAttribute(messageComResourceEClass, MESSAGE_COM_RESOURCE__MECHANISM);
+ createEReference(messageComResourceEClass, MESSAGE_COM_RESOURCE__MESSAGE_SIZE_ELEMENTS);
+ createEReference(messageComResourceEClass, MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_CAPACITY_ELEMENTS);
+ createEAttribute(messageComResourceEClass, MESSAGE_COM_RESOURCE__MESSAGE_QUEUE_POLICY);
+ createEReference(messageComResourceEClass, MESSAGE_COM_RESOURCE__SEND_SERVICES);
+ createEReference(messageComResourceEClass, MESSAGE_COM_RESOURCE__RECEIVE_SERVICES);
+
+ notificationResourceEClass = createEClass(NOTIFICATION_RESOURCE);
+ createEAttribute(notificationResourceEClass, NOTIFICATION_RESOURCE__OCCURENCE);
+ createEAttribute(notificationResourceEClass, NOTIFICATION_RESOURCE__MECHANISM);
+ createEReference(notificationResourceEClass, NOTIFICATION_RESOURCE__OCCURENCE_COUNT_ELEMENTS);
+ createEReference(notificationResourceEClass, NOTIFICATION_RESOURCE__MASK_ELEMENTS);
+ createEReference(notificationResourceEClass, NOTIFICATION_RESOURCE__FLUSH_SERVICES);
+ createEReference(notificationResourceEClass, NOTIFICATION_RESOURCE__SIGNAL_SERVICES);
+ createEReference(notificationResourceEClass, NOTIFICATION_RESOURCE__WAIT_SERVICES);
+ createEReference(notificationResourceEClass, NOTIFICATION_RESOURCE__CLEAR_SERVICES);
+
+ swMutualExclusionResourceEClass = createEClass(SW_MUTUAL_EXCLUSION_RESOURCE);
+ createEAttribute(swMutualExclusionResourceEClass, SW_MUTUAL_EXCLUSION_RESOURCE__MECHANISM);
+ createEAttribute(swMutualExclusionResourceEClass, SW_MUTUAL_EXCLUSION_RESOURCE__CONCURRENT_ACCESS_PROTOCOL);
+ createEReference(swMutualExclusionResourceEClass, SW_MUTUAL_EXCLUSION_RESOURCE__ACCESS_TOKEN_ELEMENTS);
+ createEReference(swMutualExclusionResourceEClass, SW_MUTUAL_EXCLUSION_RESOURCE__RELEASE_SERVICES);
+ createEReference(swMutualExclusionResourceEClass, SW_MUTUAL_EXCLUSION_RESOURCE__ACQUIRE_SERVICES);
+
+ // Create enums
+ queuePolicyKindEEnum = createEEnum(QUEUE_POLICY_KIND);
+ messageResourceKindEEnum = createEEnum(MESSAGE_RESOURCE_KIND);
+ notificationKindEEnum = createEEnum(NOTIFICATION_KIND);
+ notificationResourceKindEEnum = createEEnum(NOTIFICATION_RESOURCE_KIND);
+ mutualExclusionResourceKindEEnum = createEEnum(MUTUAL_EXCLUSION_RESOURCE_KIND);
+ concurrentAccessProtocolKindEEnum = createEEnum(CONCURRENT_ACCESS_PROTOCOL_KIND);
+ }
+
+ /**
+ * <!-- 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
+ SW_ResourceCorePackage theSW_ResourceCorePackage = (SW_ResourceCorePackage)EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.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);
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ swInteractionResourceEClass.getESuperTypes().add(theSW_ResourceCorePackage.getSwResource());
+ swCommunicationResourceEClass.getESuperTypes().add(this.getSwInteractionResource());
+ swCommunicationResourceEClass.getESuperTypes().add(theGRMPackage.getCommunicationMedia());
+ swSynchronizationResourceEClass.getESuperTypes().add(this.getSwInteractionResource());
+ swSynchronizationResourceEClass.getESuperTypes().add(theGRMPackage.getSynchronizationResource());
+ sharedDataComResourceEClass.getESuperTypes().add(this.getSwCommunicationResource());
+ messageComResourceEClass.getESuperTypes().add(this.getSwCommunicationResource());
+ notificationResourceEClass.getESuperTypes().add(this.getSwSynchronizationResource());
+ swMutualExclusionResourceEClass.getESuperTypes().add(this.getSwSynchronizationResource());
+ swMutualExclusionResourceEClass.getESuperTypes().add(theGRMPackage.getMutualExclusionResource());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(swInteractionResourceEClass, SwInteractionResource.class, "SwInteractionResource", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSwInteractionResource_IsIntraMemoryPartitionInteraction(), ecorePackage.getEBoolean(), "isIntraMemoryPartitionInteraction", null, 0, 1, SwInteractionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSwInteractionResource_WaitingQueuePolicy(), this.getQueuePolicyKind(), "waitingQueuePolicy", null, 0, 1, SwInteractionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSwInteractionResource_WaitingQueueCapacity(), theMARTE_PrimitivesTypesPackage.getInteger(), "waitingQueueCapacity", null, 0, 1, SwInteractionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwInteractionResource_WaitingPolicyElements(), theUMLPackage.getTypedElement(), null, "waitingPolicyElements", null, 0, -1, SwInteractionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(swCommunicationResourceEClass, SwCommunicationResource.class, "SwCommunicationResource", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(swSynchronizationResourceEClass, SwSynchronizationResource.class, "SwSynchronizationResource", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(sharedDataComResourceEClass, SharedDataComResource.class, "SharedDataComResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSharedDataComResource_ReadServices(), theUMLPackage.getBehavioralFeature(), null, "readServices", null, 0, -1, SharedDataComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSharedDataComResource_WriteServices(), theUMLPackage.getBehavioralFeature(), null, "writeServices", null, 0, -1, SharedDataComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(messageComResourceEClass, MessageComResource.class, "MessageComResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMessageComResource_IsFixedMessageSize(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isFixedMessageSize", null, 0, 1, MessageComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMessageComResource_Mechanism(), this.getMessageResourceKind(), "mechanism", null, 0, 1, MessageComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMessageComResource_MessageSizeElements(), theUMLPackage.getTypedElement(), null, "messageSizeElements", null, 0, -1, MessageComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMessageComResource_MessageQueueCapacityElements(), theUMLPackage.getTypedElement(), null, "messageQueueCapacityElements", null, 0, -1, MessageComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getMessageComResource_MessageQueuePolicy(), this.getQueuePolicyKind(), "messageQueuePolicy", null, 0, 1, MessageComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMessageComResource_SendServices(), theUMLPackage.getBehavioralFeature(), null, "sendServices", null, 0, -1, MessageComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getMessageComResource_ReceiveServices(), theUMLPackage.getBehavioralFeature(), null, "receiveServices", null, 0, -1, MessageComResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(notificationResourceEClass, NotificationResource.class, "NotificationResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getNotificationResource_Occurence(), this.getNotificationKind(), "occurence", null, 0, 1, NotificationResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getNotificationResource_Mechanism(), this.getNotificationResourceKind(), "mechanism", null, 0, 1, NotificationResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getNotificationResource_OccurenceCountElements(), theUMLPackage.getTypedElement(), null, "occurenceCountElements", null, 0, -1, NotificationResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getNotificationResource_MaskElements(), theUMLPackage.getTypedElement(), null, "maskElements", null, 0, -1, NotificationResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getNotificationResource_FlushServices(), theUMLPackage.getBehavioralFeature(), null, "flushServices", null, 0, -1, NotificationResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getNotificationResource_SignalServices(), theUMLPackage.getBehavioralFeature(), null, "signalServices", null, 0, -1, NotificationResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getNotificationResource_WaitServices(), theUMLPackage.getBehavioralFeature(), null, "waitServices", null, 0, -1, NotificationResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getNotificationResource_ClearServices(), theUMLPackage.getBehavioralFeature(), null, "clearServices", null, 0, -1, NotificationResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(swMutualExclusionResourceEClass, SwMutualExclusionResource.class, "SwMutualExclusionResource", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSwMutualExclusionResource_Mechanism(), this.getMutualExclusionResourceKind(), "mechanism", null, 0, 1, SwMutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getSwMutualExclusionResource_ConcurrentAccessProtocol(), this.getConcurrentAccessProtocolKind(), "concurrentAccessProtocol", null, 0, 1, SwMutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwMutualExclusionResource_AccessTokenElements(), theUMLPackage.getTypedElement(), null, "accessTokenElements", null, 0, -1, SwMutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwMutualExclusionResource_ReleaseServices(), theUMLPackage.getBehavioralFeature(), null, "releaseServices", null, 0, -1, SwMutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwMutualExclusionResource_AcquireServices(), theUMLPackage.getBehavioralFeature(), null, "acquireServices", null, 0, -1, SwMutualExclusionResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(queuePolicyKindEEnum, QueuePolicyKind.class, "QueuePolicyKind");
+ addEEnumLiteral(queuePolicyKindEEnum, QueuePolicyKind.FIFO);
+ addEEnumLiteral(queuePolicyKindEEnum, QueuePolicyKind.LIFO);
+ addEEnumLiteral(queuePolicyKindEEnum, QueuePolicyKind.PRIORITY);
+ addEEnumLiteral(queuePolicyKindEEnum, QueuePolicyKind.UNDEF);
+ addEEnumLiteral(queuePolicyKindEEnum, QueuePolicyKind.OTHER);
+
+ initEEnum(messageResourceKindEEnum, MessageResourceKind.class, "MessageResourceKind");
+ addEEnumLiteral(messageResourceKindEEnum, MessageResourceKind.MESSAGE_QUEUE);
+ addEEnumLiteral(messageResourceKindEEnum, MessageResourceKind.PIPE);
+ addEEnumLiteral(messageResourceKindEEnum, MessageResourceKind.BLACKBOARD);
+ addEEnumLiteral(messageResourceKindEEnum, MessageResourceKind.UNDEF);
+ addEEnumLiteral(messageResourceKindEEnum, MessageResourceKind.OTHER);
+
+ initEEnum(notificationKindEEnum, NotificationKind.class, "NotificationKind");
+ addEEnumLiteral(notificationKindEEnum, NotificationKind.MEMORIZED);
+ addEEnumLiteral(notificationKindEEnum, NotificationKind.BOUNDED);
+ addEEnumLiteral(notificationKindEEnum, NotificationKind.MEMORYLESS);
+ addEEnumLiteral(notificationKindEEnum, NotificationKind.UNDEF);
+ addEEnumLiteral(notificationKindEEnum, NotificationKind.OTHER);
+
+ initEEnum(notificationResourceKindEEnum, NotificationResourceKind.class, "NotificationResourceKind");
+ addEEnumLiteral(notificationResourceKindEEnum, NotificationResourceKind.EVENT);
+ addEEnumLiteral(notificationResourceKindEEnum, NotificationResourceKind.BARRIER);
+ addEEnumLiteral(notificationResourceKindEEnum, NotificationResourceKind.UNDEF);
+ addEEnumLiteral(notificationResourceKindEEnum, NotificationResourceKind.OTHER);
+
+ initEEnum(mutualExclusionResourceKindEEnum, MutualExclusionResourceKind.class, "MutualExclusionResourceKind");
+ addEEnumLiteral(mutualExclusionResourceKindEEnum, MutualExclusionResourceKind.BOOLEAN_SEMAPHORE);
+ addEEnumLiteral(mutualExclusionResourceKindEEnum, MutualExclusionResourceKind.COUNT_SEMAPHORE);
+ addEEnumLiteral(mutualExclusionResourceKindEEnum, MutualExclusionResourceKind.MUTEX);
+ addEEnumLiteral(mutualExclusionResourceKindEEnum, MutualExclusionResourceKind.UNDEF);
+ addEEnumLiteral(mutualExclusionResourceKindEEnum, MutualExclusionResourceKind.OTHER);
+
+ initEEnum(concurrentAccessProtocolKindEEnum, ConcurrentAccessProtocolKind.class, "ConcurrentAccessProtocolKind");
+ addEEnumLiteral(concurrentAccessProtocolKindEEnum, ConcurrentAccessProtocolKind.PIP);
+ addEEnumLiteral(concurrentAccessProtocolKindEEnum, ConcurrentAccessProtocolKind.PCP);
+ addEEnumLiteral(concurrentAccessProtocolKindEEnum, ConcurrentAccessProtocolKind.NO_PREEMPTION);
+ addEEnumLiteral(concurrentAccessProtocolKindEEnum, ConcurrentAccessProtocolKind.UNDEF);
+ addEEnumLiteral(concurrentAccessProtocolKindEEnum, ConcurrentAccessProtocolKind.OTHER);
+ }
+
+} //SW_InteractionPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SharedDataComResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SharedDataComResourceImpl.java
new file mode 100644
index 00000000000..1ac575496da
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SharedDataComResourceImpl.java
@@ -0,0 +1,178 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Shared Data Com Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SharedDataComResourceImpl#getReadServices <em>Read Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SharedDataComResourceImpl#getWriteServices <em>Write Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SharedDataComResourceImpl extends SwCommunicationResourceImpl implements SharedDataComResource {
+ /**
+ * The cached value of the '{@link #getReadServices() <em>Read Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReadServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> readServices;
+
+ /**
+ * The cached value of the '{@link #getWriteServices() <em>Write Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWriteServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> writeServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SharedDataComResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_InteractionPackage.Literals.SHARED_DATA_COM_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getReadServices() {
+ if (readServices == null) {
+ readServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__READ_SERVICES);
+ }
+ return readServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getWriteServices() {
+ if (writeServices == null) {
+ writeServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__WRITE_SERVICES);
+ }
+ return writeServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__READ_SERVICES:
+ return getReadServices();
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__WRITE_SERVICES:
+ return getWriteServices();
+ }
+ 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 SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__READ_SERVICES:
+ getReadServices().clear();
+ getReadServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__WRITE_SERVICES:
+ getWriteServices().clear();
+ getWriteServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__READ_SERVICES:
+ getReadServices().clear();
+ return;
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__WRITE_SERVICES:
+ getWriteServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__READ_SERVICES:
+ return readServices != null && !readServices.isEmpty();
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE__WRITE_SERVICES:
+ return writeServices != null && !writeServices.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SharedDataComResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwCommunicationResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwCommunicationResourceImpl.java
new file mode 100644
index 00000000000..c7b1504231a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwCommunicationResourceImpl.java
@@ -0,0 +1,582 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.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_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwCommunicationResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+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;
+
+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>Sw Communication Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl#getSpeedFactor <em>Speed Factor</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl#getMainScheduler <em>Main Scheduler</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl#getElementSize <em>Element Size</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl#getBase_Connector <em>Base Connector</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl#getTransmMode <em>Transm Mode</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl#getBlockT <em>Block T</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl#getPacketT <em>Packet T</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwCommunicationResourceImpl#getCapacity <em>Capacity</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SwCommunicationResourceImpl extends SwInteractionResourceImpl implements SwCommunicationResource {
+ /**
+ * 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;
+
+ /**
+ * 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 SwCommunicationResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_InteractionPackage.Literals.SW_COMMUNICATION_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, SW_InteractionPackage.SW_COMMUNICATION_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, SW_InteractionPackage.SW_COMMUNICATION_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, SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER, oldMainScheduler, mainScheduler));
+ }
+
+ /**
+ * <!-- 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, SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__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, SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__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, SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__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, SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__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, SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__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, SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__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, SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__CAPACITY);
+ }
+ return capacity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__SPEED_FACTOR:
+ return getSpeedFactor();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER:
+ if (resolve) return getMainScheduler();
+ return basicGetMainScheduler();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE:
+ return getElementSize();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR:
+ if (resolve) return getBase_Connector();
+ return basicGetBase_Connector();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__TRANSM_MODE:
+ return getTransmMode();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BLOCK_T:
+ return getBlockT();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__PACKET_T:
+ return getPacketT();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__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 SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__SPEED_FACTOR:
+ setSpeedFactor((String)newValue);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER:
+ setMainScheduler((Scheduler)newValue);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE:
+ setElementSize((String)newValue);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR:
+ setBase_Connector((Connector)newValue);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__TRANSM_MODE:
+ setTransmMode((TransmModeKind)newValue);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BLOCK_T:
+ getBlockT().clear();
+ getBlockT().addAll((Collection<? extends String>)newValue);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__PACKET_T:
+ getPacketT().clear();
+ getPacketT().addAll((Collection<? extends String>)newValue);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__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 SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__SPEED_FACTOR:
+ setSpeedFactor(SPEED_FACTOR_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER:
+ setMainScheduler((Scheduler)null);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE:
+ setElementSize(ELEMENT_SIZE_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR:
+ setBase_Connector((Connector)null);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__TRANSM_MODE:
+ setTransmMode(TRANSM_MODE_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BLOCK_T:
+ getBlockT().clear();
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__PACKET_T:
+ getPacketT().clear();
+ return;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__CAPACITY:
+ getCapacity().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__SPEED_FACTOR:
+ return SPEED_FACTOR_EDEFAULT == null ? speedFactor != null : !SPEED_FACTOR_EDEFAULT.equals(speedFactor);
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER:
+ return mainScheduler != null;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE:
+ return ELEMENT_SIZE_EDEFAULT == null ? elementSize != null : !ELEMENT_SIZE_EDEFAULT.equals(elementSize);
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR:
+ return base_Connector != null;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__TRANSM_MODE:
+ return transmMode != TRANSM_MODE_EDEFAULT;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BLOCK_T:
+ return blockT != null && !blockT.isEmpty();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__PACKET_T:
+ return packetT != null && !packetT.isEmpty();
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__CAPACITY:
+ return capacity != null && !capacity.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == ProcessingResource.class) {
+ switch (derivedFeatureID) {
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__SPEED_FACTOR: return GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER: return GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER;
+ default: return -1;
+ }
+ }
+ if (baseClass == CommunicationMedia.class) {
+ switch (derivedFeatureID) {
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE: return GRMPackage.COMMUNICATION_MEDIA__ELEMENT_SIZE;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR: return GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__TRANSM_MODE: return GRMPackage.COMMUNICATION_MEDIA__TRANSM_MODE;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BLOCK_T: return GRMPackage.COMMUNICATION_MEDIA__BLOCK_T;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__PACKET_T: return GRMPackage.COMMUNICATION_MEDIA__PACKET_T;
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__CAPACITY: return GRMPackage.COMMUNICATION_MEDIA__CAPACITY;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == ProcessingResource.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.PROCESSING_RESOURCE__SPEED_FACTOR: return SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__SPEED_FACTOR;
+ case GRMPackage.PROCESSING_RESOURCE__MAIN_SCHEDULER: return SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__MAIN_SCHEDULER;
+ default: return -1;
+ }
+ }
+ if (baseClass == CommunicationMedia.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.COMMUNICATION_MEDIA__ELEMENT_SIZE: return SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__ELEMENT_SIZE;
+ case GRMPackage.COMMUNICATION_MEDIA__BASE_CONNECTOR: return SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BASE_CONNECTOR;
+ case GRMPackage.COMMUNICATION_MEDIA__TRANSM_MODE: return SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__TRANSM_MODE;
+ case GRMPackage.COMMUNICATION_MEDIA__BLOCK_T: return SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__BLOCK_T;
+ case GRMPackage.COMMUNICATION_MEDIA__PACKET_T: return SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__PACKET_T;
+ case GRMPackage.COMMUNICATION_MEDIA__CAPACITY: return SW_InteractionPackage.SW_COMMUNICATION_RESOURCE__CAPACITY;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- 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(", 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();
+ }
+
+} //SwCommunicationResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwInteractionResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwInteractionResourceImpl.java
new file mode 100644
index 00000000000..4efe910cdf4
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwInteractionResourceImpl.java
@@ -0,0 +1,327 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.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.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.QueuePolicyKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl;
+
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sw Interaction Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwInteractionResourceImpl#isIsIntraMemoryPartitionInteraction <em>Is Intra Memory Partition Interaction</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwInteractionResourceImpl#getWaitingQueuePolicy <em>Waiting Queue Policy</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwInteractionResourceImpl#getWaitingQueueCapacity <em>Waiting Queue Capacity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwInteractionResourceImpl#getWaitingPolicyElements <em>Waiting Policy Elements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SwInteractionResourceImpl extends SwResourceImpl implements SwInteractionResource {
+ /**
+ * The default value of the '{@link #isIsIntraMemoryPartitionInteraction() <em>Is Intra Memory Partition Interaction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsIntraMemoryPartitionInteraction()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_INTRA_MEMORY_PARTITION_INTERACTION_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsIntraMemoryPartitionInteraction() <em>Is Intra Memory Partition Interaction</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsIntraMemoryPartitionInteraction()
+ * @generated
+ * @ordered
+ */
+ protected boolean isIntraMemoryPartitionInteraction = IS_INTRA_MEMORY_PARTITION_INTERACTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWaitingQueuePolicy() <em>Waiting Queue Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWaitingQueuePolicy()
+ * @generated
+ * @ordered
+ */
+ protected static final QueuePolicyKind WAITING_QUEUE_POLICY_EDEFAULT = QueuePolicyKind.FIFO;
+
+ /**
+ * The cached value of the '{@link #getWaitingQueuePolicy() <em>Waiting Queue Policy</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWaitingQueuePolicy()
+ * @generated
+ * @ordered
+ */
+ protected QueuePolicyKind waitingQueuePolicy = WAITING_QUEUE_POLICY_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWaitingQueueCapacity() <em>Waiting Queue Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWaitingQueueCapacity()
+ * @generated
+ * @ordered
+ */
+ protected static final int WAITING_QUEUE_CAPACITY_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getWaitingQueueCapacity() <em>Waiting Queue Capacity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWaitingQueueCapacity()
+ * @generated
+ * @ordered
+ */
+ protected int waitingQueueCapacity = WAITING_QUEUE_CAPACITY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getWaitingPolicyElements() <em>Waiting Policy Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWaitingPolicyElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> waitingPolicyElements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwInteractionResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_InteractionPackage.Literals.SW_INTERACTION_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsIntraMemoryPartitionInteraction() {
+ return isIntraMemoryPartitionInteraction;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsIntraMemoryPartitionInteraction(boolean newIsIntraMemoryPartitionInteraction) {
+ boolean oldIsIntraMemoryPartitionInteraction = isIntraMemoryPartitionInteraction;
+ isIntraMemoryPartitionInteraction = newIsIntraMemoryPartitionInteraction;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION, oldIsIntraMemoryPartitionInteraction, isIntraMemoryPartitionInteraction));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public QueuePolicyKind getWaitingQueuePolicy() {
+ return waitingQueuePolicy;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWaitingQueuePolicy(QueuePolicyKind newWaitingQueuePolicy) {
+ QueuePolicyKind oldWaitingQueuePolicy = waitingQueuePolicy;
+ waitingQueuePolicy = newWaitingQueuePolicy == null ? WAITING_QUEUE_POLICY_EDEFAULT : newWaitingQueuePolicy;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY, oldWaitingQueuePolicy, waitingQueuePolicy));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getWaitingQueueCapacity() {
+ return waitingQueueCapacity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWaitingQueueCapacity(int newWaitingQueueCapacity) {
+ int oldWaitingQueueCapacity = waitingQueueCapacity;
+ waitingQueueCapacity = newWaitingQueueCapacity;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY, oldWaitingQueueCapacity, waitingQueueCapacity));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getWaitingPolicyElements() {
+ if (waitingPolicyElements == null) {
+ waitingPolicyElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS);
+ }
+ return waitingPolicyElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION:
+ return isIsIntraMemoryPartitionInteraction();
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY:
+ return getWaitingQueuePolicy();
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY:
+ return getWaitingQueueCapacity();
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS:
+ return getWaitingPolicyElements();
+ }
+ 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 SW_InteractionPackage.SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION:
+ setIsIntraMemoryPartitionInteraction((Boolean)newValue);
+ return;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY:
+ setWaitingQueuePolicy((QueuePolicyKind)newValue);
+ return;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY:
+ setWaitingQueueCapacity((Integer)newValue);
+ return;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS:
+ getWaitingPolicyElements().clear();
+ getWaitingPolicyElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION:
+ setIsIntraMemoryPartitionInteraction(IS_INTRA_MEMORY_PARTITION_INTERACTION_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY:
+ setWaitingQueuePolicy(WAITING_QUEUE_POLICY_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY:
+ setWaitingQueueCapacity(WAITING_QUEUE_CAPACITY_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS:
+ getWaitingPolicyElements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__IS_INTRA_MEMORY_PARTITION_INTERACTION:
+ return isIntraMemoryPartitionInteraction != IS_INTRA_MEMORY_PARTITION_INTERACTION_EDEFAULT;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_POLICY:
+ return waitingQueuePolicy != WAITING_QUEUE_POLICY_EDEFAULT;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_QUEUE_CAPACITY:
+ return waitingQueueCapacity != WAITING_QUEUE_CAPACITY_EDEFAULT;
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE__WAITING_POLICY_ELEMENTS:
+ return waitingPolicyElements != null && !waitingPolicyElements.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(" (isIntraMemoryPartitionInteraction: ");
+ result.append(isIntraMemoryPartitionInteraction);
+ result.append(", waitingQueuePolicy: ");
+ result.append(waitingQueuePolicy);
+ result.append(", waitingQueueCapacity: ");
+ result.append(waitingQueueCapacity);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SwInteractionResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwMutualExclusionResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwMutualExclusionResourceImpl.java
new file mode 100644
index 00000000000..1615e9b634f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwMutualExclusionResourceImpl.java
@@ -0,0 +1,661 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.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.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.ConcurrentAccessProtocolKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MutualExclusionResourceKind;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource;
+
+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;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sw Mutual Exclusion Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getProtectKind <em>Protect Kind</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getCeiling <em>Ceiling</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getOtherProtectProtocol <em>Other Protect Protocol</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getScheduler <em>Scheduler</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getMechanism <em>Mechanism</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getConcurrentAccessProtocol <em>Concurrent Access Protocol</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getAccessTokenElements <em>Access Token Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getReleaseServices <em>Release Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SwMutualExclusionResourceImpl#getAcquireServices <em>Acquire Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SwMutualExclusionResourceImpl extends SwSynchronizationResourceImpl implements SwMutualExclusionResource {
+ /**
+ * 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;
+
+ /**
+ * The default value of the '{@link #getMechanism() <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMechanism()
+ * @generated
+ * @ordered
+ */
+ protected static final MutualExclusionResourceKind MECHANISM_EDEFAULT = MutualExclusionResourceKind.BOOLEAN_SEMAPHORE;
+
+ /**
+ * The cached value of the '{@link #getMechanism() <em>Mechanism</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMechanism()
+ * @generated
+ * @ordered
+ */
+ protected MutualExclusionResourceKind mechanism = MECHANISM_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getConcurrentAccessProtocol() <em>Concurrent Access Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConcurrentAccessProtocol()
+ * @generated
+ * @ordered
+ */
+ protected static final ConcurrentAccessProtocolKind CONCURRENT_ACCESS_PROTOCOL_EDEFAULT = ConcurrentAccessProtocolKind.PIP;
+
+ /**
+ * The cached value of the '{@link #getConcurrentAccessProtocol() <em>Concurrent Access Protocol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getConcurrentAccessProtocol()
+ * @generated
+ * @ordered
+ */
+ protected ConcurrentAccessProtocolKind concurrentAccessProtocol = CONCURRENT_ACCESS_PROTOCOL_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAccessTokenElements() <em>Access Token Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessTokenElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> accessTokenElements;
+
+ /**
+ * The cached value of the '{@link #getReleaseServices() <em>Release Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getReleaseServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> releaseServices;
+
+ /**
+ * The cached value of the '{@link #getAcquireServices() <em>Acquire Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAcquireServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> acquireServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwMutualExclusionResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_InteractionPackage.Literals.SW_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, SW_InteractionPackage.SW_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, SW_InteractionPackage.SW_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, SW_InteractionPackage.SW_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, SW_InteractionPackage.SW_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, SW_InteractionPackage.SW_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, SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__SCHEDULER, newScheduler, newScheduler));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MutualExclusionResourceKind getMechanism() {
+ return mechanism;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMechanism(MutualExclusionResourceKind newMechanism) {
+ MutualExclusionResourceKind oldMechanism = mechanism;
+ mechanism = newMechanism == null ? MECHANISM_EDEFAULT : newMechanism;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__MECHANISM, oldMechanism, mechanism));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ConcurrentAccessProtocolKind getConcurrentAccessProtocol() {
+ return concurrentAccessProtocol;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setConcurrentAccessProtocol(ConcurrentAccessProtocolKind newConcurrentAccessProtocol) {
+ ConcurrentAccessProtocolKind oldConcurrentAccessProtocol = concurrentAccessProtocol;
+ concurrentAccessProtocol = newConcurrentAccessProtocol == null ? CONCURRENT_ACCESS_PROTOCOL_EDEFAULT : newConcurrentAccessProtocol;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CONCURRENT_ACCESS_PROTOCOL, oldConcurrentAccessProtocol, concurrentAccessProtocol));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getAccessTokenElements() {
+ if (accessTokenElements == null) {
+ accessTokenElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACCESS_TOKEN_ELEMENTS);
+ }
+ return accessTokenElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getReleaseServices() {
+ if (releaseServices == null) {
+ releaseServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__RELEASE_SERVICES);
+ }
+ return releaseServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getAcquireServices() {
+ if (acquireServices == null) {
+ acquireServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACQUIRE_SERVICES);
+ }
+ return acquireServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SW_InteractionPackage.SW_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 SW_InteractionPackage.SW_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 SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND:
+ return getProtectKind();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CEILING:
+ return getCeiling();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL:
+ return getOtherProtectProtocol();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ if (resolve) return getScheduler();
+ return basicGetScheduler();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__MECHANISM:
+ return getMechanism();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CONCURRENT_ACCESS_PROTOCOL:
+ return getConcurrentAccessProtocol();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACCESS_TOKEN_ELEMENTS:
+ return getAccessTokenElements();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__RELEASE_SERVICES:
+ return getReleaseServices();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACQUIRE_SERVICES:
+ return getAcquireServices();
+ }
+ 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 SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND:
+ setProtectKind((ProtectProtocolKind)newValue);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CEILING:
+ setCeiling((String)newValue);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL:
+ setOtherProtectProtocol((String)newValue);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ setScheduler((Scheduler)newValue);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__MECHANISM:
+ setMechanism((MutualExclusionResourceKind)newValue);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CONCURRENT_ACCESS_PROTOCOL:
+ setConcurrentAccessProtocol((ConcurrentAccessProtocolKind)newValue);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACCESS_TOKEN_ELEMENTS:
+ getAccessTokenElements().clear();
+ getAccessTokenElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__RELEASE_SERVICES:
+ getReleaseServices().clear();
+ getReleaseServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACQUIRE_SERVICES:
+ getAcquireServices().clear();
+ getAcquireServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND:
+ setProtectKind(PROTECT_KIND_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CEILING:
+ setCeiling(CEILING_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL:
+ setOtherProtectProtocol(OTHER_PROTECT_PROTOCOL_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ setScheduler((Scheduler)null);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__MECHANISM:
+ setMechanism(MECHANISM_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CONCURRENT_ACCESS_PROTOCOL:
+ setConcurrentAccessProtocol(CONCURRENT_ACCESS_PROTOCOL_EDEFAULT);
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACCESS_TOKEN_ELEMENTS:
+ getAccessTokenElements().clear();
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__RELEASE_SERVICES:
+ getReleaseServices().clear();
+ return;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACQUIRE_SERVICES:
+ getAcquireServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND:
+ return protectKind != PROTECT_KIND_EDEFAULT;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CEILING:
+ return CEILING_EDEFAULT == null ? ceiling != null : !CEILING_EDEFAULT.equals(ceiling);
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL:
+ return OTHER_PROTECT_PROTOCOL_EDEFAULT == null ? otherProtectProtocol != null : !OTHER_PROTECT_PROTOCOL_EDEFAULT.equals(otherProtectProtocol);
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__SCHEDULER:
+ return scheduler != null;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__MECHANISM:
+ return mechanism != MECHANISM_EDEFAULT;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CONCURRENT_ACCESS_PROTOCOL:
+ return concurrentAccessProtocol != CONCURRENT_ACCESS_PROTOCOL_EDEFAULT;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACCESS_TOKEN_ELEMENTS:
+ return accessTokenElements != null && !accessTokenElements.isEmpty();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__RELEASE_SERVICES:
+ return releaseServices != null && !releaseServices.isEmpty();
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__ACQUIRE_SERVICES:
+ return acquireServices != null && !acquireServices.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eBaseStructuralFeatureID(int derivedFeatureID, Class<?> baseClass) {
+ if (baseClass == MutualExclusionResource.class) {
+ switch (derivedFeatureID) {
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND: return GRMPackage.MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CEILING: return GRMPackage.MUTUAL_EXCLUSION_RESOURCE__CEILING;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL: return GRMPackage.MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL;
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__SCHEDULER: return GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER;
+ default: return -1;
+ }
+ }
+ return super.eBaseStructuralFeatureID(derivedFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public int eDerivedStructuralFeatureID(int baseFeatureID, Class<?> baseClass) {
+ if (baseClass == MutualExclusionResource.class) {
+ switch (baseFeatureID) {
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND: return SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__PROTECT_KIND;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__CEILING: return SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__CEILING;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL: return SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__OTHER_PROTECT_PROTOCOL;
+ case GRMPackage.MUTUAL_EXCLUSION_RESOURCE__SCHEDULER: return SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE__SCHEDULER;
+ default: return -1;
+ }
+ }
+ return super.eDerivedStructuralFeatureID(baseFeatureID, baseClass);
+ }
+
+ /**
+ * <!-- 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(", mechanism: ");
+ result.append(mechanism);
+ result.append(", concurrentAccessProtocol: ");
+ result.append(concurrentAccessProtocol);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SwMutualExclusionResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwSynchronizationResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwSynchronizationResourceImpl.java
new file mode 100644
index 00000000000..c0527448386
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/impl/SwSynchronizationResourceImpl.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_DesignModel.SRM.SW_Interaction.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwSynchronizationResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sw Synchronization Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SwSynchronizationResourceImpl extends SwInteractionResourceImpl implements SwSynchronizationResource {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwSynchronizationResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_InteractionPackage.Literals.SW_SYNCHRONIZATION_RESOURCE;
+ }
+
+} //SwSynchronizationResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionAdapterFactory.java
new file mode 100644
index 00000000000..0865e042feb
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionAdapterFactory.java
@@ -0,0 +1,355 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+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.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SynchronizationResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage
+ * @generated
+ */
+public class SW_InteractionAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SW_InteractionPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_InteractionAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SW_InteractionPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SW_InteractionSwitch<Adapter> modelSwitch =
+ new SW_InteractionSwitch<Adapter>() {
+ @Override
+ public Adapter caseSwInteractionResource(SwInteractionResource object) {
+ return createSwInteractionResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwCommunicationResource(SwCommunicationResource object) {
+ return createSwCommunicationResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwSynchronizationResource(SwSynchronizationResource object) {
+ return createSwSynchronizationResourceAdapter();
+ }
+ @Override
+ public Adapter caseSharedDataComResource(SharedDataComResource object) {
+ return createSharedDataComResourceAdapter();
+ }
+ @Override
+ public Adapter caseMessageComResource(MessageComResource object) {
+ return createMessageComResourceAdapter();
+ }
+ @Override
+ public Adapter caseNotificationResource(NotificationResource object) {
+ return createNotificationResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwMutualExclusionResource(SwMutualExclusionResource object) {
+ return createSwMutualExclusionResourceAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwResource(SwResource object) {
+ return createSwResourceAdapter();
+ }
+ @Override
+ public Adapter caseProcessingResource(ProcessingResource object) {
+ return createProcessingResourceAdapter();
+ }
+ @Override
+ public Adapter caseCommunicationMedia(CommunicationMedia object) {
+ return createCommunicationMediaAdapter();
+ }
+ @Override
+ public Adapter caseSynchronizationResource(SynchronizationResource object) {
+ return createSynchronizationResourceAdapter();
+ }
+ @Override
+ public Adapter caseMutualExclusionResource(MutualExclusionResource object) {
+ return createMutualExclusionResourceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource <em>Sw Interaction Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwInteractionResource
+ * @generated
+ */
+ public Adapter createSwInteractionResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwCommunicationResource <em>Sw Communication Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwCommunicationResource
+ * @generated
+ */
+ public Adapter createSwCommunicationResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwSynchronizationResource <em>Sw Synchronization Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwSynchronizationResource
+ * @generated
+ */
+ public Adapter createSwSynchronizationResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource <em>Shared Data Com Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SharedDataComResource
+ * @generated
+ */
+ public Adapter createSharedDataComResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource <em>Message Com Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.MessageComResource
+ * @generated
+ */
+ public Adapter createMessageComResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource <em>Notification Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.NotificationResource
+ * @generated
+ */
+ public Adapter createNotificationResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource <em>Sw Mutual Exclusion Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SwMutualExclusionResource
+ * @generated
+ */
+ public Adapter createSwMutualExclusionResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource <em>Sw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource
+ * @generated
+ */
+ public Adapter createSwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource <em>Processing Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.ProcessingResource
+ * @generated
+ */
+ public Adapter createProcessingResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia <em>Communication Media</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia
+ * @generated
+ */
+ public Adapter createCommunicationMediaAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SynchronizationResource <em>Synchronization Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SynchronizationResource
+ * @generated
+ */
+ public Adapter createSynchronizationResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.MutualExclusionResource <em>Mutual Exclusion Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.MutualExclusionResource
+ * @generated
+ */
+ public Adapter createMutualExclusionResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //SW_InteractionAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionResourceFactoryImpl.java
new file mode 100644
index 00000000000..57484daa79d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.util.SW_InteractionResourceImpl
+ * @generated
+ */
+public class SW_InteractionResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_InteractionResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new SW_InteractionResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //SW_InteractionResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionResourceImpl.java
new file mode 100644
index 00000000000..6986cd49d4c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.util.SW_InteractionResourceFactoryImpl
+ * @generated
+ */
+public class SW_InteractionResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public SW_InteractionResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //SW_InteractionResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionSwitch.java
new file mode 100644
index 00000000000..f641a7996e2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionSwitch.java
@@ -0,0 +1,395 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.CommunicationMedia;
+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.Resource;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.SynchronizationResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage
+ * @generated
+ */
+public class SW_InteractionSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SW_InteractionPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_InteractionSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SW_InteractionPackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case SW_InteractionPackage.SW_INTERACTION_RESOURCE: {
+ SwInteractionResource swInteractionResource = (SwInteractionResource)theEObject;
+ T result = caseSwInteractionResource(swInteractionResource);
+ if (result == null) result = caseSwResource(swInteractionResource);
+ if (result == null) result = caseResource(swInteractionResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_InteractionPackage.SW_COMMUNICATION_RESOURCE: {
+ SwCommunicationResource swCommunicationResource = (SwCommunicationResource)theEObject;
+ T result = caseSwCommunicationResource(swCommunicationResource);
+ if (result == null) result = caseSwInteractionResource(swCommunicationResource);
+ if (result == null) result = caseCommunicationMedia(swCommunicationResource);
+ if (result == null) result = caseSwResource(swCommunicationResource);
+ if (result == null) result = caseProcessingResource(swCommunicationResource);
+ if (result == null) result = caseResource(swCommunicationResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_InteractionPackage.SW_SYNCHRONIZATION_RESOURCE: {
+ SwSynchronizationResource swSynchronizationResource = (SwSynchronizationResource)theEObject;
+ T result = caseSwSynchronizationResource(swSynchronizationResource);
+ if (result == null) result = caseSwInteractionResource(swSynchronizationResource);
+ if (result == null) result = caseSynchronizationResource(swSynchronizationResource);
+ if (result == null) result = caseSwResource(swSynchronizationResource);
+ if (result == null) result = caseResource(swSynchronizationResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_InteractionPackage.SHARED_DATA_COM_RESOURCE: {
+ SharedDataComResource sharedDataComResource = (SharedDataComResource)theEObject;
+ T result = caseSharedDataComResource(sharedDataComResource);
+ if (result == null) result = caseSwCommunicationResource(sharedDataComResource);
+ if (result == null) result = caseSwInteractionResource(sharedDataComResource);
+ if (result == null) result = caseCommunicationMedia(sharedDataComResource);
+ if (result == null) result = caseSwResource(sharedDataComResource);
+ if (result == null) result = caseProcessingResource(sharedDataComResource);
+ if (result == null) result = caseResource(sharedDataComResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_InteractionPackage.MESSAGE_COM_RESOURCE: {
+ MessageComResource messageComResource = (MessageComResource)theEObject;
+ T result = caseMessageComResource(messageComResource);
+ if (result == null) result = caseSwCommunicationResource(messageComResource);
+ if (result == null) result = caseSwInteractionResource(messageComResource);
+ if (result == null) result = caseCommunicationMedia(messageComResource);
+ if (result == null) result = caseSwResource(messageComResource);
+ if (result == null) result = caseProcessingResource(messageComResource);
+ if (result == null) result = caseResource(messageComResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_InteractionPackage.NOTIFICATION_RESOURCE: {
+ NotificationResource notificationResource = (NotificationResource)theEObject;
+ T result = caseNotificationResource(notificationResource);
+ if (result == null) result = caseSwSynchronizationResource(notificationResource);
+ if (result == null) result = caseSwInteractionResource(notificationResource);
+ if (result == null) result = caseSynchronizationResource(notificationResource);
+ if (result == null) result = caseSwResource(notificationResource);
+ if (result == null) result = caseResource(notificationResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_InteractionPackage.SW_MUTUAL_EXCLUSION_RESOURCE: {
+ SwMutualExclusionResource swMutualExclusionResource = (SwMutualExclusionResource)theEObject;
+ T result = caseSwMutualExclusionResource(swMutualExclusionResource);
+ if (result == null) result = caseSwSynchronizationResource(swMutualExclusionResource);
+ if (result == null) result = caseMutualExclusionResource(swMutualExclusionResource);
+ if (result == null) result = caseSwInteractionResource(swMutualExclusionResource);
+ if (result == null) result = caseSynchronizationResource(swMutualExclusionResource);
+ if (result == null) result = caseSwResource(swMutualExclusionResource);
+ if (result == null) result = caseResource(swMutualExclusionResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Interaction Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Interaction Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwInteractionResource(SwInteractionResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Communication Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Communication Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwCommunicationResource(SwCommunicationResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Synchronization Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Synchronization Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwSynchronizationResource(SwSynchronizationResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Shared Data Com Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Shared Data Com Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSharedDataComResource(SharedDataComResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Message Com Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Message Com Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMessageComResource(MessageComResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Notification Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Notification Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNotificationResource(NotificationResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Mutual Exclusion Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Mutual Exclusion Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwMutualExclusionResource(SwMutualExclusionResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwResource(SwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Processing Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseProcessingResource(ProcessingResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Communication Media</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Communication Media</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCommunicationMedia(CommunicationMedia object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Synchronization Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Synchronization Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSynchronizationResource(SynchronizationResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Mutual Exclusion Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Mutual Exclusion Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMutualExclusionResource(MutualExclusionResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //SW_InteractionSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionXMLProcessor.java
new file mode 100644
index 00000000000..d1e594e804f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_Interaction/util/SW_InteractionXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_Interaction.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SW_InteractionXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_InteractionXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ SW_InteractionPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the SW_InteractionResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new SW_InteractionResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new SW_InteractionResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //SW_InteractionXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SW_ResourceCoreFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SW_ResourceCoreFactory.java
new file mode 100644
index 00000000000..8a22cddb802
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SW_ResourceCoreFactory.java
@@ -0,0 +1,53 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage
+ * @generated
+ */
+public interface SW_ResourceCoreFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SW_ResourceCoreFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCoreFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Sw Access Service</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Sw Access Service</em>'.
+ * @generated
+ */
+ SwAccessService createSwAccessService();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SW_ResourceCorePackage getSW_ResourceCorePackage();
+
+} //SW_ResourceCoreFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SW_ResourceCorePackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SW_ResourceCorePackage.java
new file mode 100644
index 00000000000..8b73091bf50
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SW_ResourceCorePackage.java
@@ -0,0 +1,524 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore;
+
+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.papyrus.MARTE.MARTE_Foundations.GRM.GRMPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCoreFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SW_ResourceCorePackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "SW_ResourceCore";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/SW_ResourceCore/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "SW_ResourceCore";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SW_ResourceCorePackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl <em>Sw Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl#getSwResource()
+ * @generated
+ */
+ int SW_RESOURCE = 0;
+
+ /**
+ * The feature id for the '<em><b>Res Mult</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__RES_MULT = GRMPackage.RESOURCE__RES_MULT;
+
+ /**
+ * The feature id for the '<em><b>Is Protected</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__IS_PROTECTED = GRMPackage.RESOURCE__IS_PROTECTED;
+
+ /**
+ * The feature id for the '<em><b>Is Active</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__IS_ACTIVE = GRMPackage.RESOURCE__IS_ACTIVE;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__BASE_PROPERTY = GRMPackage.RESOURCE__BASE_PROPERTY;
+
+ /**
+ * The feature id for the '<em><b>Base Instance Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__BASE_INSTANCE_SPECIFICATION = GRMPackage.RESOURCE__BASE_INSTANCE_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Classifier</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__BASE_CLASSIFIER = GRMPackage.RESOURCE__BASE_CLASSIFIER;
+
+ /**
+ * The feature id for the '<em><b>Base Lifeline</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__BASE_LIFELINE = GRMPackage.RESOURCE__BASE_LIFELINE;
+
+ /**
+ * The feature id for the '<em><b>Base Connectable Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__BASE_CONNECTABLE_ELEMENT = GRMPackage.RESOURCE__BASE_CONNECTABLE_ELEMENT;
+
+ /**
+ * The feature id for the '<em><b>Identifier Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__IDENTIFIER_ELEMENTS = GRMPackage.RESOURCE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>State Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__STATE_ELEMENTS = GRMPackage.RESOURCE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__MEMORY_SIZE_FOOTPRINT = GRMPackage.RESOURCE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Create Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__CREATE_SERVICES = GRMPackage.RESOURCE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Delete Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__DELETE_SERVICES = GRMPackage.RESOURCE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Initialize Services</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE__INITIALIZE_SERVICES = GRMPackage.RESOURCE_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Sw Resource</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_RESOURCE_FEATURE_COUNT = GRMPackage.RESOURCE_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwAccessServiceImpl <em>Sw Access Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwAccessServiceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl#getSwAccessService()
+ * @generated
+ */
+ int SW_ACCESS_SERVICE = 1;
+
+ /**
+ * The feature id for the '<em><b>Owner</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE__OWNER = GRMPackage.GR_SERVICE__OWNER;
+
+ /**
+ * The feature id for the '<em><b>Base Execution Specification</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE__BASE_EXECUTION_SPECIFICATION = GRMPackage.GR_SERVICE__BASE_EXECUTION_SPECIFICATION;
+
+ /**
+ * The feature id for the '<em><b>Base Behavioral Feature</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE__BASE_BEHAVIORAL_FEATURE = GRMPackage.GR_SERVICE__BASE_BEHAVIORAL_FEATURE;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE__BASE_BEHAVIOR = GRMPackage.GR_SERVICE__BASE_BEHAVIOR;
+
+ /**
+ * The feature id for the '<em><b>Base Collaboration</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE__BASE_COLLABORATION = GRMPackage.GR_SERVICE__BASE_COLLABORATION;
+
+ /**
+ * The feature id for the '<em><b>Base Collaboration Use</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE__BASE_COLLABORATION_USE = GRMPackage.GR_SERVICE__BASE_COLLABORATION_USE;
+
+ /**
+ * The feature id for the '<em><b>Is Modifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE__IS_MODIFIER = GRMPackage.GR_SERVICE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Accessed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE__ACCESSED_ELEMENT = GRMPackage.GR_SERVICE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Sw Access Service</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SW_ACCESS_SERVICE_FEATURE_COUNT = GRMPackage.GR_SERVICE_FEATURE_COUNT + 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource <em>Sw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Resource</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource
+ * @generated
+ */
+ EClass getSwResource();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getIdentifierElements <em>Identifier Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Identifier Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getIdentifierElements()
+ * @see #getSwResource()
+ * @generated
+ */
+ EReference getSwResource_IdentifierElements();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getStateElements <em>State Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>State Elements</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getStateElements()
+ * @see #getSwResource()
+ * @generated
+ */
+ EReference getSwResource_StateElements();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getMemorySizeFootprint <em>Memory Size Footprint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Memory Size Footprint</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getMemorySizeFootprint()
+ * @see #getSwResource()
+ * @generated
+ */
+ EReference getSwResource_MemorySizeFootprint();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getCreateServices <em>Create Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Create Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getCreateServices()
+ * @see #getSwResource()
+ * @generated
+ */
+ EReference getSwResource_CreateServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getDeleteServices <em>Delete Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Delete Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getDeleteServices()
+ * @see #getSwResource()
+ * @generated
+ */
+ EReference getSwResource_DeleteServices();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getInitializeServices <em>Initialize Services</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Initialize Services</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getInitializeServices()
+ * @see #getSwResource()
+ * @generated
+ */
+ EReference getSwResource_InitializeServices();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService <em>Sw Access Service</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Sw Access Service</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService
+ * @generated
+ */
+ EClass getSwAccessService();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService#isIsModifier <em>Is Modifier</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Modifier</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService#isIsModifier()
+ * @see #getSwAccessService()
+ * @generated
+ */
+ EAttribute getSwAccessService_IsModifier();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService#getAccessedElement <em>Accessed Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Accessed Element</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService#getAccessedElement()
+ * @see #getSwAccessService()
+ * @generated
+ */
+ EReference getSwAccessService_AccessedElement();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ SW_ResourceCoreFactory getSW_ResourceCoreFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl <em>Sw Resource</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl#getSwResource()
+ * @generated
+ */
+ EClass SW_RESOURCE = eINSTANCE.getSwResource();
+
+ /**
+ * The meta object literal for the '<em><b>Identifier Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_RESOURCE__IDENTIFIER_ELEMENTS = eINSTANCE.getSwResource_IdentifierElements();
+
+ /**
+ * The meta object literal for the '<em><b>State Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_RESOURCE__STATE_ELEMENTS = eINSTANCE.getSwResource_StateElements();
+
+ /**
+ * The meta object literal for the '<em><b>Memory Size Footprint</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_RESOURCE__MEMORY_SIZE_FOOTPRINT = eINSTANCE.getSwResource_MemorySizeFootprint();
+
+ /**
+ * The meta object literal for the '<em><b>Create Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_RESOURCE__CREATE_SERVICES = eINSTANCE.getSwResource_CreateServices();
+
+ /**
+ * The meta object literal for the '<em><b>Delete Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_RESOURCE__DELETE_SERVICES = eINSTANCE.getSwResource_DeleteServices();
+
+ /**
+ * The meta object literal for the '<em><b>Initialize Services</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_RESOURCE__INITIALIZE_SERVICES = eINSTANCE.getSwResource_InitializeServices();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwAccessServiceImpl <em>Sw Access Service</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwAccessServiceImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl#getSwAccessService()
+ * @generated
+ */
+ EClass SW_ACCESS_SERVICE = eINSTANCE.getSwAccessService();
+
+ /**
+ * The meta object literal for the '<em><b>Is Modifier</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SW_ACCESS_SERVICE__IS_MODIFIER = eINSTANCE.getSwAccessService_IsModifier();
+
+ /**
+ * The meta object literal for the '<em><b>Accessed Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SW_ACCESS_SERVICE__ACCESSED_ELEMENT = eINSTANCE.getSwAccessService_AccessedElement();
+
+ }
+
+} //SW_ResourceCorePackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SwAccessService.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SwAccessService.java
new file mode 100644
index 00000000000..57537ac2821
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SwAccessService.java
@@ -0,0 +1,90 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Access Service</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService#isIsModifier <em>Is Modifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService#getAccessedElement <em>Accessed Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwAccessService()
+ * @model
+ * @generated
+ */
+public interface SwAccessService extends GrService {
+ /**
+ * Returns the value of the '<em><b>Is Modifier</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Modifier</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Is Modifier</em>' attribute.
+ * @see #setIsModifier(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwAccessService_IsModifier()
+ * @model unique="false" dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Boolean" ordered="false"
+ * @generated
+ */
+ boolean isIsModifier();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService#isIsModifier <em>Is Modifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Modifier</em>' attribute.
+ * @see #isIsModifier()
+ * @generated
+ */
+ void setIsModifier(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Accessed Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Accessed Element</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Accessed Element</em>' reference.
+ * @see #setAccessedElement(Property)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwAccessService_AccessedElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getAccessedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService#getAccessedElement <em>Accessed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Accessed Element</em>' reference.
+ * @see #getAccessedElement()
+ * @generated
+ */
+ void setAccessedElement(Property value);
+
+} // SwAccessService
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SwResource.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SwResource.java
new file mode 100644
index 00000000000..7ae96acdf85
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/SwResource.java
@@ -0,0 +1,151 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Sw Resource</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getIdentifierElements <em>Identifier Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getStateElements <em>State Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getMemorySizeFootprint <em>Memory Size Footprint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getCreateServices <em>Create Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getDeleteServices <em>Delete Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getInitializeServices <em>Initialize Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwResource()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SwResource extends Resource {
+ /**
+ * Returns the value of the '<em><b>Identifier Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Identifier Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Identifier Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwResource_IdentifierElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getIdentifierElements();
+
+ /**
+ * Returns the value of the '<em><b>State Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.TypedElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>State Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>State Elements</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwResource_StateElements()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<TypedElement> getStateElements();
+
+ /**
+ * Returns the value of the '<em><b>Memory Size Footprint</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Memory Size Footprint</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Memory Size Footprint</em>' reference.
+ * @see #setMemorySizeFootprint(TypedElement)
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwResource_MemorySizeFootprint()
+ * @model ordered="false"
+ * @generated
+ */
+ TypedElement getMemorySizeFootprint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource#getMemorySizeFootprint <em>Memory Size Footprint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Memory Size Footprint</em>' reference.
+ * @see #getMemorySizeFootprint()
+ * @generated
+ */
+ void setMemorySizeFootprint(TypedElement value);
+
+ /**
+ * Returns the value of the '<em><b>Create Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Create Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Create Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwResource_CreateServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getCreateServices();
+
+ /**
+ * Returns the value of the '<em><b>Delete Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Delete Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Delete Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwResource_DeleteServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getDeleteServices();
+
+ /**
+ * Returns the value of the '<em><b>Initialize Services</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.BehavioralFeature}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Initialize Services</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Initialize Services</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#getSwResource_InitializeServices()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<BehavioralFeature> getInitializeServices();
+
+} // SwResource
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SW_ResourceCoreFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SW_ResourceCoreFactoryImpl.java
new file mode 100644
index 00000000000..810bbe296d7
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SW_ResourceCoreFactoryImpl.java
@@ -0,0 +1,106 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.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_DesignModel.SRM.SW_ResourceCore.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SW_ResourceCoreFactoryImpl extends EFactoryImpl implements SW_ResourceCoreFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SW_ResourceCoreFactory init() {
+ try {
+ SW_ResourceCoreFactory theSW_ResourceCoreFactory = (SW_ResourceCoreFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/SW_ResourceCore/1");
+ if (theSW_ResourceCoreFactory != null) {
+ return theSW_ResourceCoreFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SW_ResourceCoreFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ResourceCoreFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE: return createSwAccessService();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SwAccessService createSwAccessService() {
+ SwAccessServiceImpl swAccessService = new SwAccessServiceImpl();
+ return swAccessService;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ResourceCorePackage getSW_ResourceCorePackage() {
+ return (SW_ResourceCorePackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SW_ResourceCorePackage getPackage() {
+ return SW_ResourceCorePackage.eINSTANCE;
+ }
+
+} //SW_ResourceCoreFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SW_ResourceCorePackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SW_ResourceCorePackageImpl.java
new file mode 100644
index 00000000000..eda0329353d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SW_ResourceCorePackageImpl.java
@@ -0,0 +1,541 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.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_ResourceCoreFactory;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+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.GRMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GRMPackageImpl;
+
+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 SW_ResourceCorePackageImpl extends EPackageImpl implements SW_ResourceCorePackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swResourceEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass swAccessServiceEClass = 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_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SW_ResourceCorePackageImpl() {
+ super(eNS_URI, SW_ResourceCoreFactory.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 SW_ResourceCorePackage#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 SW_ResourceCorePackage init() {
+ if (isInited) return (SW_ResourceCorePackage)EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI);
+
+ // Obtain or create and register package
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SW_ResourceCorePackageImpl());
+
+ 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);
+ GRMPackageImpl theGRMPackage = (GRMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) instanceof GRMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI) : GRMPackage.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_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
+ theSW_ResourceCorePackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.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_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
+ theSW_ResourceCorePackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.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_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
+ theSW_ResourceCorePackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SW_ResourceCorePackage.eNS_URI, theSW_ResourceCorePackage);
+ return theSW_ResourceCorePackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwResource() {
+ return swResourceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwResource_IdentifierElements() {
+ return (EReference)swResourceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwResource_StateElements() {
+ return (EReference)swResourceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwResource_MemorySizeFootprint() {
+ return (EReference)swResourceEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwResource_CreateServices() {
+ return (EReference)swResourceEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwResource_DeleteServices() {
+ return (EReference)swResourceEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwResource_InitializeServices() {
+ return (EReference)swResourceEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSwAccessService() {
+ return swAccessServiceEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSwAccessService_IsModifier() {
+ return (EAttribute)swAccessServiceEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSwAccessService_AccessedElement() {
+ return (EReference)swAccessServiceEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ResourceCoreFactory getSW_ResourceCoreFactory() {
+ return (SW_ResourceCoreFactory)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
+ swResourceEClass = createEClass(SW_RESOURCE);
+ createEReference(swResourceEClass, SW_RESOURCE__IDENTIFIER_ELEMENTS);
+ createEReference(swResourceEClass, SW_RESOURCE__STATE_ELEMENTS);
+ createEReference(swResourceEClass, SW_RESOURCE__MEMORY_SIZE_FOOTPRINT);
+ createEReference(swResourceEClass, SW_RESOURCE__CREATE_SERVICES);
+ createEReference(swResourceEClass, SW_RESOURCE__DELETE_SERVICES);
+ createEReference(swResourceEClass, SW_RESOURCE__INITIALIZE_SERVICES);
+
+ swAccessServiceEClass = createEClass(SW_ACCESS_SERVICE);
+ createEAttribute(swAccessServiceEClass, SW_ACCESS_SERVICE__IS_MODIFIER);
+ createEReference(swAccessServiceEClass, SW_ACCESS_SERVICE__ACCESSED_ELEMENT);
+ }
+
+ /**
+ * <!-- 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
+ GRMPackage theGRMPackage = (GRMPackage)EPackage.Registry.INSTANCE.getEPackage(GRMPackage.eNS_URI);
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+ MARTE_PrimitivesTypesPackage theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackage)EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ swResourceEClass.getESuperTypes().add(theGRMPackage.getResource());
+ swAccessServiceEClass.getESuperTypes().add(theGRMPackage.getGrService());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(swResourceEClass, SwResource.class, "SwResource", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSwResource_IdentifierElements(), theUMLPackage.getTypedElement(), null, "identifierElements", null, 0, -1, SwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwResource_StateElements(), theUMLPackage.getTypedElement(), null, "stateElements", null, 0, -1, SwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwResource_MemorySizeFootprint(), theUMLPackage.getTypedElement(), null, "memorySizeFootprint", null, 0, 1, SwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwResource_CreateServices(), theUMLPackage.getBehavioralFeature(), null, "createServices", null, 0, -1, SwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwResource_DeleteServices(), theUMLPackage.getBehavioralFeature(), null, "deleteServices", null, 0, -1, SwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwResource_InitializeServices(), theUMLPackage.getBehavioralFeature(), null, "initializeServices", null, 0, -1, SwResource.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(swAccessServiceEClass, SwAccessService.class, "SwAccessService", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSwAccessService_IsModifier(), theMARTE_PrimitivesTypesPackage.getBoolean(), "isModifier", null, 0, 1, SwAccessService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getSwAccessService_AccessedElement(), theUMLPackage.getProperty(), null, "accessedElement", null, 1, 1, SwAccessService.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //SW_ResourceCorePackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SwAccessServiceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SwAccessServiceImpl.java
new file mode 100644
index 00000000000..c99699d3f64
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SwAccessServiceImpl.java
@@ -0,0 +1,238 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.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_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.GrServiceImpl;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sw Access Service</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwAccessServiceImpl#isIsModifier <em>Is Modifier</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwAccessServiceImpl#getAccessedElement <em>Accessed Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SwAccessServiceImpl extends GrServiceImpl implements SwAccessService {
+ /**
+ * The default value of the '{@link #isIsModifier() <em>Is Modifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsModifier()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_MODIFIER_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsModifier() <em>Is Modifier</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsModifier()
+ * @generated
+ * @ordered
+ */
+ protected boolean isModifier = IS_MODIFIER_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getAccessedElement() <em>Accessed Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccessedElement()
+ * @generated
+ * @ordered
+ */
+ protected Property accessedElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwAccessServiceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ResourceCorePackage.Literals.SW_ACCESS_SERVICE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsModifier() {
+ return isModifier;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsModifier(boolean newIsModifier) {
+ boolean oldIsModifier = isModifier;
+ isModifier = newIsModifier;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ResourceCorePackage.SW_ACCESS_SERVICE__IS_MODIFIER, oldIsModifier, isModifier));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getAccessedElement() {
+ if (accessedElement != null && accessedElement.eIsProxy()) {
+ InternalEObject oldAccessedElement = (InternalEObject)accessedElement;
+ accessedElement = (Property)eResolveProxy(oldAccessedElement);
+ if (accessedElement != oldAccessedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SW_ResourceCorePackage.SW_ACCESS_SERVICE__ACCESSED_ELEMENT, oldAccessedElement, accessedElement));
+ }
+ }
+ return accessedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetAccessedElement() {
+ return accessedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccessedElement(Property newAccessedElement) {
+ Property oldAccessedElement = accessedElement;
+ accessedElement = newAccessedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ResourceCorePackage.SW_ACCESS_SERVICE__ACCESSED_ELEMENT, oldAccessedElement, accessedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE__IS_MODIFIER:
+ return isIsModifier();
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE__ACCESSED_ELEMENT:
+ if (resolve) return getAccessedElement();
+ return basicGetAccessedElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE__IS_MODIFIER:
+ setIsModifier((Boolean)newValue);
+ return;
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE__ACCESSED_ELEMENT:
+ setAccessedElement((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE__IS_MODIFIER:
+ setIsModifier(IS_MODIFIER_EDEFAULT);
+ return;
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE__ACCESSED_ELEMENT:
+ setAccessedElement((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE__IS_MODIFIER:
+ return isModifier != IS_MODIFIER_EDEFAULT;
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE__ACCESSED_ELEMENT:
+ return accessedElement != 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(" (isModifier: ");
+ result.append(isModifier);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SwAccessServiceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SwResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SwResourceImpl.java
new file mode 100644
index 00000000000..2e15579461a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/impl/SwResourceImpl.java
@@ -0,0 +1,348 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.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.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.impl.ResourceImpl;
+
+import org.eclipse.uml2.uml.BehavioralFeature;
+import org.eclipse.uml2.uml.TypedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Sw Resource</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl#getIdentifierElements <em>Identifier Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl#getStateElements <em>State Elements</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl#getMemorySizeFootprint <em>Memory Size Footprint</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl#getCreateServices <em>Create Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl#getDeleteServices <em>Delete Services</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SwResourceImpl#getInitializeServices <em>Initialize Services</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SwResourceImpl extends ResourceImpl implements SwResource {
+ /**
+ * The cached value of the '{@link #getIdentifierElements() <em>Identifier Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIdentifierElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> identifierElements;
+
+ /**
+ * The cached value of the '{@link #getStateElements() <em>State Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getStateElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<TypedElement> stateElements;
+
+ /**
+ * The cached value of the '{@link #getMemorySizeFootprint() <em>Memory Size Footprint</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMemorySizeFootprint()
+ * @generated
+ * @ordered
+ */
+ protected TypedElement memorySizeFootprint;
+
+ /**
+ * The cached value of the '{@link #getCreateServices() <em>Create Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCreateServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> createServices;
+
+ /**
+ * The cached value of the '{@link #getDeleteServices() <em>Delete Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDeleteServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> deleteServices;
+
+ /**
+ * The cached value of the '{@link #getInitializeServices() <em>Initialize Services</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInitializeServices()
+ * @generated
+ * @ordered
+ */
+ protected EList<BehavioralFeature> initializeServices;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SwResourceImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SW_ResourceCorePackage.Literals.SW_RESOURCE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getIdentifierElements() {
+ if (identifierElements == null) {
+ identifierElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS);
+ }
+ return identifierElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<TypedElement> getStateElements() {
+ if (stateElements == null) {
+ stateElements = new EObjectResolvingEList<TypedElement>(TypedElement.class, this, SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS);
+ }
+ return stateElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement getMemorySizeFootprint() {
+ if (memorySizeFootprint != null && memorySizeFootprint.eIsProxy()) {
+ InternalEObject oldMemorySizeFootprint = (InternalEObject)memorySizeFootprint;
+ memorySizeFootprint = (TypedElement)eResolveProxy(oldMemorySizeFootprint);
+ if (memorySizeFootprint != oldMemorySizeFootprint) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT, oldMemorySizeFootprint, memorySizeFootprint));
+ }
+ }
+ return memorySizeFootprint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TypedElement basicGetMemorySizeFootprint() {
+ return memorySizeFootprint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMemorySizeFootprint(TypedElement newMemorySizeFootprint) {
+ TypedElement oldMemorySizeFootprint = memorySizeFootprint;
+ memorySizeFootprint = newMemorySizeFootprint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT, oldMemorySizeFootprint, memorySizeFootprint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getCreateServices() {
+ if (createServices == null) {
+ createServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES);
+ }
+ return createServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getDeleteServices() {
+ if (deleteServices == null) {
+ deleteServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES);
+ }
+ return deleteServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BehavioralFeature> getInitializeServices() {
+ if (initializeServices == null) {
+ initializeServices = new EObjectResolvingEList<BehavioralFeature>(BehavioralFeature.class, this, SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES);
+ }
+ return initializeServices;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS:
+ return getIdentifierElements();
+ case SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS:
+ return getStateElements();
+ case SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT:
+ if (resolve) return getMemorySizeFootprint();
+ return basicGetMemorySizeFootprint();
+ case SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES:
+ return getCreateServices();
+ case SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES:
+ return getDeleteServices();
+ case SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES:
+ return getInitializeServices();
+ }
+ 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 SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS:
+ getIdentifierElements().clear();
+ getIdentifierElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS:
+ getStateElements().clear();
+ getStateElements().addAll((Collection<? extends TypedElement>)newValue);
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT:
+ setMemorySizeFootprint((TypedElement)newValue);
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES:
+ getCreateServices().clear();
+ getCreateServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES:
+ getDeleteServices().clear();
+ getDeleteServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES:
+ getInitializeServices().clear();
+ getInitializeServices().addAll((Collection<? extends BehavioralFeature>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS:
+ getIdentifierElements().clear();
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS:
+ getStateElements().clear();
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT:
+ setMemorySizeFootprint((TypedElement)null);
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES:
+ getCreateServices().clear();
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES:
+ getDeleteServices().clear();
+ return;
+ case SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES:
+ getInitializeServices().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SW_ResourceCorePackage.SW_RESOURCE__IDENTIFIER_ELEMENTS:
+ return identifierElements != null && !identifierElements.isEmpty();
+ case SW_ResourceCorePackage.SW_RESOURCE__STATE_ELEMENTS:
+ return stateElements != null && !stateElements.isEmpty();
+ case SW_ResourceCorePackage.SW_RESOURCE__MEMORY_SIZE_FOOTPRINT:
+ return memorySizeFootprint != null;
+ case SW_ResourceCorePackage.SW_RESOURCE__CREATE_SERVICES:
+ return createServices != null && !createServices.isEmpty();
+ case SW_ResourceCorePackage.SW_RESOURCE__DELETE_SERVICES:
+ return deleteServices != null && !deleteServices.isEmpty();
+ case SW_ResourceCorePackage.SW_RESOURCE__INITIALIZE_SERVICES:
+ return initializeServices != null && !initializeServices.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SwResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreAdapterFactory.java
new file mode 100644
index 00000000000..ce42bec71e0
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreAdapterFactory.java
@@ -0,0 +1,188 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.util;
+
+import org.eclipse.emf.common.notify.Adapter;
+import org.eclipse.emf.common.notify.Notifier;
+
+import org.eclipse.emf.common.notify.impl.AdapterFactoryImpl;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Adapter Factory</b> for the model.
+ * It provides an adapter <code>createXXX</code> method for each class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage
+ * @generated
+ */
+public class SW_ResourceCoreAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SW_ResourceCorePackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ResourceCoreAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = SW_ResourceCorePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Returns whether this factory is applicable for the type of the object.
+ * <!-- begin-user-doc -->
+ * This implementation returns <code>true</code> if the object is either the model's package or is an instance object of the model.
+ * <!-- end-user-doc -->
+ * @return whether this factory is applicable for the type of the object.
+ * @generated
+ */
+ @Override
+ public boolean isFactoryForType(Object object) {
+ if (object == modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SW_ResourceCoreSwitch<Adapter> modelSwitch =
+ new SW_ResourceCoreSwitch<Adapter>() {
+ @Override
+ public Adapter caseSwResource(SwResource object) {
+ return createSwResourceAdapter();
+ }
+ @Override
+ public Adapter caseSwAccessService(SwAccessService object) {
+ return createSwAccessServiceAdapter();
+ }
+ @Override
+ public Adapter caseResource(Resource object) {
+ return createResourceAdapter();
+ }
+ @Override
+ public Adapter caseGrService(GrService object) {
+ return createGrServiceAdapter();
+ }
+ @Override
+ public Adapter defaultCase(EObject object) {
+ return createEObjectAdapter();
+ }
+ };
+
+ /**
+ * Creates an adapter for the <code>target</code>.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param target the object to adapt.
+ * @return the adapter for the <code>target</code>.
+ * @generated
+ */
+ @Override
+ public Adapter createAdapter(Notifier target) {
+ return modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource <em>Sw Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwResource
+ * @generated
+ */
+ public Adapter createSwResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService <em>Sw Access Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SwAccessService
+ * @generated
+ */
+ public Adapter createSwAccessServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource <em>Resource</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource
+ * @generated
+ */
+ public Adapter createResourceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService <em>Gr Service</em>}'.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null so that we can easily ignore cases;
+ * it's useful to ignore a case when inheritance will catch all the cases anyway.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService
+ * @generated
+ */
+ public Adapter createGrServiceAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for the default case.
+ * <!-- begin-user-doc -->
+ * This default implementation returns null.
+ * <!-- end-user-doc -->
+ * @return the new adapter.
+ * @generated
+ */
+ public Adapter createEObjectAdapter() {
+ return null;
+ }
+
+} //SW_ResourceCoreAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreResourceFactoryImpl.java
new file mode 100644
index 00000000000..afb100cbc37
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreResourceFactoryImpl.java
@@ -0,0 +1,63 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.resource.impl.ResourceFactoryImpl;
+
+import org.eclipse.emf.ecore.xmi.XMLResource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource Factory</b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.util.SW_ResourceCoreResourceImpl
+ * @generated
+ */
+public class SW_ResourceCoreResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ResourceCoreResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new SW_ResourceCoreResourceImpl(uri);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_EXTENDED_META_DATA, Boolean.TRUE);
+
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_SCHEMA_LOCATION, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+ result.getDefaultSaveOptions().put(XMLResource.OPTION_USE_ENCODED_ATTRIBUTE_STYLE, Boolean.TRUE);
+
+ result.getDefaultLoadOptions().put(XMLResource.OPTION_USE_LEXICAL_HANDLER, Boolean.TRUE);
+ return result;
+ }
+
+} //SW_ResourceCoreResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreResourceImpl.java
new file mode 100644
index 00000000000..d893710928a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreResourceImpl.java
@@ -0,0 +1,39 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.util;
+
+import org.eclipse.emf.common.util.URI;
+
+import org.eclipse.emf.ecore.xmi.impl.XMLResourceImpl;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Resource </b> associated with the package.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.util.SW_ResourceCoreResourceFactoryImpl
+ * @generated
+ */
+public class SW_ResourceCoreResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public SW_ResourceCoreResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //SW_ResourceCoreResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreSwitch.java
new file mode 100644
index 00000000000..e8a9dcd4777
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreSwitch.java
@@ -0,0 +1,193 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.*;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.GrService;
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.Resource;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Switch</b> for the model's inheritance hierarchy.
+ * It supports the call {@link #doSwitch(EObject) doSwitch(object)}
+ * to invoke the <code>caseXXX</code> method for each class of the model,
+ * starting with the actual class of the object
+ * and proceeding up the inheritance hierarchy
+ * until a non-null result is returned,
+ * which is the result of the switch.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage
+ * @generated
+ */
+public class SW_ResourceCoreSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SW_ResourceCorePackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ResourceCoreSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SW_ResourceCorePackage.eINSTANCE;
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ public T doSwitch(EObject theEObject) {
+ return doSwitch(theEObject.eClass(), theEObject);
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(EClass theEClass, EObject theEObject) {
+ if (theEClass.eContainer() == modelPackage) {
+ return doSwitch(theEClass.getClassifierID(), theEObject);
+ }
+ else {
+ List<EClass> eSuperTypes = theEClass.getESuperTypes();
+ return
+ eSuperTypes.isEmpty() ?
+ defaultCase(theEObject) :
+ doSwitch(eSuperTypes.get(0), theEObject);
+ }
+ }
+
+ /**
+ * Calls <code>caseXXX</code> for each class of the model until one returns a non null result; it yields that result.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the first non-null result returned by a <code>caseXXX</code> call.
+ * @generated
+ */
+ protected T doSwitch(int classifierID, EObject theEObject) {
+ switch (classifierID) {
+ case SW_ResourceCorePackage.SW_RESOURCE: {
+ SwResource swResource = (SwResource)theEObject;
+ T result = caseSwResource(swResource);
+ if (result == null) result = caseResource(swResource);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SW_ResourceCorePackage.SW_ACCESS_SERVICE: {
+ SwAccessService swAccessService = (SwAccessService)theEObject;
+ T result = caseSwAccessService(swAccessService);
+ if (result == null) result = caseGrService(swAccessService);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwResource(SwResource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Sw Access Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Sw Access Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSwAccessService(SwAccessService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Resource</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseResource(Resource object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Gr Service</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>Gr Service</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGrService(GrService object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * <!-- begin-user-doc -->
+ * This implementation returns null;
+ * returning a non-null result will terminate the switch, but this is the last case anyway.
+ * <!-- end-user-doc -->
+ * @param object the target of the switch.
+ * @return the result of interpreting the object as an instance of '<em>EObject</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject)
+ * @generated
+ */
+ public T defaultCase(EObject object) {
+ return null;
+ }
+
+} //SW_ResourceCoreSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreXMLProcessor.java
new file mode 100644
index 00000000000..bde83d6d1bf
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_DesignModel/SRM/SW_ResourceCore/util/SW_ResourceCoreXMLProcessor.java
@@ -0,0 +1,61 @@
+/*****************************************************************************
+ * 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_DesignModel.SRM.SW_ResourceCore.util;
+
+import java.util.Map;
+
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.resource.Resource;
+
+import org.eclipse.emf.ecore.xmi.util.XMLProcessor;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SW_ResourceCoreXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SW_ResourceCoreXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ SW_ResourceCorePackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the SW_ResourceCoreResourceFactoryImpl factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected Map<String, Resource.Factory> getRegistrations() {
+ if (registrations == null) {
+ super.getRegistrations();
+ registrations.put(XML_EXTENSION, new SW_ResourceCoreResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new SW_ResourceCoreResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //SW_ResourceCoreXMLProcessor

Back to the top