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_Annexes/VSL')
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/BoundedSubtype.java199
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/ChoiceType.java110
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/CollectionType.java91
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/DataTypesFactory.java89
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/DataTypesPackage.java709
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/IntervalType.java91
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/TupleType.java83
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/BoundedSubtypeImpl.java460
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/ChoiceTypeImpl.java271
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/CollectionTypeImpl.java230
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/DataTypesFactoryImpl.java150
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/DataTypesPackageImpl.java677
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/IntervalTypeImpl.java230
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/TupleTypeImpl.java211
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesAdapterFactory.java203
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesSwitch.java221
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesXMLProcessor.java61
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/Operator.java110
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/OperatorsFactory.java46
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/OperatorsPackage.java210
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorImpl.java285
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorsFactoryImpl.java99
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorsPackageImpl.java457
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsAdapterFactory.java124
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsResourceFactoryImpl.java56
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsResourceImpl.java32
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsSwitch.java130
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsXMLProcessor.java54
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/ExpressionContext.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/Var.java94
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariableDirectionKind.java246
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariablesFactory.java62
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariablesPackage.java287
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/ExpressionContextImpl.java169
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VarImpl.java238
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VariablesFactoryImpl.java168
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VariablesPackageImpl.java509
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesAdapterFactory.java149
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesResourceFactoryImpl.java63
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesResourceImpl.java39
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesSwitch.java158
-rw-r--r--extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesXMLProcessor.java61
44 files changed, 8097 insertions, 0 deletions
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/BoundedSubtype.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/BoundedSubtype.java
new file mode 100644
index 00000000000..53ed1b3341a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/BoundedSubtype.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_Annexes.VSL.DataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Bounded Subtype</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getBaseType <em>Base Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getMinValue <em>Min Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getMaxValue <em>Max Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#isIsMinOpen <em>Is Min Open</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#isIsMaxOpen <em>Is Max Open</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getBoundedSubtype()
+ * @model
+ * @generated
+ */
+public interface BoundedSubtype extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Type</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 Type</em>' reference.
+ * @see #setBaseType(Property)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getBoundedSubtype_BaseType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBaseType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getBaseType <em>Base Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Type</em>' reference.
+ * @see #getBaseType()
+ * @generated
+ */
+ void setBaseType(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Min Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Min Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Min Value</em>' attribute.
+ * @see #setMinValue(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getBoundedSubtype_MinValue()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ String getMinValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getMinValue <em>Min Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Min Value</em>' attribute.
+ * @see #getMinValue()
+ * @generated
+ */
+ void setMinValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Max Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Max Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Max Value</em>' attribute.
+ * @see #setMaxValue(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getBoundedSubtype_MaxValue()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ String getMaxValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getMaxValue <em>Max Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Max Value</em>' attribute.
+ * @see #getMaxValue()
+ * @generated
+ */
+ void setMaxValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Is Min Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Min Open</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 Min Open</em>' attribute.
+ * @see #setIsMinOpen(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getBoundedSubtype_IsMinOpen()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsMinOpen();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#isIsMinOpen <em>Is Min Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Min Open</em>' attribute.
+ * @see #isIsMinOpen()
+ * @generated
+ */
+ void setIsMinOpen(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Is Max Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Max Open</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 Max Open</em>' attribute.
+ * @see #setIsMaxOpen(boolean)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getBoundedSubtype_IsMaxOpen()
+ * @model unique="false" required="true" ordered="false"
+ * @generated
+ */
+ boolean isIsMaxOpen();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#isIsMaxOpen <em>Is Max Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Max Open</em>' attribute.
+ * @see #isIsMaxOpen()
+ * @generated
+ */
+ void setIsMaxOpen(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Type</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 Data Type</em>' reference.
+ * @see #setBase_DataType(DataType)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getBoundedSubtype_Base_DataType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataType getBase_DataType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getBase_DataType <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Type</em>' reference.
+ * @see #getBase_DataType()
+ * @generated
+ */
+ void setBase_DataType(DataType value);
+
+} // BoundedSubtype
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/ChoiceType.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/ChoiceType.java
new file mode 100644
index 00000000000..4f8390a95ca
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/ChoiceType.java
@@ -0,0 +1,110 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Choice Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getChoiceAttrib <em>Choice Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getDefaultAttrib <em>Default Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getChoiceType()
+ * @model
+ * @generated
+ */
+public interface ChoiceType extends EObject {
+ /**
+ * Returns the value of the '<em><b>Choice Attrib</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.Property}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Choice Attrib</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>Choice Attrib</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getChoiceType_ChoiceAttrib()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Property> getChoiceAttrib();
+
+ /**
+ * Returns the value of the '<em><b>Default Attrib</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Attrib</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Default Attrib</em>' reference.
+ * @see #setDefaultAttrib(Property)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getChoiceType_DefaultAttrib()
+ * @model ordered="false"
+ * @generated
+ */
+ Property getDefaultAttrib();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getDefaultAttrib <em>Default Attrib</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Attrib</em>' reference.
+ * @see #getDefaultAttrib()
+ * @generated
+ */
+ void setDefaultAttrib(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Type</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 Data Type</em>' reference.
+ * @see #setBase_DataType(DataType)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getChoiceType_Base_DataType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataType getBase_DataType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getBase_DataType <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Type</em>' reference.
+ * @see #getBase_DataType()
+ * @generated
+ */
+ void setBase_DataType(DataType value);
+
+} // ChoiceType
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/CollectionType.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/CollectionType.java
new file mode 100644
index 00000000000..18d18e87fe2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/CollectionType.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Collection Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType#getCollectionAttrib <em>Collection Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getCollectionType()
+ * @model
+ * @generated
+ */
+public interface CollectionType extends EObject {
+ /**
+ * Returns the value of the '<em><b>Collection Attrib</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Collection Attrib</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Collection Attrib</em>' reference.
+ * @see #setCollectionAttrib(Property)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getCollectionType_CollectionAttrib()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getCollectionAttrib();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType#getCollectionAttrib <em>Collection Attrib</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Collection Attrib</em>' reference.
+ * @see #getCollectionAttrib()
+ * @generated
+ */
+ void setCollectionAttrib(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Type</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 Data Type</em>' reference.
+ * @see #setBase_DataType(DataType)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getCollectionType_Base_DataType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataType getBase_DataType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType#getBase_DataType <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Type</em>' reference.
+ * @see #getBase_DataType()
+ * @generated
+ */
+ void setBase_DataType(DataType value);
+
+} // CollectionType
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/DataTypesFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/DataTypesFactory.java
new file mode 100644
index 00000000000..4fe2cc6f034
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/DataTypesFactory.java
@@ -0,0 +1,89 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes;
+
+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_Annexes.VSL.DataTypes.DataTypesPackage
+ * @generated
+ */
+public interface DataTypesFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ DataTypesFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Bounded Subtype</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Bounded Subtype</em>'.
+ * @generated
+ */
+ BoundedSubtype createBoundedSubtype();
+
+ /**
+ * Returns a new object of class '<em>Interval Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Interval Type</em>'.
+ * @generated
+ */
+ IntervalType createIntervalType();
+
+ /**
+ * Returns a new object of class '<em>Collection Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Collection Type</em>'.
+ * @generated
+ */
+ CollectionType createCollectionType();
+
+ /**
+ * Returns a new object of class '<em>Choice Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Choice Type</em>'.
+ * @generated
+ */
+ ChoiceType createChoiceType();
+
+ /**
+ * Returns a new object of class '<em>Tuple Type</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Tuple Type</em>'.
+ * @generated
+ */
+ TupleType createTupleType();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ DataTypesPackage getDataTypesPackage();
+
+} //DataTypesFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/DataTypesPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/DataTypesPackage.java
new file mode 100644
index 00000000000..f2b4e32bfc2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/DataTypesPackage.java
@@ -0,0 +1,709 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- 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_Annexes.VSL.DataTypes.DataTypesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface DataTypesPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "DataTypes";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/DataTypes/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "DataTypes";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ DataTypesPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl <em>Bounded Subtype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getBoundedSubtype()
+ * @generated
+ */
+ int BOUNDED_SUBTYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDED_SUBTYPE__BASE_TYPE = 0;
+
+ /**
+ * The feature id for the '<em><b>Min Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDED_SUBTYPE__MIN_VALUE = 1;
+
+ /**
+ * The feature id for the '<em><b>Max Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDED_SUBTYPE__MAX_VALUE = 2;
+
+ /**
+ * The feature id for the '<em><b>Is Min Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDED_SUBTYPE__IS_MIN_OPEN = 3;
+
+ /**
+ * The feature id for the '<em><b>Is Max Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDED_SUBTYPE__IS_MAX_OPEN = 4;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDED_SUBTYPE__BASE_DATA_TYPE = 5;
+
+ /**
+ * The number of structural features of the '<em>Bounded Subtype</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BOUNDED_SUBTYPE_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.IntervalTypeImpl <em>Interval Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.IntervalTypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getIntervalType()
+ * @generated
+ */
+ int INTERVAL_TYPE = 1;
+
+ /**
+ * The feature id for the '<em><b>Interval Attrib</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERVAL_TYPE__INTERVAL_ATTRIB = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERVAL_TYPE__BASE_DATA_TYPE = 1;
+
+ /**
+ * The number of structural features of the '<em>Interval Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int INTERVAL_TYPE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.CollectionTypeImpl <em>Collection Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.CollectionTypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getCollectionType()
+ * @generated
+ */
+ int COLLECTION_TYPE = 2;
+
+ /**
+ * The feature id for the '<em><b>Collection Attrib</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TYPE__COLLECTION_ATTRIB = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TYPE__BASE_DATA_TYPE = 1;
+
+ /**
+ * The number of structural features of the '<em>Collection Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTION_TYPE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.ChoiceTypeImpl <em>Choice Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.ChoiceTypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getChoiceType()
+ * @generated
+ */
+ int CHOICE_TYPE = 3;
+
+ /**
+ * The feature id for the '<em><b>Choice Attrib</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHOICE_TYPE__CHOICE_ATTRIB = 0;
+
+ /**
+ * The feature id for the '<em><b>Default Attrib</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHOICE_TYPE__DEFAULT_ATTRIB = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHOICE_TYPE__BASE_DATA_TYPE = 2;
+
+ /**
+ * The number of structural features of the '<em>Choice Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHOICE_TYPE_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.TupleTypeImpl <em>Tuple Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.TupleTypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getTupleType()
+ * @generated
+ */
+ int TUPLE_TYPE = 4;
+
+ /**
+ * The feature id for the '<em><b>Tuple Attrib</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TUPLE_TYPE__TUPLE_ATTRIB = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TUPLE_TYPE__BASE_DATA_TYPE = 1;
+
+ /**
+ * The number of structural features of the '<em>Tuple Type</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TUPLE_TYPE_FEATURE_COUNT = 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype <em>Bounded Subtype</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Bounded Subtype</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype
+ * @generated
+ */
+ EClass getBoundedSubtype();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getBaseType <em>Base Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getBaseType()
+ * @see #getBoundedSubtype()
+ * @generated
+ */
+ EReference getBoundedSubtype_BaseType();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getMinValue <em>Min Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Min Value</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getMinValue()
+ * @see #getBoundedSubtype()
+ * @generated
+ */
+ EAttribute getBoundedSubtype_MinValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getMaxValue <em>Max Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Max Value</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getMaxValue()
+ * @see #getBoundedSubtype()
+ * @generated
+ */
+ EAttribute getBoundedSubtype_MaxValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#isIsMinOpen <em>Is Min Open</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Min Open</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#isIsMinOpen()
+ * @see #getBoundedSubtype()
+ * @generated
+ */
+ EAttribute getBoundedSubtype_IsMinOpen();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#isIsMaxOpen <em>Is Max Open</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Max Open</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#isIsMaxOpen()
+ * @see #getBoundedSubtype()
+ * @generated
+ */
+ EAttribute getBoundedSubtype_IsMaxOpen();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getBase_DataType <em>Base Data Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype#getBase_DataType()
+ * @see #getBoundedSubtype()
+ * @generated
+ */
+ EReference getBoundedSubtype_Base_DataType();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType <em>Interval Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Interval Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType
+ * @generated
+ */
+ EClass getIntervalType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType#getIntervalAttrib <em>Interval Attrib</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Interval Attrib</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType#getIntervalAttrib()
+ * @see #getIntervalType()
+ * @generated
+ */
+ EReference getIntervalType_IntervalAttrib();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType#getBase_DataType <em>Base Data Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType#getBase_DataType()
+ * @see #getIntervalType()
+ * @generated
+ */
+ EReference getIntervalType_Base_DataType();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType <em>Collection Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Collection Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType
+ * @generated
+ */
+ EClass getCollectionType();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType#getCollectionAttrib <em>Collection Attrib</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Collection Attrib</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType#getCollectionAttrib()
+ * @see #getCollectionType()
+ * @generated
+ */
+ EReference getCollectionType_CollectionAttrib();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType#getBase_DataType <em>Base Data Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType#getBase_DataType()
+ * @see #getCollectionType()
+ * @generated
+ */
+ EReference getCollectionType_Base_DataType();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType <em>Choice Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Choice Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType
+ * @generated
+ */
+ EClass getChoiceType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getChoiceAttrib <em>Choice Attrib</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Choice Attrib</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getChoiceAttrib()
+ * @see #getChoiceType()
+ * @generated
+ */
+ EReference getChoiceType_ChoiceAttrib();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getDefaultAttrib <em>Default Attrib</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default Attrib</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getDefaultAttrib()
+ * @see #getChoiceType()
+ * @generated
+ */
+ EReference getChoiceType_DefaultAttrib();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getBase_DataType <em>Base Data Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType#getBase_DataType()
+ * @see #getChoiceType()
+ * @generated
+ */
+ EReference getChoiceType_Base_DataType();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType <em>Tuple Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Tuple Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType
+ * @generated
+ */
+ EClass getTupleType();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType#getTupleAttrib <em>Tuple Attrib</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Tuple Attrib</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType#getTupleAttrib()
+ * @see #getTupleType()
+ * @generated
+ */
+ EReference getTupleType_TupleAttrib();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType#getBase_DataType <em>Base Data Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Data Type</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType#getBase_DataType()
+ * @see #getTupleType()
+ * @generated
+ */
+ EReference getTupleType_Base_DataType();
+
+ /**
+ * 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
+ */
+ DataTypesFactory getDataTypesFactory();
+
+ /**
+ * <!-- 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_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl <em>Bounded Subtype</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getBoundedSubtype()
+ * @generated
+ */
+ EClass BOUNDED_SUBTYPE = eINSTANCE.getBoundedSubtype();
+
+ /**
+ * The meta object literal for the '<em><b>Base Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOUNDED_SUBTYPE__BASE_TYPE = eINSTANCE.getBoundedSubtype_BaseType();
+
+ /**
+ * The meta object literal for the '<em><b>Min Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOUNDED_SUBTYPE__MIN_VALUE = eINSTANCE.getBoundedSubtype_MinValue();
+
+ /**
+ * The meta object literal for the '<em><b>Max Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOUNDED_SUBTYPE__MAX_VALUE = eINSTANCE.getBoundedSubtype_MaxValue();
+
+ /**
+ * The meta object literal for the '<em><b>Is Min Open</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOUNDED_SUBTYPE__IS_MIN_OPEN = eINSTANCE.getBoundedSubtype_IsMinOpen();
+
+ /**
+ * The meta object literal for the '<em><b>Is Max Open</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BOUNDED_SUBTYPE__IS_MAX_OPEN = eINSTANCE.getBoundedSubtype_IsMaxOpen();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BOUNDED_SUBTYPE__BASE_DATA_TYPE = eINSTANCE.getBoundedSubtype_Base_DataType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.IntervalTypeImpl <em>Interval Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.IntervalTypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getIntervalType()
+ * @generated
+ */
+ EClass INTERVAL_TYPE = eINSTANCE.getIntervalType();
+
+ /**
+ * The meta object literal for the '<em><b>Interval Attrib</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERVAL_TYPE__INTERVAL_ATTRIB = eINSTANCE.getIntervalType_IntervalAttrib();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference INTERVAL_TYPE__BASE_DATA_TYPE = eINSTANCE.getIntervalType_Base_DataType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.CollectionTypeImpl <em>Collection Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.CollectionTypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getCollectionType()
+ * @generated
+ */
+ EClass COLLECTION_TYPE = eINSTANCE.getCollectionType();
+
+ /**
+ * The meta object literal for the '<em><b>Collection Attrib</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COLLECTION_TYPE__COLLECTION_ATTRIB = eINSTANCE.getCollectionType_CollectionAttrib();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COLLECTION_TYPE__BASE_DATA_TYPE = eINSTANCE.getCollectionType_Base_DataType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.ChoiceTypeImpl <em>Choice Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.ChoiceTypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getChoiceType()
+ * @generated
+ */
+ EClass CHOICE_TYPE = eINSTANCE.getChoiceType();
+
+ /**
+ * The meta object literal for the '<em><b>Choice Attrib</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CHOICE_TYPE__CHOICE_ATTRIB = eINSTANCE.getChoiceType_ChoiceAttrib();
+
+ /**
+ * The meta object literal for the '<em><b>Default Attrib</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CHOICE_TYPE__DEFAULT_ATTRIB = eINSTANCE.getChoiceType_DefaultAttrib();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CHOICE_TYPE__BASE_DATA_TYPE = eINSTANCE.getChoiceType_Base_DataType();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.TupleTypeImpl <em>Tuple Type</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.TupleTypeImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.DataTypesPackageImpl#getTupleType()
+ * @generated
+ */
+ EClass TUPLE_TYPE = eINSTANCE.getTupleType();
+
+ /**
+ * The meta object literal for the '<em><b>Tuple Attrib</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TUPLE_TYPE__TUPLE_ATTRIB = eINSTANCE.getTupleType_TupleAttrib();
+
+ /**
+ * The meta object literal for the '<em><b>Base Data Type</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TUPLE_TYPE__BASE_DATA_TYPE = eINSTANCE.getTupleType_Base_DataType();
+
+ }
+
+} //DataTypesPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/IntervalType.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/IntervalType.java
new file mode 100644
index 00000000000..b830761668f
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/IntervalType.java
@@ -0,0 +1,91 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Interval Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType#getIntervalAttrib <em>Interval Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getIntervalType()
+ * @model
+ * @generated
+ */
+public interface IntervalType extends EObject {
+ /**
+ * Returns the value of the '<em><b>Interval Attrib</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Interval Attrib</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Interval Attrib</em>' reference.
+ * @see #setIntervalAttrib(Property)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getIntervalType_IntervalAttrib()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getIntervalAttrib();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType#getIntervalAttrib <em>Interval Attrib</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Interval Attrib</em>' reference.
+ * @see #getIntervalAttrib()
+ * @generated
+ */
+ void setIntervalAttrib(Property value);
+
+ /**
+ * Returns the value of the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Type</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 Data Type</em>' reference.
+ * @see #setBase_DataType(DataType)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getIntervalType_Base_DataType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataType getBase_DataType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType#getBase_DataType <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Type</em>' reference.
+ * @see #getBase_DataType()
+ * @generated
+ */
+ void setBase_DataType(DataType value);
+
+} // IntervalType
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/TupleType.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/TupleType.java
new file mode 100644
index 00000000000..7f0fa8fef17
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/TupleType.java
@@ -0,0 +1,83 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Tuple Type</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType#getTupleAttrib <em>Tuple Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getTupleType()
+ * @model
+ * @generated
+ */
+public interface TupleType extends EObject {
+ /**
+ * Returns the value of the '<em><b>Tuple Attrib</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.uml2.uml.Property}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tuple Attrib</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>Tuple Attrib</em>' reference list.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getTupleType_TupleAttrib()
+ * @model ordered="false"
+ * @generated
+ */
+ EList<Property> getTupleAttrib();
+
+ /**
+ * Returns the value of the '<em><b>Base Data Type</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Data Type</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 Data Type</em>' reference.
+ * @see #setBase_DataType(DataType)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage#getTupleType_Base_DataType()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ DataType getBase_DataType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType#getBase_DataType <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Data Type</em>' reference.
+ * @see #getBase_DataType()
+ * @generated
+ */
+ void setBase_DataType(DataType value);
+
+} // TupleType
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/BoundedSubtypeImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/BoundedSubtypeImpl.java
new file mode 100644
index 00000000000..b20b4dd5905
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/BoundedSubtypeImpl.java
@@ -0,0 +1,460 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.BoundedSubtype;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Bounded Subtype</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl#getBaseType <em>Base Type</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl#getMinValue <em>Min Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl#getMaxValue <em>Max Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl#isIsMinOpen <em>Is Min Open</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl#isIsMaxOpen <em>Is Max Open</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.BoundedSubtypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BoundedSubtypeImpl extends EObjectImpl implements BoundedSubtype {
+ /**
+ * The cached value of the '{@link #getBaseType() <em>Base Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseType()
+ * @generated
+ * @ordered
+ */
+ protected Property baseType;
+
+ /**
+ * The default value of the '{@link #getMinValue() <em>Min Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String MIN_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMinValue() <em>Min Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinValue()
+ * @generated
+ * @ordered
+ */
+ protected String minValue = MIN_VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMaxValue() <em>Max Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaxValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String MAX_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMaxValue() <em>Max Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaxValue()
+ * @generated
+ * @ordered
+ */
+ protected String maxValue = MAX_VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsMinOpen() <em>Is Min Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMinOpen()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_MIN_OPEN_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsMinOpen() <em>Is Min Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMinOpen()
+ * @generated
+ * @ordered
+ */
+ protected boolean isMinOpen = IS_MIN_OPEN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsMaxOpen() <em>Is Max Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMaxOpen()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_MAX_OPEN_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsMaxOpen() <em>Is Max Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsMaxOpen()
+ * @generated
+ * @ordered
+ */
+ protected boolean isMaxOpen = IS_MAX_OPEN_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_DataType() <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataType()
+ * @generated
+ * @ordered
+ */
+ protected DataType base_DataType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BoundedSubtypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DataTypesPackage.Literals.BOUNDED_SUBTYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBaseType() {
+ if (baseType != null && baseType.eIsProxy()) {
+ InternalEObject oldBaseType = (InternalEObject)baseType;
+ baseType = (Property)eResolveProxy(oldBaseType);
+ if (baseType != oldBaseType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.BOUNDED_SUBTYPE__BASE_TYPE, oldBaseType, baseType));
+ }
+ }
+ return baseType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBaseType() {
+ return baseType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBaseType(Property newBaseType) {
+ Property oldBaseType = baseType;
+ baseType = newBaseType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.BOUNDED_SUBTYPE__BASE_TYPE, oldBaseType, baseType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMinValue() {
+ return minValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinValue(String newMinValue) {
+ String oldMinValue = minValue;
+ minValue = newMinValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.BOUNDED_SUBTYPE__MIN_VALUE, oldMinValue, minValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMaxValue() {
+ return maxValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMaxValue(String newMaxValue) {
+ String oldMaxValue = maxValue;
+ maxValue = newMaxValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.BOUNDED_SUBTYPE__MAX_VALUE, oldMaxValue, maxValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsMinOpen() {
+ return isMinOpen;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsMinOpen(boolean newIsMinOpen) {
+ boolean oldIsMinOpen = isMinOpen;
+ isMinOpen = newIsMinOpen;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.BOUNDED_SUBTYPE__IS_MIN_OPEN, oldIsMinOpen, isMinOpen));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsMaxOpen() {
+ return isMaxOpen;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsMaxOpen(boolean newIsMaxOpen) {
+ boolean oldIsMaxOpen = isMaxOpen;
+ isMaxOpen = newIsMaxOpen;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.BOUNDED_SUBTYPE__IS_MAX_OPEN, oldIsMaxOpen, isMaxOpen));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType getBase_DataType() {
+ if (base_DataType != null && base_DataType.eIsProxy()) {
+ InternalEObject oldBase_DataType = (InternalEObject)base_DataType;
+ base_DataType = (DataType)eResolveProxy(oldBase_DataType);
+ if (base_DataType != oldBase_DataType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.BOUNDED_SUBTYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+ }
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType basicGetBase_DataType() {
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataType(DataType newBase_DataType) {
+ DataType oldBase_DataType = base_DataType;
+ base_DataType = newBase_DataType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.BOUNDED_SUBTYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DataTypesPackage.BOUNDED_SUBTYPE__BASE_TYPE:
+ if (resolve) return getBaseType();
+ return basicGetBaseType();
+ case DataTypesPackage.BOUNDED_SUBTYPE__MIN_VALUE:
+ return getMinValue();
+ case DataTypesPackage.BOUNDED_SUBTYPE__MAX_VALUE:
+ return getMaxValue();
+ case DataTypesPackage.BOUNDED_SUBTYPE__IS_MIN_OPEN:
+ return isIsMinOpen();
+ case DataTypesPackage.BOUNDED_SUBTYPE__IS_MAX_OPEN:
+ return isIsMaxOpen();
+ case DataTypesPackage.BOUNDED_SUBTYPE__BASE_DATA_TYPE:
+ if (resolve) return getBase_DataType();
+ return basicGetBase_DataType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DataTypesPackage.BOUNDED_SUBTYPE__BASE_TYPE:
+ setBaseType((Property)newValue);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__MIN_VALUE:
+ setMinValue((String)newValue);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__MAX_VALUE:
+ setMaxValue((String)newValue);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__IS_MIN_OPEN:
+ setIsMinOpen((Boolean)newValue);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__IS_MAX_OPEN:
+ setIsMaxOpen((Boolean)newValue);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.BOUNDED_SUBTYPE__BASE_TYPE:
+ setBaseType((Property)null);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__MIN_VALUE:
+ setMinValue(MIN_VALUE_EDEFAULT);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__MAX_VALUE:
+ setMaxValue(MAX_VALUE_EDEFAULT);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__IS_MIN_OPEN:
+ setIsMinOpen(IS_MIN_OPEN_EDEFAULT);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__IS_MAX_OPEN:
+ setIsMaxOpen(IS_MAX_OPEN_EDEFAULT);
+ return;
+ case DataTypesPackage.BOUNDED_SUBTYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.BOUNDED_SUBTYPE__BASE_TYPE:
+ return baseType != null;
+ case DataTypesPackage.BOUNDED_SUBTYPE__MIN_VALUE:
+ return MIN_VALUE_EDEFAULT == null ? minValue != null : !MIN_VALUE_EDEFAULT.equals(minValue);
+ case DataTypesPackage.BOUNDED_SUBTYPE__MAX_VALUE:
+ return MAX_VALUE_EDEFAULT == null ? maxValue != null : !MAX_VALUE_EDEFAULT.equals(maxValue);
+ case DataTypesPackage.BOUNDED_SUBTYPE__IS_MIN_OPEN:
+ return isMinOpen != IS_MIN_OPEN_EDEFAULT;
+ case DataTypesPackage.BOUNDED_SUBTYPE__IS_MAX_OPEN:
+ return isMaxOpen != IS_MAX_OPEN_EDEFAULT;
+ case DataTypesPackage.BOUNDED_SUBTYPE__BASE_DATA_TYPE:
+ return base_DataType != 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(" (minValue: ");
+ result.append(minValue);
+ result.append(", maxValue: ");
+ result.append(maxValue);
+ result.append(", isMinOpen: ");
+ result.append(isMinOpen);
+ result.append(", isMaxOpen: ");
+ result.append(isMaxOpen);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BoundedSubtypeImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/ChoiceTypeImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/ChoiceTypeImpl.java
new file mode 100644
index 00000000000..40ab71964a1
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/ChoiceTypeImpl.java
@@ -0,0 +1,271 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Choice Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.ChoiceTypeImpl#getChoiceAttrib <em>Choice Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.ChoiceTypeImpl#getDefaultAttrib <em>Default Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.ChoiceTypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ChoiceTypeImpl extends EObjectImpl implements ChoiceType {
+ /**
+ * The cached value of the '{@link #getChoiceAttrib() <em>Choice Attrib</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getChoiceAttrib()
+ * @generated
+ * @ordered
+ */
+ protected EList<Property> choiceAttrib;
+
+ /**
+ * The cached value of the '{@link #getDefaultAttrib() <em>Default Attrib</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultAttrib()
+ * @generated
+ * @ordered
+ */
+ protected Property defaultAttrib;
+
+ /**
+ * The cached value of the '{@link #getBase_DataType() <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataType()
+ * @generated
+ * @ordered
+ */
+ protected DataType base_DataType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ChoiceTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DataTypesPackage.Literals.CHOICE_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getChoiceAttrib() {
+ if (choiceAttrib == null) {
+ choiceAttrib = new EObjectResolvingEList<Property>(Property.class, this, DataTypesPackage.CHOICE_TYPE__CHOICE_ATTRIB);
+ }
+ return choiceAttrib;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getDefaultAttrib() {
+ if (defaultAttrib != null && defaultAttrib.eIsProxy()) {
+ InternalEObject oldDefaultAttrib = (InternalEObject)defaultAttrib;
+ defaultAttrib = (Property)eResolveProxy(oldDefaultAttrib);
+ if (defaultAttrib != oldDefaultAttrib) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.CHOICE_TYPE__DEFAULT_ATTRIB, oldDefaultAttrib, defaultAttrib));
+ }
+ }
+ return defaultAttrib;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetDefaultAttrib() {
+ return defaultAttrib;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultAttrib(Property newDefaultAttrib) {
+ Property oldDefaultAttrib = defaultAttrib;
+ defaultAttrib = newDefaultAttrib;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.CHOICE_TYPE__DEFAULT_ATTRIB, oldDefaultAttrib, defaultAttrib));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType getBase_DataType() {
+ if (base_DataType != null && base_DataType.eIsProxy()) {
+ InternalEObject oldBase_DataType = (InternalEObject)base_DataType;
+ base_DataType = (DataType)eResolveProxy(oldBase_DataType);
+ if (base_DataType != oldBase_DataType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.CHOICE_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+ }
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType basicGetBase_DataType() {
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataType(DataType newBase_DataType) {
+ DataType oldBase_DataType = base_DataType;
+ base_DataType = newBase_DataType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.CHOICE_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DataTypesPackage.CHOICE_TYPE__CHOICE_ATTRIB:
+ return getChoiceAttrib();
+ case DataTypesPackage.CHOICE_TYPE__DEFAULT_ATTRIB:
+ if (resolve) return getDefaultAttrib();
+ return basicGetDefaultAttrib();
+ case DataTypesPackage.CHOICE_TYPE__BASE_DATA_TYPE:
+ if (resolve) return getBase_DataType();
+ return basicGetBase_DataType();
+ }
+ 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 DataTypesPackage.CHOICE_TYPE__CHOICE_ATTRIB:
+ getChoiceAttrib().clear();
+ getChoiceAttrib().addAll((Collection<? extends Property>)newValue);
+ return;
+ case DataTypesPackage.CHOICE_TYPE__DEFAULT_ATTRIB:
+ setDefaultAttrib((Property)newValue);
+ return;
+ case DataTypesPackage.CHOICE_TYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.CHOICE_TYPE__CHOICE_ATTRIB:
+ getChoiceAttrib().clear();
+ return;
+ case DataTypesPackage.CHOICE_TYPE__DEFAULT_ATTRIB:
+ setDefaultAttrib((Property)null);
+ return;
+ case DataTypesPackage.CHOICE_TYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.CHOICE_TYPE__CHOICE_ATTRIB:
+ return choiceAttrib != null && !choiceAttrib.isEmpty();
+ case DataTypesPackage.CHOICE_TYPE__DEFAULT_ATTRIB:
+ return defaultAttrib != null;
+ case DataTypesPackage.CHOICE_TYPE__BASE_DATA_TYPE:
+ return base_DataType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ChoiceTypeImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/CollectionTypeImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/CollectionTypeImpl.java
new file mode 100644
index 00000000000..b8c73550542
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/CollectionTypeImpl.java
@@ -0,0 +1,230 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collection Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.CollectionTypeImpl#getCollectionAttrib <em>Collection Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.CollectionTypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CollectionTypeImpl extends EObjectImpl implements CollectionType {
+ /**
+ * The cached value of the '{@link #getCollectionAttrib() <em>Collection Attrib</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCollectionAttrib()
+ * @generated
+ * @ordered
+ */
+ protected Property collectionAttrib;
+
+ /**
+ * The cached value of the '{@link #getBase_DataType() <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataType()
+ * @generated
+ * @ordered
+ */
+ protected DataType base_DataType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollectionTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DataTypesPackage.Literals.COLLECTION_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getCollectionAttrib() {
+ if (collectionAttrib != null && collectionAttrib.eIsProxy()) {
+ InternalEObject oldCollectionAttrib = (InternalEObject)collectionAttrib;
+ collectionAttrib = (Property)eResolveProxy(oldCollectionAttrib);
+ if (collectionAttrib != oldCollectionAttrib) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.COLLECTION_TYPE__COLLECTION_ATTRIB, oldCollectionAttrib, collectionAttrib));
+ }
+ }
+ return collectionAttrib;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetCollectionAttrib() {
+ return collectionAttrib;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCollectionAttrib(Property newCollectionAttrib) {
+ Property oldCollectionAttrib = collectionAttrib;
+ collectionAttrib = newCollectionAttrib;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.COLLECTION_TYPE__COLLECTION_ATTRIB, oldCollectionAttrib, collectionAttrib));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType getBase_DataType() {
+ if (base_DataType != null && base_DataType.eIsProxy()) {
+ InternalEObject oldBase_DataType = (InternalEObject)base_DataType;
+ base_DataType = (DataType)eResolveProxy(oldBase_DataType);
+ if (base_DataType != oldBase_DataType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.COLLECTION_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+ }
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType basicGetBase_DataType() {
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataType(DataType newBase_DataType) {
+ DataType oldBase_DataType = base_DataType;
+ base_DataType = newBase_DataType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.COLLECTION_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DataTypesPackage.COLLECTION_TYPE__COLLECTION_ATTRIB:
+ if (resolve) return getCollectionAttrib();
+ return basicGetCollectionAttrib();
+ case DataTypesPackage.COLLECTION_TYPE__BASE_DATA_TYPE:
+ if (resolve) return getBase_DataType();
+ return basicGetBase_DataType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DataTypesPackage.COLLECTION_TYPE__COLLECTION_ATTRIB:
+ setCollectionAttrib((Property)newValue);
+ return;
+ case DataTypesPackage.COLLECTION_TYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.COLLECTION_TYPE__COLLECTION_ATTRIB:
+ setCollectionAttrib((Property)null);
+ return;
+ case DataTypesPackage.COLLECTION_TYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.COLLECTION_TYPE__COLLECTION_ATTRIB:
+ return collectionAttrib != null;
+ case DataTypesPackage.COLLECTION_TYPE__BASE_DATA_TYPE:
+ return base_DataType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CollectionTypeImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/DataTypesFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/DataTypesFactoryImpl.java
new file mode 100644
index 00000000000..9a970d21b74
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/DataTypesFactoryImpl.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_Annexes.VSL.DataTypes.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_Annexes.VSL.DataTypes.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataTypesFactoryImpl extends EFactoryImpl implements DataTypesFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static DataTypesFactory init() {
+ try {
+ DataTypesFactory theDataTypesFactory = (DataTypesFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/DataTypes/1");
+ if (theDataTypesFactory != null) {
+ return theDataTypesFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new DataTypesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypesFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case DataTypesPackage.BOUNDED_SUBTYPE: return createBoundedSubtype();
+ case DataTypesPackage.INTERVAL_TYPE: return createIntervalType();
+ case DataTypesPackage.COLLECTION_TYPE: return createCollectionType();
+ case DataTypesPackage.CHOICE_TYPE: return createChoiceType();
+ case DataTypesPackage.TUPLE_TYPE: return createTupleType();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BoundedSubtype createBoundedSubtype() {
+ BoundedSubtypeImpl boundedSubtype = new BoundedSubtypeImpl();
+ return boundedSubtype;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public IntervalType createIntervalType() {
+ IntervalTypeImpl intervalType = new IntervalTypeImpl();
+ return intervalType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectionType createCollectionType() {
+ CollectionTypeImpl collectionType = new CollectionTypeImpl();
+ return collectionType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ChoiceType createChoiceType() {
+ ChoiceTypeImpl choiceType = new ChoiceTypeImpl();
+ return choiceType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public TupleType createTupleType() {
+ TupleTypeImpl tupleType = new TupleTypeImpl();
+ return tupleType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypesPackage getDataTypesPackage() {
+ return (DataTypesPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static DataTypesPackage getPackage() {
+ return DataTypesPackage.eINSTANCE;
+ }
+
+} //DataTypesFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/DataTypesPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/DataTypesPackageImpl.java
new file mode 100644
index 00000000000..f144fca0724
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/DataTypesPackageImpl.java
@@ -0,0 +1,677 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes.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.BoundedSubtype;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesFactory;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.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 DataTypesPackageImpl extends EPackageImpl implements DataTypesPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass boundedSubtypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass intervalTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass collectionTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass choiceTypeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass tupleTypeEClass = 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_Annexes.VSL.DataTypes.DataTypesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private DataTypesPackageImpl() {
+ super(eNS_URI, DataTypesFactory.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 DataTypesPackage#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 DataTypesPackage init() {
+ if (isInited) return (DataTypesPackage)EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI);
+
+ // Obtain or create and register package
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new DataTypesPackageImpl());
+
+ 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);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theDataTypesPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theDataTypesPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theDataTypesPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(DataTypesPackage.eNS_URI, theDataTypesPackage);
+ return theDataTypesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBoundedSubtype() {
+ return boundedSubtypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBoundedSubtype_BaseType() {
+ return (EReference)boundedSubtypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBoundedSubtype_MinValue() {
+ return (EAttribute)boundedSubtypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBoundedSubtype_MaxValue() {
+ return (EAttribute)boundedSubtypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBoundedSubtype_IsMinOpen() {
+ return (EAttribute)boundedSubtypeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBoundedSubtype_IsMaxOpen() {
+ return (EAttribute)boundedSubtypeEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBoundedSubtype_Base_DataType() {
+ return (EReference)boundedSubtypeEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getIntervalType() {
+ return intervalTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getIntervalType_IntervalAttrib() {
+ return (EReference)intervalTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getIntervalType_Base_DataType() {
+ return (EReference)intervalTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCollectionType() {
+ return collectionTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollectionType_CollectionAttrib() {
+ return (EReference)collectionTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollectionType_Base_DataType() {
+ return (EReference)collectionTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getChoiceType() {
+ return choiceTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getChoiceType_ChoiceAttrib() {
+ return (EReference)choiceTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getChoiceType_DefaultAttrib() {
+ return (EReference)choiceTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getChoiceType_Base_DataType() {
+ return (EReference)choiceTypeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTupleType() {
+ return tupleTypeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTupleType_TupleAttrib() {
+ return (EReference)tupleTypeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTupleType_Base_DataType() {
+ return (EReference)tupleTypeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypesFactory getDataTypesFactory() {
+ return (DataTypesFactory)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
+ boundedSubtypeEClass = createEClass(BOUNDED_SUBTYPE);
+ createEReference(boundedSubtypeEClass, BOUNDED_SUBTYPE__BASE_TYPE);
+ createEAttribute(boundedSubtypeEClass, BOUNDED_SUBTYPE__MIN_VALUE);
+ createEAttribute(boundedSubtypeEClass, BOUNDED_SUBTYPE__MAX_VALUE);
+ createEAttribute(boundedSubtypeEClass, BOUNDED_SUBTYPE__IS_MIN_OPEN);
+ createEAttribute(boundedSubtypeEClass, BOUNDED_SUBTYPE__IS_MAX_OPEN);
+ createEReference(boundedSubtypeEClass, BOUNDED_SUBTYPE__BASE_DATA_TYPE);
+
+ intervalTypeEClass = createEClass(INTERVAL_TYPE);
+ createEReference(intervalTypeEClass, INTERVAL_TYPE__INTERVAL_ATTRIB);
+ createEReference(intervalTypeEClass, INTERVAL_TYPE__BASE_DATA_TYPE);
+
+ collectionTypeEClass = createEClass(COLLECTION_TYPE);
+ createEReference(collectionTypeEClass, COLLECTION_TYPE__COLLECTION_ATTRIB);
+ createEReference(collectionTypeEClass, COLLECTION_TYPE__BASE_DATA_TYPE);
+
+ choiceTypeEClass = createEClass(CHOICE_TYPE);
+ createEReference(choiceTypeEClass, CHOICE_TYPE__CHOICE_ATTRIB);
+ createEReference(choiceTypeEClass, CHOICE_TYPE__DEFAULT_ATTRIB);
+ createEReference(choiceTypeEClass, CHOICE_TYPE__BASE_DATA_TYPE);
+
+ tupleTypeEClass = createEClass(TUPLE_TYPE);
+ createEReference(tupleTypeEClass, TUPLE_TYPE__TUPLE_ATTRIB);
+ createEReference(tupleTypeEClass, TUPLE_TYPE__BASE_DATA_TYPE);
+ }
+
+ /**
+ * <!-- 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
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(boundedSubtypeEClass, BoundedSubtype.class, "BoundedSubtype", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBoundedSubtype_BaseType(), theUMLPackage.getProperty(), null, "baseType", null, 1, 1, BoundedSubtype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getBoundedSubtype_MinValue(), ecorePackage.getEString(), "minValue", null, 1, 1, BoundedSubtype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getBoundedSubtype_MaxValue(), ecorePackage.getEString(), "maxValue", null, 1, 1, BoundedSubtype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getBoundedSubtype_IsMinOpen(), ecorePackage.getEBoolean(), "isMinOpen", null, 1, 1, BoundedSubtype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getBoundedSubtype_IsMaxOpen(), ecorePackage.getEBoolean(), "isMaxOpen", null, 1, 1, BoundedSubtype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getBoundedSubtype_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, BoundedSubtype.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(intervalTypeEClass, IntervalType.class, "IntervalType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getIntervalType_IntervalAttrib(), theUMLPackage.getProperty(), null, "intervalAttrib", null, 1, 1, IntervalType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getIntervalType_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, IntervalType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(collectionTypeEClass, CollectionType.class, "CollectionType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCollectionType_CollectionAttrib(), theUMLPackage.getProperty(), null, "collectionAttrib", null, 1, 1, CollectionType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getCollectionType_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, CollectionType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(choiceTypeEClass, ChoiceType.class, "ChoiceType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getChoiceType_ChoiceAttrib(), theUMLPackage.getProperty(), null, "choiceAttrib", null, 0, -1, ChoiceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getChoiceType_DefaultAttrib(), theUMLPackage.getProperty(), null, "defaultAttrib", null, 0, 1, ChoiceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getChoiceType_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, ChoiceType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(tupleTypeEClass, TupleType.class, "TupleType", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTupleType_TupleAttrib(), theUMLPackage.getProperty(), null, "tupleAttrib", null, 0, -1, TupleType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getTupleType_Base_DataType(), theUMLPackage.getDataType(), null, "base_DataType", null, 1, 1, TupleType.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //DataTypesPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/IntervalTypeImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/IntervalTypeImpl.java
new file mode 100644
index 00000000000..0a2c94273f8
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/IntervalTypeImpl.java
@@ -0,0 +1,230 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Interval Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.IntervalTypeImpl#getIntervalAttrib <em>Interval Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.IntervalTypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class IntervalTypeImpl extends EObjectImpl implements IntervalType {
+ /**
+ * The cached value of the '{@link #getIntervalAttrib() <em>Interval Attrib</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getIntervalAttrib()
+ * @generated
+ * @ordered
+ */
+ protected Property intervalAttrib;
+
+ /**
+ * The cached value of the '{@link #getBase_DataType() <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataType()
+ * @generated
+ * @ordered
+ */
+ protected DataType base_DataType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected IntervalTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DataTypesPackage.Literals.INTERVAL_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getIntervalAttrib() {
+ if (intervalAttrib != null && intervalAttrib.eIsProxy()) {
+ InternalEObject oldIntervalAttrib = (InternalEObject)intervalAttrib;
+ intervalAttrib = (Property)eResolveProxy(oldIntervalAttrib);
+ if (intervalAttrib != oldIntervalAttrib) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.INTERVAL_TYPE__INTERVAL_ATTRIB, oldIntervalAttrib, intervalAttrib));
+ }
+ }
+ return intervalAttrib;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetIntervalAttrib() {
+ return intervalAttrib;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIntervalAttrib(Property newIntervalAttrib) {
+ Property oldIntervalAttrib = intervalAttrib;
+ intervalAttrib = newIntervalAttrib;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.INTERVAL_TYPE__INTERVAL_ATTRIB, oldIntervalAttrib, intervalAttrib));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType getBase_DataType() {
+ if (base_DataType != null && base_DataType.eIsProxy()) {
+ InternalEObject oldBase_DataType = (InternalEObject)base_DataType;
+ base_DataType = (DataType)eResolveProxy(oldBase_DataType);
+ if (base_DataType != oldBase_DataType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.INTERVAL_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+ }
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType basicGetBase_DataType() {
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataType(DataType newBase_DataType) {
+ DataType oldBase_DataType = base_DataType;
+ base_DataType = newBase_DataType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.INTERVAL_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DataTypesPackage.INTERVAL_TYPE__INTERVAL_ATTRIB:
+ if (resolve) return getIntervalAttrib();
+ return basicGetIntervalAttrib();
+ case DataTypesPackage.INTERVAL_TYPE__BASE_DATA_TYPE:
+ if (resolve) return getBase_DataType();
+ return basicGetBase_DataType();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case DataTypesPackage.INTERVAL_TYPE__INTERVAL_ATTRIB:
+ setIntervalAttrib((Property)newValue);
+ return;
+ case DataTypesPackage.INTERVAL_TYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.INTERVAL_TYPE__INTERVAL_ATTRIB:
+ setIntervalAttrib((Property)null);
+ return;
+ case DataTypesPackage.INTERVAL_TYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.INTERVAL_TYPE__INTERVAL_ATTRIB:
+ return intervalAttrib != null;
+ case DataTypesPackage.INTERVAL_TYPE__BASE_DATA_TYPE:
+ return base_DataType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //IntervalTypeImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/TupleTypeImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/TupleTypeImpl.java
new file mode 100644
index 00000000000..f14646151c2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/impl/TupleTypeImpl.java
@@ -0,0 +1,211 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.DataTypesPackage;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType;
+
+import org.eclipse.uml2.uml.DataType;
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Tuple Type</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.TupleTypeImpl#getTupleAttrib <em>Tuple Attrib</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.impl.TupleTypeImpl#getBase_DataType <em>Base Data Type</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class TupleTypeImpl extends EObjectImpl implements TupleType {
+ /**
+ * The cached value of the '{@link #getTupleAttrib() <em>Tuple Attrib</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTupleAttrib()
+ * @generated
+ * @ordered
+ */
+ protected EList<Property> tupleAttrib;
+
+ /**
+ * The cached value of the '{@link #getBase_DataType() <em>Base Data Type</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_DataType()
+ * @generated
+ * @ordered
+ */
+ protected DataType base_DataType;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected TupleTypeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return DataTypesPackage.Literals.TUPLE_TYPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Property> getTupleAttrib() {
+ if (tupleAttrib == null) {
+ tupleAttrib = new EObjectResolvingEList<Property>(Property.class, this, DataTypesPackage.TUPLE_TYPE__TUPLE_ATTRIB);
+ }
+ return tupleAttrib;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType getBase_DataType() {
+ if (base_DataType != null && base_DataType.eIsProxy()) {
+ InternalEObject oldBase_DataType = (InternalEObject)base_DataType;
+ base_DataType = (DataType)eResolveProxy(oldBase_DataType);
+ if (base_DataType != oldBase_DataType) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, DataTypesPackage.TUPLE_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+ }
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataType basicGetBase_DataType() {
+ return base_DataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_DataType(DataType newBase_DataType) {
+ DataType oldBase_DataType = base_DataType;
+ base_DataType = newBase_DataType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, DataTypesPackage.TUPLE_TYPE__BASE_DATA_TYPE, oldBase_DataType, base_DataType));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case DataTypesPackage.TUPLE_TYPE__TUPLE_ATTRIB:
+ return getTupleAttrib();
+ case DataTypesPackage.TUPLE_TYPE__BASE_DATA_TYPE:
+ if (resolve) return getBase_DataType();
+ return basicGetBase_DataType();
+ }
+ 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 DataTypesPackage.TUPLE_TYPE__TUPLE_ATTRIB:
+ getTupleAttrib().clear();
+ getTupleAttrib().addAll((Collection<? extends Property>)newValue);
+ return;
+ case DataTypesPackage.TUPLE_TYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.TUPLE_TYPE__TUPLE_ATTRIB:
+ getTupleAttrib().clear();
+ return;
+ case DataTypesPackage.TUPLE_TYPE__BASE_DATA_TYPE:
+ setBase_DataType((DataType)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case DataTypesPackage.TUPLE_TYPE__TUPLE_ATTRIB:
+ return tupleAttrib != null && !tupleAttrib.isEmpty();
+ case DataTypesPackage.TUPLE_TYPE__BASE_DATA_TYPE:
+ return base_DataType != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //TupleTypeImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesAdapterFactory.java
new file mode 100644
index 00000000000..8891f06685a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesAdapterFactory.java
@@ -0,0 +1,203 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes.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_Annexes.VSL.DataTypes.*;
+
+/**
+ * <!-- 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_Annexes.VSL.DataTypes.DataTypesPackage
+ * @generated
+ */
+public class DataTypesAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static DataTypesPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypesAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = DataTypesPackage.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 DataTypesSwitch<Adapter> modelSwitch =
+ new DataTypesSwitch<Adapter>() {
+ @Override
+ public Adapter caseBoundedSubtype(BoundedSubtype object) {
+ return createBoundedSubtypeAdapter();
+ }
+ @Override
+ public Adapter caseIntervalType(IntervalType object) {
+ return createIntervalTypeAdapter();
+ }
+ @Override
+ public Adapter caseCollectionType(CollectionType object) {
+ return createCollectionTypeAdapter();
+ }
+ @Override
+ public Adapter caseChoiceType(ChoiceType object) {
+ return createChoiceTypeAdapter();
+ }
+ @Override
+ public Adapter caseTupleType(TupleType object) {
+ return createTupleTypeAdapter();
+ }
+ @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_Annexes.VSL.DataTypes.BoundedSubtype <em>Bounded Subtype</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_Annexes.VSL.DataTypes.BoundedSubtype
+ * @generated
+ */
+ public Adapter createBoundedSubtypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.IntervalType <em>Interval Type</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_Annexes.VSL.DataTypes.IntervalType
+ * @generated
+ */
+ public Adapter createIntervalTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.CollectionType <em>Collection Type</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_Annexes.VSL.DataTypes.CollectionType
+ * @generated
+ */
+ public Adapter createCollectionTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.ChoiceType <em>Choice Type</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_Annexes.VSL.DataTypes.ChoiceType
+ * @generated
+ */
+ public Adapter createChoiceTypeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.TupleType <em>Tuple Type</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_Annexes.VSL.DataTypes.TupleType
+ * @generated
+ */
+ public Adapter createTupleTypeAdapter() {
+ 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;
+ }
+
+} //DataTypesAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesResourceFactoryImpl.java
new file mode 100644
index 00000000000..3cdaf0ff4ee
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesResourceFactoryImpl.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_Annexes.VSL.DataTypes.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_Annexes.VSL.DataTypes.util.DataTypesResourceImpl
+ * @generated
+ */
+public class DataTypesResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypesResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new DataTypesResourceImpl(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;
+ }
+
+} //DataTypesResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesResourceImpl.java
new file mode 100644
index 00000000000..4dbe40c220a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesResourceImpl.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_Annexes.VSL.DataTypes.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_Annexes.VSL.DataTypes.util.DataTypesResourceFactoryImpl
+ * @generated
+ */
+public class DataTypesResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public DataTypesResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //DataTypesResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesSwitch.java
new file mode 100644
index 00000000000..0d9eea85772
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesSwitch.java
@@ -0,0 +1,221 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.DataTypes.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.DataTypes.*;
+
+/**
+ * <!-- 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_Annexes.VSL.DataTypes.DataTypesPackage
+ * @generated
+ */
+public class DataTypesSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static DataTypesPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypesSwitch() {
+ if (modelPackage == null) {
+ modelPackage = DataTypesPackage.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 DataTypesPackage.BOUNDED_SUBTYPE: {
+ BoundedSubtype boundedSubtype = (BoundedSubtype)theEObject;
+ T result = caseBoundedSubtype(boundedSubtype);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DataTypesPackage.INTERVAL_TYPE: {
+ IntervalType intervalType = (IntervalType)theEObject;
+ T result = caseIntervalType(intervalType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DataTypesPackage.COLLECTION_TYPE: {
+ CollectionType collectionType = (CollectionType)theEObject;
+ T result = caseCollectionType(collectionType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DataTypesPackage.CHOICE_TYPE: {
+ ChoiceType choiceType = (ChoiceType)theEObject;
+ T result = caseChoiceType(choiceType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case DataTypesPackage.TUPLE_TYPE: {
+ TupleType tupleType = (TupleType)theEObject;
+ T result = caseTupleType(tupleType);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Bounded Subtype</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>Bounded Subtype</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBoundedSubtype(BoundedSubtype object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Interval Type</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>Interval Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseIntervalType(IntervalType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Collection Type</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>Collection Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCollectionType(CollectionType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Choice Type</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>Choice Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseChoiceType(ChoiceType object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Tuple Type</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>Tuple Type</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseTupleType(TupleType 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;
+ }
+
+} //DataTypesSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesXMLProcessor.java
new file mode 100644
index 00000000000..9f8d717254e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/DataTypes/util/DataTypesXMLProcessor.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_Annexes.VSL.DataTypes.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_Annexes.VSL.DataTypes.DataTypesPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class DataTypesXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DataTypesXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ DataTypesPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the DataTypesResourceFactoryImpl 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 DataTypesResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new DataTypesResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //DataTypesXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/Operator.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/Operator.java
new file mode 100644
index 00000000000..81233e002a6
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/Operator.java
@@ -0,0 +1,110 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Behavior;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getSymbol <em>Symbol</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getArity <em>Arity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getBase_Behavior <em>Base Behavior</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage#getOperator()
+ * @model
+ * @generated
+ */
+public interface Operator extends EObject {
+ /**
+ * Returns the value of the '<em><b>Symbol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Symbol</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Symbol</em>' attribute.
+ * @see #setSymbol(String)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage#getOperator_Symbol()
+ * @model dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.String" required="true" ordered="false"
+ * @generated
+ */
+ String getSymbol();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getSymbol <em>Symbol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Symbol</em>' attribute.
+ * @see #getSymbol()
+ * @generated
+ */
+ void setSymbol(String value);
+
+ /**
+ * Returns the value of the '<em><b>Arity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Arity</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Arity</em>' attribute.
+ * @see #setArity(int)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage#getOperator_Arity()
+ * @model dataType="org.eclipse.papyrus.MARTE_Library.MARTE_PrimitivesTypes.Integer" required="true" volatile="true" derived="true" ordered="false"
+ * @generated
+ */
+ int getArity();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getArity <em>Arity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Arity</em>' attribute.
+ * @see #getArity()
+ * @generated
+ */
+ void setArity(int value);
+
+ /**
+ * Returns the value of the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Behavior</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 Behavior</em>' reference.
+ * @see #setBase_Behavior(Behavior)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage#getOperator_Base_Behavior()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Behavior getBase_Behavior();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getBase_Behavior <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Behavior</em>' reference.
+ * @see #getBase_Behavior()
+ * @generated
+ */
+ void setBase_Behavior(Behavior value);
+
+} // Operator
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/OperatorsFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/OperatorsFactory.java
new file mode 100644
index 00000000000..13784f0cd3d
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/OperatorsFactory.java
@@ -0,0 +1,46 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators;
+
+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_Annexes.VSL.Operators.OperatorsPackage
+ * @generated
+ */
+public interface OperatorsFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ OperatorsFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Operator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Operator</em>'.
+ * @generated
+ */
+ Operator createOperator();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ OperatorsPackage getOperatorsPackage();
+
+} //OperatorsFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/OperatorsPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/OperatorsPackage.java
new file mode 100644
index 00000000000..49921befa0a
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/OperatorsPackage.java
@@ -0,0 +1,210 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- 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_Annexes.VSL.Operators.OperatorsFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface OperatorsPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "Operators";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/Operators/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Operators";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ OperatorsPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorImpl <em>Operator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl#getOperator()
+ * @generated
+ */
+ int OPERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Symbol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATOR__SYMBOL = 0;
+
+ /**
+ * The feature id for the '<em><b>Arity</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATOR__ARITY = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Behavior</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATOR__BASE_BEHAVIOR = 2;
+
+ /**
+ * The number of structural features of the '<em>Operator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATOR_FEATURE_COUNT = 3;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator
+ * @generated
+ */
+ EClass getOperator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getSymbol <em>Symbol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Symbol</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getSymbol()
+ * @see #getOperator()
+ * @generated
+ */
+ EAttribute getOperator_Symbol();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getArity <em>Arity</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Arity</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getArity()
+ * @see #getOperator()
+ * @generated
+ */
+ EAttribute getOperator_Arity();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getBase_Behavior <em>Base Behavior</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Behavior</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator#getBase_Behavior()
+ * @see #getOperator()
+ * @generated
+ */
+ EReference getOperator_Base_Behavior();
+
+ /**
+ * 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
+ */
+ OperatorsFactory getOperatorsFactory();
+
+ /**
+ * <!-- 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_Annexes.VSL.Operators.impl.OperatorImpl <em>Operator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorsPackageImpl#getOperator()
+ * @generated
+ */
+ EClass OPERATOR = eINSTANCE.getOperator();
+
+ /**
+ * The meta object literal for the '<em><b>Symbol</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPERATOR__SYMBOL = eINSTANCE.getOperator_Symbol();
+
+ /**
+ * The meta object literal for the '<em><b>Arity</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPERATOR__ARITY = eINSTANCE.getOperator_Arity();
+
+ /**
+ * The meta object literal for the '<em><b>Base Behavior</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OPERATOR__BASE_BEHAVIOR = eINSTANCE.getOperator_Base_Behavior();
+
+ }
+
+} //OperatorsPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorImpl.java
new file mode 100644
index 00000000000..0474be08506
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorImpl.java
@@ -0,0 +1,285 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.Operator;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+
+import org.eclipse.uml2.uml.Behavior;
+import org.eclipse.uml2.uml.Parameter;
+import org.eclipse.uml2.uml.ParameterDirectionKind;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorImpl#getSymbol <em>Symbol</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorImpl#getArity <em>Arity</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.impl.OperatorImpl#getBase_Behavior <em>Base Behavior</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OperatorImpl extends EObjectImpl implements Operator {
+ /**
+ * The default value of the '{@link #getSymbol() <em>Symbol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSymbol()
+ * @generated
+ * @ordered
+ */
+ protected static final String SYMBOL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getSymbol() <em>Symbol</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSymbol()
+ * @generated
+ * @ordered
+ */
+ protected String symbol = SYMBOL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getArity() <em>Arity</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArity()
+ * @generated
+ * @ordered
+ */
+ protected static final int ARITY_EDEFAULT = 0;
+
+ /**
+ * The cached value of the '{@link #getBase_Behavior() <em>Base Behavior</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Behavior()
+ * @generated
+ * @ordered
+ */
+ protected Behavior base_Behavior;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperatorImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return OperatorsPackage.Literals.OPERATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getSymbol() {
+ return symbol;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setSymbol(String newSymbol) {
+ String oldSymbol = symbol;
+ symbol = newSymbol;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OperatorsPackage.OPERATOR__SYMBOL, oldSymbol, symbol));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated NOT
+ */
+ public int getArity() {
+ // TODO: implement this method to return the 'Arity' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ // throw new UnsupportedOperationException();
+
+ Behavior behavior = getBase_Behavior();
+ EList<Parameter> parameters = behavior.getOwnedParameters();
+ int arity = 0;
+ for (Parameter parameter : parameters) {
+ if(parameter.getDirection()==ParameterDirectionKind.IN_LITERAL)
+ arity++;
+ }
+ return arity;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArity(int newArity) {
+ // TODO: implement this method to set the 'Arity' attribute
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior getBase_Behavior() {
+ if (base_Behavior != null && base_Behavior.eIsProxy()) {
+ InternalEObject oldBase_Behavior = (InternalEObject)base_Behavior;
+ base_Behavior = (Behavior)eResolveProxy(oldBase_Behavior);
+ if (base_Behavior != oldBase_Behavior) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, OperatorsPackage.OPERATOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+ }
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Behavior basicGetBase_Behavior() {
+ return base_Behavior;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Behavior(Behavior newBase_Behavior) {
+ Behavior oldBase_Behavior = base_Behavior;
+ base_Behavior = newBase_Behavior;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, OperatorsPackage.OPERATOR__BASE_BEHAVIOR, oldBase_Behavior, base_Behavior));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case OperatorsPackage.OPERATOR__SYMBOL:
+ return getSymbol();
+ case OperatorsPackage.OPERATOR__ARITY:
+ return getArity();
+ case OperatorsPackage.OPERATOR__BASE_BEHAVIOR:
+ if (resolve) return getBase_Behavior();
+ return basicGetBase_Behavior();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case OperatorsPackage.OPERATOR__SYMBOL:
+ setSymbol((String)newValue);
+ return;
+ case OperatorsPackage.OPERATOR__ARITY:
+ setArity((Integer)newValue);
+ return;
+ case OperatorsPackage.OPERATOR__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case OperatorsPackage.OPERATOR__SYMBOL:
+ setSymbol(SYMBOL_EDEFAULT);
+ return;
+ case OperatorsPackage.OPERATOR__ARITY:
+ setArity(ARITY_EDEFAULT);
+ return;
+ case OperatorsPackage.OPERATOR__BASE_BEHAVIOR:
+ setBase_Behavior((Behavior)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case OperatorsPackage.OPERATOR__SYMBOL:
+ return SYMBOL_EDEFAULT == null ? symbol != null : !SYMBOL_EDEFAULT.equals(symbol);
+ case OperatorsPackage.OPERATOR__ARITY:
+ return getArity() != ARITY_EDEFAULT;
+ case OperatorsPackage.OPERATOR__BASE_BEHAVIOR:
+ return base_Behavior != 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(" (symbol: ");
+ result.append(symbol);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OperatorImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorsFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorsFactoryImpl.java
new file mode 100644
index 00000000000..c50dda2a8f3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorsFactoryImpl.java
@@ -0,0 +1,99 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.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_Annexes.VSL.Operators.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OperatorsFactoryImpl extends EFactoryImpl implements OperatorsFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static OperatorsFactory init() {
+ try {
+ OperatorsFactory theOperatorsFactory = (OperatorsFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/Operators/1");
+ if (theOperatorsFactory != null) {
+ return theOperatorsFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new OperatorsFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorsFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case OperatorsPackage.OPERATOR: return createOperator();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operator createOperator() {
+ OperatorImpl operator = new OperatorImpl();
+ return operator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorsPackage getOperatorsPackage() {
+ return (OperatorsPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static OperatorsPackage getPackage() {
+ return OperatorsPackage.eINSTANCE;
+ }
+
+} //OperatorsFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorsPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorsPackageImpl.java
new file mode 100644
index 00000000000..61f23d96b6c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/impl/OperatorsPackageImpl.java
@@ -0,0 +1,457 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.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.Operator;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsFactory;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.OperatorsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.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 OperatorsPackageImpl extends EPackageImpl implements OperatorsPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operatorEClass = 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_Annexes.VSL.Operators.OperatorsPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private OperatorsPackageImpl() {
+ super(eNS_URI, OperatorsFactory.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 OperatorsPackage#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 OperatorsPackage init() {
+ if (isInited) return (OperatorsPackage)EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI);
+
+ // Obtain or create and register package
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new OperatorsPackageImpl());
+
+ 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);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theOperatorsPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theVariablesPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theOperatorsPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theVariablesPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theOperatorsPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(OperatorsPackage.eNS_URI, theOperatorsPackage);
+ return theOperatorsPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperator() {
+ return operatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperator_Symbol() {
+ return (EAttribute)operatorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperator_Arity() {
+ return (EAttribute)operatorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getOperator_Base_Behavior() {
+ return (EReference)operatorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorsFactory getOperatorsFactory() {
+ return (OperatorsFactory)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
+ operatorEClass = createEClass(OPERATOR);
+ createEAttribute(operatorEClass, OPERATOR__SYMBOL);
+ createEAttribute(operatorEClass, OPERATOR__ARITY);
+ createEReference(operatorEClass, OPERATOR__BASE_BEHAVIOR);
+ }
+
+ /**
+ * <!-- 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
+ 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
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(operatorEClass, Operator.class, "Operator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOperator_Symbol(), theMARTE_PrimitivesTypesPackage.getString(), "symbol", null, 1, 1, Operator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEAttribute(getOperator_Arity(), theMARTE_PrimitivesTypesPackage.getInteger(), "arity", null, 1, 1, Operator.class, !IS_TRANSIENT, IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, IS_DERIVED, !IS_ORDERED);
+ initEReference(getOperator_Base_Behavior(), theUMLPackage.getBehavior(), null, "base_Behavior", null, 1, 1, Operator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ }
+
+} //OperatorsPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsAdapterFactory.java
new file mode 100644
index 00000000000..c101fc5f2c3
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsAdapterFactory.java
@@ -0,0 +1,124 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.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_Annexes.VSL.Operators.*;
+
+/**
+ * <!-- 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_Annexes.VSL.Operators.OperatorsPackage
+ * @generated
+ */
+public class OperatorsAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static OperatorsPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorsAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = OperatorsPackage.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 OperatorsSwitch<Adapter> modelSwitch =
+ new OperatorsSwitch<Adapter>() {
+ @Override
+ public Adapter caseOperator(Operator object) {
+ return createOperatorAdapter();
+ }
+ @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_Annexes.VSL.Operators.Operator <em>Operator</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_Annexes.VSL.Operators.Operator
+ * @generated
+ */
+ public Adapter createOperatorAdapter() {
+ 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;
+ }
+
+} //OperatorsAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsResourceFactoryImpl.java
new file mode 100644
index 00000000000..e7b62ec1345
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsResourceFactoryImpl.java
@@ -0,0 +1,56 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.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_Annexes.VSL.Operators.util.OperatorsResourceImpl
+ * @generated
+ */
+public class OperatorsResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorsResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new OperatorsResourceImpl(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;
+ }
+
+} //OperatorsResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsResourceImpl.java
new file mode 100644
index 00000000000..b56f4c6835e
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsResourceImpl.java
@@ -0,0 +1,32 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.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_Annexes.VSL.Operators.util.OperatorsResourceFactoryImpl
+ * @generated
+ */
+public class OperatorsResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public OperatorsResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //OperatorsResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsSwitch.java
new file mode 100644
index 00000000000..f6c0278f011
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsSwitch.java
@@ -0,0 +1,130 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.*;
+
+/**
+ * <!-- 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_Annexes.VSL.Operators.OperatorsPackage
+ * @generated
+ */
+public class OperatorsSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static OperatorsPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorsSwitch() {
+ if (modelPackage == null) {
+ modelPackage = OperatorsPackage.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 OperatorsPackage.OPERATOR: {
+ Operator operator = (Operator)theEObject;
+ T result = caseOperator(operator);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Operator</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>Operator</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOperator(Operator 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;
+ }
+
+} //OperatorsSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsXMLProcessor.java
new file mode 100644
index 00000000000..8422fe2b771
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Operators/util/OperatorsXMLProcessor.java
@@ -0,0 +1,54 @@
+/**
+ * <copyright>
+ * </copyright>
+ *
+ * $Id$
+ */
+package org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Operators.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_Annexes.VSL.Operators.OperatorsPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class OperatorsXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OperatorsXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ OperatorsPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the OperatorsResourceFactoryImpl 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 OperatorsResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new OperatorsResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //OperatorsXMLProcessor
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/ExpressionContext.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/ExpressionContext.java
new file mode 100644
index 00000000000..b09baf35258
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/ExpressionContext.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_Annexes.VSL.Variables;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expression Context</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage#getExpressionContext()
+ * @model
+ * @generated
+ */
+public interface ExpressionContext extends EObject {
+ /**
+ * Returns the value of the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Named 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>Base Named Element</em>' reference.
+ * @see #setBase_NamedElement(NamedElement)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage#getExpressionContext_Base_NamedElement()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ NamedElement getBase_NamedElement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext#getBase_NamedElement <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Named Element</em>' reference.
+ * @see #getBase_NamedElement()
+ * @generated
+ */
+ void setBase_NamedElement(NamedElement value);
+
+} // ExpressionContext
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/Var.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/Var.java
new file mode 100644
index 00000000000..6c3e6a93fc2
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/Var.java
@@ -0,0 +1,94 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.Variables;
+
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Var</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var#getDir <em>Dir</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage#getVar()
+ * @model
+ * @generated
+ */
+public interface Var extends EObject {
+ /**
+ * Returns the value of the '<em><b>Dir</b></em>' attribute.
+ * The default value is <code>"inout"</code>.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Dir</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Dir</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind
+ * @see #setDir(VariableDirectionKind)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage#getVar_Dir()
+ * @model default="inout" unique="false" ordered="false"
+ * @generated
+ */
+ VariableDirectionKind getDir();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var#getDir <em>Dir</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Dir</em>' attribute.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind
+ * @see #getDir()
+ * @generated
+ */
+ void setDir(VariableDirectionKind value);
+
+ /**
+ * Returns the value of the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Property</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 Property</em>' reference.
+ * @see #setBase_Property(Property)
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage#getVar_Base_Property()
+ * @model required="true" ordered="false"
+ * @generated
+ */
+ Property getBase_Property();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var#getBase_Property <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Property</em>' reference.
+ * @see #getBase_Property()
+ * @generated
+ */
+ void setBase_Property(Property value);
+
+} // Var
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariableDirectionKind.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariableDirectionKind.java
new file mode 100644
index 00000000000..9af3365bce9
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariableDirectionKind.java
@@ -0,0 +1,246 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.Variables;
+
+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>Variable Direction Kind</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage#getVariableDirectionKind()
+ * @model
+ * @generated
+ */
+public enum VariableDirectionKind implements Enumerator {
+ /**
+ * The '<em><b>In</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #IN_VALUE
+ * @generated
+ * @ordered
+ */
+ IN(0, "in", "in"),
+
+ /**
+ * The '<em><b>Out</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #OUT_VALUE
+ * @generated
+ * @ordered
+ */
+ OUT(1, "out", "out"),
+
+ /**
+ * The '<em><b>Inout</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #INOUT_VALUE
+ * @generated
+ * @ordered
+ */
+ INOUT(2, "inout", "inout");
+
+ /**
+ * The '<em><b>In</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>In</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #IN
+ * @model name="in"
+ * @generated
+ * @ordered
+ */
+ public static final int IN_VALUE = 0;
+
+ /**
+ * The '<em><b>Out</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Out</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #OUT
+ * @model name="out"
+ * @generated
+ * @ordered
+ */
+ public static final int OUT_VALUE = 1;
+
+ /**
+ * The '<em><b>Inout</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Inout</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #INOUT
+ * @model name="inout"
+ * @generated
+ * @ordered
+ */
+ public static final int INOUT_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>Variable Direction Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final VariableDirectionKind[] VALUES_ARRAY =
+ new VariableDirectionKind[] {
+ IN,
+ OUT,
+ INOUT,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Variable Direction Kind</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<VariableDirectionKind> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Variable Direction Kind</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static VariableDirectionKind get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ VariableDirectionKind result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Variable Direction Kind</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static VariableDirectionKind getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ VariableDirectionKind result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Variable Direction Kind</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static VariableDirectionKind get(int value) {
+ switch (value) {
+ case IN_VALUE: return IN;
+ case OUT_VALUE: return OUT;
+ case INOUT_VALUE: return INOUT;
+ }
+ 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 VariableDirectionKind(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;
+ }
+
+} //VariableDirectionKind
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariablesFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariablesFactory.java
new file mode 100644
index 00000000000..05a9a64aabf
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariablesFactory.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_Annexes.VSL.Variables;
+
+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_Annexes.VSL.Variables.VariablesPackage
+ * @generated
+ */
+public interface VariablesFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ VariablesFactory eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Var</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Var</em>'.
+ * @generated
+ */
+ Var createVar();
+
+ /**
+ * Returns a new object of class '<em>Expression Context</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Expression Context</em>'.
+ * @generated
+ */
+ ExpressionContext createExpressionContext();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ VariablesPackage getVariablesPackage();
+
+} //VariablesFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariablesPackage.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariablesPackage.java
new file mode 100644
index 00000000000..8a12aef8ce7
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/VariablesPackage.java
@@ -0,0 +1,287 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.Variables;
+
+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;
+
+/**
+ * <!-- 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_Annexes.VSL.Variables.VariablesFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface VariablesPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "Variables";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/Variables/1";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "Variables";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ VariablesPackage eINSTANCE = org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VarImpl <em>Var</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VarImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl#getVar()
+ * @generated
+ */
+ int VAR = 0;
+
+ /**
+ * The feature id for the '<em><b>Dir</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR__DIR = 0;
+
+ /**
+ * The feature id for the '<em><b>Base Property</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR__BASE_PROPERTY = 1;
+
+ /**
+ * The number of structural features of the '<em>Var</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int VAR_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.ExpressionContextImpl <em>Expression Context</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.ExpressionContextImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl#getExpressionContext()
+ * @generated
+ */
+ int EXPRESSION_CONTEXT = 1;
+
+ /**
+ * The feature id for the '<em><b>Base Named Element</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT = 0;
+
+ /**
+ * The number of structural features of the '<em>Expression Context</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_CONTEXT_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind <em>Variable Direction Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl#getVariableDirectionKind()
+ * @generated
+ */
+ int VARIABLE_DIRECTION_KIND = 2;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var <em>Var</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Var</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var
+ * @generated
+ */
+ EClass getVar();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var#getDir <em>Dir</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Dir</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var#getDir()
+ * @see #getVar()
+ * @generated
+ */
+ EAttribute getVar_Dir();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var#getBase_Property <em>Base Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Property</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var#getBase_Property()
+ * @see #getVar()
+ * @generated
+ */
+ EReference getVar_Base_Property();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext <em>Expression Context</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expression Context</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext
+ * @generated
+ */
+ EClass getExpressionContext();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext#getBase_NamedElement <em>Base Named Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Named Element</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext#getBase_NamedElement()
+ * @see #getExpressionContext()
+ * @generated
+ */
+ EReference getExpressionContext_Base_NamedElement();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind <em>Variable Direction Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Variable Direction Kind</em>'.
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind
+ * @generated
+ */
+ EEnum getVariableDirectionKind();
+
+ /**
+ * 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
+ */
+ VariablesFactory getVariablesFactory();
+
+ /**
+ * <!-- 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_Annexes.VSL.Variables.impl.VarImpl <em>Var</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VarImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl#getVar()
+ * @generated
+ */
+ EClass VAR = eINSTANCE.getVar();
+
+ /**
+ * The meta object literal for the '<em><b>Dir</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute VAR__DIR = eINSTANCE.getVar_Dir();
+
+ /**
+ * The meta object literal for the '<em><b>Base Property</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference VAR__BASE_PROPERTY = eINSTANCE.getVar_Base_Property();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.ExpressionContextImpl <em>Expression Context</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.ExpressionContextImpl
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl#getExpressionContext()
+ * @generated
+ */
+ EClass EXPRESSION_CONTEXT = eINSTANCE.getExpressionContext();
+
+ /**
+ * The meta object literal for the '<em><b>Base Named Element</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT = eINSTANCE.getExpressionContext_Base_NamedElement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind <em>Variable Direction Kind</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind
+ * @see org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VariablesPackageImpl#getVariableDirectionKind()
+ * @generated
+ */
+ EEnum VARIABLE_DIRECTION_KIND = eINSTANCE.getVariableDirectionKind();
+
+ }
+
+} //VariablesPackage
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/ExpressionContextImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/ExpressionContextImpl.java
new file mode 100644
index 00000000000..069d0657e74
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/ExpressionContextImpl.java
@@ -0,0 +1,169 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.Variables.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.uml2.uml.NamedElement;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression Context</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.ExpressionContextImpl#getBase_NamedElement <em>Base Named Element</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExpressionContextImpl extends EObjectImpl implements ExpressionContext {
+ /**
+ * The cached value of the '{@link #getBase_NamedElement() <em>Base Named Element</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_NamedElement()
+ * @generated
+ * @ordered
+ */
+ protected NamedElement base_NamedElement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionContextImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariablesPackage.Literals.EXPRESSION_CONTEXT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement getBase_NamedElement() {
+ if (base_NamedElement != null && base_NamedElement.eIsProxy()) {
+ InternalEObject oldBase_NamedElement = (InternalEObject)base_NamedElement;
+ base_NamedElement = (NamedElement)eResolveProxy(oldBase_NamedElement);
+ if (base_NamedElement != oldBase_NamedElement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariablesPackage.EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+ }
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedElement basicGetBase_NamedElement() {
+ return base_NamedElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_NamedElement(NamedElement newBase_NamedElement) {
+ NamedElement oldBase_NamedElement = base_NamedElement;
+ base_NamedElement = newBase_NamedElement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariablesPackage.EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT, oldBase_NamedElement, base_NamedElement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariablesPackage.EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT:
+ if (resolve) return getBase_NamedElement();
+ return basicGetBase_NamedElement();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariablesPackage.EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariablesPackage.EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT:
+ setBase_NamedElement((NamedElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariablesPackage.EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT:
+ return base_NamedElement != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExpressionContextImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VarImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VarImpl.java
new file mode 100644
index 00000000000..d6b3650bb2c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VarImpl.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_Annexes.VSL.Variables.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.uml2.uml.Property;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Var</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VarImpl#getDir <em>Dir</em>}</li>
+ * <li>{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.impl.VarImpl#getBase_Property <em>Base Property</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class VarImpl extends EObjectImpl implements Var {
+ /**
+ * The default value of the '{@link #getDir() <em>Dir</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDir()
+ * @generated
+ * @ordered
+ */
+ protected static final VariableDirectionKind DIR_EDEFAULT = VariableDirectionKind.INOUT;
+
+ /**
+ * The cached value of the '{@link #getDir() <em>Dir</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDir()
+ * @generated
+ * @ordered
+ */
+ protected VariableDirectionKind dir = DIR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBase_Property() <em>Base Property</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBase_Property()
+ * @generated
+ * @ordered
+ */
+ protected Property base_Property;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected VarImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return VariablesPackage.Literals.VAR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariableDirectionKind getDir() {
+ return dir;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDir(VariableDirectionKind newDir) {
+ VariableDirectionKind oldDir = dir;
+ dir = newDir == null ? DIR_EDEFAULT : newDir;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariablesPackage.VAR__DIR, oldDir, dir));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property getBase_Property() {
+ if (base_Property != null && base_Property.eIsProxy()) {
+ InternalEObject oldBase_Property = (InternalEObject)base_Property;
+ base_Property = (Property)eResolveProxy(oldBase_Property);
+ if (base_Property != oldBase_Property) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, VariablesPackage.VAR__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+ }
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Property basicGetBase_Property() {
+ return base_Property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBase_Property(Property newBase_Property) {
+ Property oldBase_Property = base_Property;
+ base_Property = newBase_Property;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, VariablesPackage.VAR__BASE_PROPERTY, oldBase_Property, base_Property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case VariablesPackage.VAR__DIR:
+ return getDir();
+ case VariablesPackage.VAR__BASE_PROPERTY:
+ if (resolve) return getBase_Property();
+ return basicGetBase_Property();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case VariablesPackage.VAR__DIR:
+ setDir((VariableDirectionKind)newValue);
+ return;
+ case VariablesPackage.VAR__BASE_PROPERTY:
+ setBase_Property((Property)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case VariablesPackage.VAR__DIR:
+ setDir(DIR_EDEFAULT);
+ return;
+ case VariablesPackage.VAR__BASE_PROPERTY:
+ setBase_Property((Property)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case VariablesPackage.VAR__DIR:
+ return dir != DIR_EDEFAULT;
+ case VariablesPackage.VAR__BASE_PROPERTY:
+ return base_Property != 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(" (dir: ");
+ result.append(dir);
+ result.append(')');
+ return result.toString();
+ }
+
+} //VarImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VariablesFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VariablesFactoryImpl.java
new file mode 100644
index 00000000000..87a819c3565
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VariablesFactoryImpl.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_Annexes.VSL.Variables.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_Annexes.VSL.Variables.*;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VariablesFactoryImpl extends EFactoryImpl implements VariablesFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static VariablesFactory init() {
+ try {
+ VariablesFactory theVariablesFactory = (VariablesFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/Variables/1");
+ if (theVariablesFactory != null) {
+ return theVariablesFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new VariablesFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariablesFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case VariablesPackage.VAR: return createVar();
+ case VariablesPackage.EXPRESSION_CONTEXT: return createExpressionContext();
+ 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 VariablesPackage.VARIABLE_DIRECTION_KIND:
+ return createVariableDirectionKindFromString(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 VariablesPackage.VARIABLE_DIRECTION_KIND:
+ return convertVariableDirectionKindToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Var createVar() {
+ VarImpl var = new VarImpl();
+ return var;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ExpressionContext createExpressionContext() {
+ ExpressionContextImpl expressionContext = new ExpressionContextImpl();
+ return expressionContext;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariableDirectionKind createVariableDirectionKindFromString(EDataType eDataType, String initialValue) {
+ VariableDirectionKind result = VariableDirectionKind.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 convertVariableDirectionKindToString(EDataType eDataType, Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariablesPackage getVariablesPackage() {
+ return (VariablesPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static VariablesPackage getPackage() {
+ return VariablesPackage.eINSTANCE;
+ }
+
+} //VariablesFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VariablesPackageImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VariablesPackageImpl.java
new file mode 100644
index 00000000000..a6095031671
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/impl/VariablesPackageImpl.java
@@ -0,0 +1,509 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.Variables.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.ExpressionContext;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.Var;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariableDirectionKind;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesFactory;
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.VariablesPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.GCMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.GCM.impl.GCMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.HLAMPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HLAM.impl.HLAMPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.HwGeneralPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwGeneral.impl.HwGeneralPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.HwCommunicationPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwCommunication.impl.HwCommunicationPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.HwComputingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwComputing.impl.HwComputingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.HwDevicePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwDevice.impl.HwDevicePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.HwMemoryPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwMemory.impl.HwMemoryPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.HwStorageManagerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwStorage.HwStorageManager.impl.HwStorageManagerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.HwTimingPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwLogical.HwTiming.impl.HwTimingPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.HwLayoutPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwLayout.impl.HwLayoutPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.HwPowerPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.HRM.HwPhysical.HwPower.impl.HwPowerPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.SW_BrokeringPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Brokering.impl.SW_BrokeringPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.SW_ConcurrencyPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Concurrency.impl.SW_ConcurrencyPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.SW_InteractionPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_Interaction.impl.SW_InteractionPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.SW_ResourceCorePackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_DesignModel.SRM.SW_ResourceCore.impl.SW_ResourceCorePackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.AllocPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.Alloc.impl.AllocPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.CoreElementsPackage;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.CoreElements.impl.CoreElementsPackageImpl;
+
+import org.eclipse.papyrus.MARTE.MARTE_Foundations.GRM.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 VariablesPackageImpl extends EPackageImpl implements VariablesPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass varEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expressionContextEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum variableDirectionKindEEnum = 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_Annexes.VSL.Variables.VariablesPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private VariablesPackageImpl() {
+ super(eNS_URI, VariablesFactory.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 VariablesPackage#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 VariablesPackage init() {
+ if (isInited) return (VariablesPackage)EPackage.Registry.INSTANCE.getEPackage(VariablesPackage.eNS_URI);
+
+ // Obtain or create and register package
+ VariablesPackageImpl theVariablesPackage = (VariablesPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof VariablesPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new VariablesPackageImpl());
+
+ 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);
+ OperatorsPackageImpl theOperatorsPackage = (OperatorsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) instanceof OperatorsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(OperatorsPackage.eNS_URI) : OperatorsPackage.eINSTANCE);
+ DataTypesPackageImpl theDataTypesPackage = (DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) instanceof DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(DataTypesPackage.eNS_URI) : DataTypesPackage.eINSTANCE);
+ HLAMPackageImpl theHLAMPackage = (HLAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) instanceof HLAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HLAMPackage.eNS_URI) : HLAMPackage.eINSTANCE);
+ HwComputingPackageImpl theHwComputingPackage = (HwComputingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) instanceof HwComputingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwComputingPackage.eNS_URI) : HwComputingPackage.eINSTANCE);
+ HwCommunicationPackageImpl theHwCommunicationPackage = (HwCommunicationPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) instanceof HwCommunicationPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwCommunicationPackage.eNS_URI) : HwCommunicationPackage.eINSTANCE);
+ HwStorageManagerPackageImpl theHwStorageManagerPackage = (HwStorageManagerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) instanceof HwStorageManagerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwStorageManagerPackage.eNS_URI) : HwStorageManagerPackage.eINSTANCE);
+ HwMemoryPackageImpl theHwMemoryPackage = (HwMemoryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) instanceof HwMemoryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwMemoryPackage.eNS_URI) : HwMemoryPackage.eINSTANCE);
+ HwTimingPackageImpl theHwTimingPackage = (HwTimingPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) instanceof HwTimingPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwTimingPackage.eNS_URI) : HwTimingPackage.eINSTANCE);
+ HwDevicePackageImpl theHwDevicePackage = (HwDevicePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) instanceof HwDevicePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwDevicePackage.eNS_URI) : HwDevicePackage.eINSTANCE);
+ HwGeneralPackageImpl theHwGeneralPackage = (HwGeneralPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) instanceof HwGeneralPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwGeneralPackage.eNS_URI) : HwGeneralPackage.eINSTANCE);
+ HwLayoutPackageImpl theHwLayoutPackage = (HwLayoutPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) instanceof HwLayoutPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwLayoutPackage.eNS_URI) : HwLayoutPackage.eINSTANCE);
+ HwPowerPackageImpl theHwPowerPackage = (HwPowerPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) instanceof HwPowerPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(HwPowerPackage.eNS_URI) : HwPowerPackage.eINSTANCE);
+ SW_ResourceCorePackageImpl theSW_ResourceCorePackage = (SW_ResourceCorePackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) instanceof SW_ResourceCorePackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ResourceCorePackage.eNS_URI) : SW_ResourceCorePackage.eINSTANCE);
+ SW_ConcurrencyPackageImpl theSW_ConcurrencyPackage = (SW_ConcurrencyPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) instanceof SW_ConcurrencyPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_ConcurrencyPackage.eNS_URI) : SW_ConcurrencyPackage.eINSTANCE);
+ SW_BrokeringPackageImpl theSW_BrokeringPackage = (SW_BrokeringPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) instanceof SW_BrokeringPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_BrokeringPackage.eNS_URI) : SW_BrokeringPackage.eINSTANCE);
+ SW_InteractionPackageImpl theSW_InteractionPackage = (SW_InteractionPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) instanceof SW_InteractionPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SW_InteractionPackage.eNS_URI) : SW_InteractionPackage.eINSTANCE);
+ GCMPackageImpl theGCMPackage = (GCMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) instanceof GCMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GCMPackage.eNS_URI) : GCMPackage.eINSTANCE);
+ GQAMPackageImpl theGQAMPackage = (GQAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) instanceof GQAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GQAMPackage.eNS_URI) : GQAMPackage.eINSTANCE);
+ SAMPackageImpl theSAMPackage = (SAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) instanceof SAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(SAMPackage.eNS_URI) : SAMPackage.eINSTANCE);
+ PAMPackageImpl thePAMPackage = (PAMPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) instanceof PAMPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(PAMPackage.eNS_URI) : PAMPackage.eINSTANCE);
+ MeasurementUnitsPackageImpl theMeasurementUnitsPackage = (MeasurementUnitsPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) instanceof MeasurementUnitsPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MeasurementUnitsPackage.eNS_URI) : MeasurementUnitsPackage.eINSTANCE);
+ GRM_BasicTypesPackageImpl theGRM_BasicTypesPackage = (GRM_BasicTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) instanceof GRM_BasicTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(GRM_BasicTypesPackage.eNS_URI) : GRM_BasicTypesPackage.eINSTANCE);
+ MARTE_DataTypesPackageImpl theMARTE_DataTypesPackage = (MARTE_DataTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) instanceof MARTE_DataTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_DataTypesPackage.eNS_URI) : MARTE_DataTypesPackage.eINSTANCE);
+ BasicNFP_TypesPackageImpl theBasicNFP_TypesPackage = (BasicNFP_TypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) instanceof BasicNFP_TypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(BasicNFP_TypesPackage.eNS_URI) : BasicNFP_TypesPackage.eINSTANCE);
+ TimeTypesLibraryPackageImpl theTimeTypesLibraryPackage = (TimeTypesLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) instanceof TimeTypesLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeTypesLibraryPackage.eNS_URI) : TimeTypesLibraryPackage.eINSTANCE);
+ TimeLibraryPackageImpl theTimeLibraryPackage = (TimeLibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) instanceof TimeLibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(TimeLibraryPackage.eNS_URI) : TimeLibraryPackage.eINSTANCE);
+ RS_LibraryPackageImpl theRS_LibraryPackage = (RS_LibraryPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) instanceof RS_LibraryPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(RS_LibraryPackage.eNS_URI) : RS_LibraryPackage.eINSTANCE);
+ MARTE_PrimitivesTypesPackageImpl theMARTE_PrimitivesTypesPackage = (MARTE_PrimitivesTypesPackageImpl)(EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) instanceof MARTE_PrimitivesTypesPackageImpl ? EPackage.Registry.INSTANCE.getEPackage(MARTE_PrimitivesTypesPackage.eNS_URI) : MARTE_PrimitivesTypesPackage.eINSTANCE);
+
+ // Create package meta-data objects
+ theVariablesPackage.createPackageContents();
+ theMARTEPackage.createPackageContents();
+ theNFPsPackage.createPackageContents();
+ theCoreElementsPackage.createPackageContents();
+ theAllocPackage.createPackageContents();
+ theTimePackage.createPackageContents();
+ theGRMPackage.createPackageContents();
+ theRSMPackage.createPackageContents();
+ theOperatorsPackage.createPackageContents();
+ theDataTypesPackage.createPackageContents();
+ theHLAMPackage.createPackageContents();
+ theHwComputingPackage.createPackageContents();
+ theHwCommunicationPackage.createPackageContents();
+ theHwStorageManagerPackage.createPackageContents();
+ theHwMemoryPackage.createPackageContents();
+ theHwTimingPackage.createPackageContents();
+ theHwDevicePackage.createPackageContents();
+ theHwGeneralPackage.createPackageContents();
+ theHwLayoutPackage.createPackageContents();
+ theHwPowerPackage.createPackageContents();
+ theSW_ResourceCorePackage.createPackageContents();
+ theSW_ConcurrencyPackage.createPackageContents();
+ theSW_BrokeringPackage.createPackageContents();
+ theSW_InteractionPackage.createPackageContents();
+ theGCMPackage.createPackageContents();
+ theGQAMPackage.createPackageContents();
+ theSAMPackage.createPackageContents();
+ thePAMPackage.createPackageContents();
+ theMeasurementUnitsPackage.createPackageContents();
+ theGRM_BasicTypesPackage.createPackageContents();
+ theMARTE_DataTypesPackage.createPackageContents();
+ theBasicNFP_TypesPackage.createPackageContents();
+ theTimeTypesLibraryPackage.createPackageContents();
+ theTimeLibraryPackage.createPackageContents();
+ theRS_LibraryPackage.createPackageContents();
+ theMARTE_PrimitivesTypesPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theVariablesPackage.initializePackageContents();
+ theMARTEPackage.initializePackageContents();
+ theNFPsPackage.initializePackageContents();
+ theCoreElementsPackage.initializePackageContents();
+ theAllocPackage.initializePackageContents();
+ theTimePackage.initializePackageContents();
+ theGRMPackage.initializePackageContents();
+ theRSMPackage.initializePackageContents();
+ theOperatorsPackage.initializePackageContents();
+ theDataTypesPackage.initializePackageContents();
+ theHLAMPackage.initializePackageContents();
+ theHwComputingPackage.initializePackageContents();
+ theHwCommunicationPackage.initializePackageContents();
+ theHwStorageManagerPackage.initializePackageContents();
+ theHwMemoryPackage.initializePackageContents();
+ theHwTimingPackage.initializePackageContents();
+ theHwDevicePackage.initializePackageContents();
+ theHwGeneralPackage.initializePackageContents();
+ theHwLayoutPackage.initializePackageContents();
+ theHwPowerPackage.initializePackageContents();
+ theSW_ResourceCorePackage.initializePackageContents();
+ theSW_ConcurrencyPackage.initializePackageContents();
+ theSW_BrokeringPackage.initializePackageContents();
+ theSW_InteractionPackage.initializePackageContents();
+ theGCMPackage.initializePackageContents();
+ theGQAMPackage.initializePackageContents();
+ theSAMPackage.initializePackageContents();
+ thePAMPackage.initializePackageContents();
+ theMeasurementUnitsPackage.initializePackageContents();
+ theGRM_BasicTypesPackage.initializePackageContents();
+ theMARTE_DataTypesPackage.initializePackageContents();
+ theBasicNFP_TypesPackage.initializePackageContents();
+ theTimeTypesLibraryPackage.initializePackageContents();
+ theTimeLibraryPackage.initializePackageContents();
+ theRS_LibraryPackage.initializePackageContents();
+ theMARTE_PrimitivesTypesPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theVariablesPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(VariablesPackage.eNS_URI, theVariablesPackage);
+ return theVariablesPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getVar() {
+ return varEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getVar_Dir() {
+ return (EAttribute)varEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getVar_Base_Property() {
+ return (EReference)varEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpressionContext() {
+ return expressionContextEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpressionContext_Base_NamedElement() {
+ return (EReference)expressionContextEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getVariableDirectionKind() {
+ return variableDirectionKindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariablesFactory getVariablesFactory() {
+ return (VariablesFactory)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
+ varEClass = createEClass(VAR);
+ createEAttribute(varEClass, VAR__DIR);
+ createEReference(varEClass, VAR__BASE_PROPERTY);
+
+ expressionContextEClass = createEClass(EXPRESSION_CONTEXT);
+ createEReference(expressionContextEClass, EXPRESSION_CONTEXT__BASE_NAMED_ELEMENT);
+
+ // Create enums
+ variableDirectionKindEEnum = createEEnum(VARIABLE_DIRECTION_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
+ UMLPackage theUMLPackage = (UMLPackage)EPackage.Registry.INSTANCE.getEPackage(UMLPackage.eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(varEClass, Var.class, "Var", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getVar_Dir(), this.getVariableDirectionKind(), "dir", "inout", 0, 1, Var.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+ initEReference(getVar_Base_Property(), theUMLPackage.getProperty(), null, "base_Property", null, 1, 1, Var.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, !IS_UNIQUE, !IS_DERIVED, !IS_ORDERED);
+
+ initEClass(expressionContextEClass, ExpressionContext.class, "ExpressionContext", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExpressionContext_Base_NamedElement(), theUMLPackage.getNamedElement(), null, "base_NamedElement", null, 1, 1, ExpressionContext.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(variableDirectionKindEEnum, VariableDirectionKind.class, "VariableDirectionKind");
+ addEEnumLiteral(variableDirectionKindEEnum, VariableDirectionKind.IN);
+ addEEnumLiteral(variableDirectionKindEEnum, VariableDirectionKind.OUT);
+ addEEnumLiteral(variableDirectionKindEEnum, VariableDirectionKind.INOUT);
+ }
+
+} //VariablesPackageImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesAdapterFactory.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesAdapterFactory.java
new file mode 100644
index 00000000000..e33609ad634
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesAdapterFactory.java
@@ -0,0 +1,149 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.Variables.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_Annexes.VSL.Variables.*;
+
+/**
+ * <!-- 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_Annexes.VSL.Variables.VariablesPackage
+ * @generated
+ */
+public class VariablesAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static VariablesPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariablesAdapterFactory() {
+ if (modelPackage == null) {
+ modelPackage = VariablesPackage.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 VariablesSwitch<Adapter> modelSwitch =
+ new VariablesSwitch<Adapter>() {
+ @Override
+ public Adapter caseVar(Var object) {
+ return createVarAdapter();
+ }
+ @Override
+ public Adapter caseExpressionContext(ExpressionContext object) {
+ return createExpressionContextAdapter();
+ }
+ @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_Annexes.VSL.Variables.Var <em>Var</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_Annexes.VSL.Variables.Var
+ * @generated
+ */
+ public Adapter createVarAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.ExpressionContext <em>Expression Context</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_Annexes.VSL.Variables.ExpressionContext
+ * @generated
+ */
+ public Adapter createExpressionContextAdapter() {
+ 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;
+ }
+
+} //VariablesAdapterFactory
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesResourceFactoryImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesResourceFactoryImpl.java
new file mode 100644
index 00000000000..9da29d5b76c
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesResourceFactoryImpl.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_Annexes.VSL.Variables.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_Annexes.VSL.Variables.util.VariablesResourceImpl
+ * @generated
+ */
+public class VariablesResourceFactoryImpl extends ResourceFactoryImpl {
+ /**
+ * Creates an instance of the resource factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariablesResourceFactoryImpl() {
+ super();
+ }
+
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Resource createResource(URI uri) {
+ XMLResource result = new VariablesResourceImpl(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;
+ }
+
+} //VariablesResourceFactoryImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesResourceImpl.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesResourceImpl.java
new file mode 100644
index 00000000000..b906d42cf34
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesResourceImpl.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_Annexes.VSL.Variables.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_Annexes.VSL.Variables.util.VariablesResourceFactoryImpl
+ * @generated
+ */
+public class VariablesResourceImpl extends XMLResourceImpl {
+ /**
+ * Creates an instance of the resource.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param uri the URI of the new resource.
+ * @generated
+ */
+ public VariablesResourceImpl(URI uri) {
+ super(uri);
+ }
+
+} //VariablesResourceImpl
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesSwitch.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesSwitch.java
new file mode 100644
index 00000000000..071fbb41fde
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesSwitch.java
@@ -0,0 +1,158 @@
+/*****************************************************************************
+ * 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_Annexes.VSL.Variables.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.papyrus.MARTE.MARTE_Annexes.VSL.Variables.*;
+
+/**
+ * <!-- 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_Annexes.VSL.Variables.VariablesPackage
+ * @generated
+ */
+public class VariablesSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static VariablesPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariablesSwitch() {
+ if (modelPackage == null) {
+ modelPackage = VariablesPackage.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 VariablesPackage.VAR: {
+ Var var = (Var)theEObject;
+ T result = caseVar(var);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case VariablesPackage.EXPRESSION_CONTEXT: {
+ ExpressionContext expressionContext = (ExpressionContext)theEObject;
+ T result = caseExpressionContext(expressionContext);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Var</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>Var</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseVar(Var object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Expression Context</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>Expression Context</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseExpressionContext(ExpressionContext 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;
+ }
+
+} //VariablesSwitch
diff --git a/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesXMLProcessor.java b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesXMLProcessor.java
new file mode 100644
index 00000000000..f419243edc1
--- /dev/null
+++ b/extraplugins/marte/org.eclipse.papyrus.marte.static.profile/src/org/eclipse/papyrus/MARTE/MARTE_Annexes/VSL/Variables/util/VariablesXMLProcessor.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_Annexes.VSL.Variables.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_Annexes.VSL.Variables.VariablesPackage;
+
+/**
+ * This class contains helper methods to serialize and deserialize XML documents
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class VariablesXMLProcessor extends XMLProcessor {
+
+ /**
+ * Public constructor to instantiate the helper.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public VariablesXMLProcessor() {
+ super((EPackage.Registry.INSTANCE));
+ VariablesPackage.eINSTANCE.eClass();
+ }
+
+ /**
+ * Register for "*" and "xml" file extensions the VariablesResourceFactoryImpl 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 VariablesResourceFactoryImpl());
+ registrations.put(STAR_EXTENSION, new VariablesResourceFactoryImpl());
+ }
+ return registrations;
+ }
+
+} //VariablesXMLProcessor

Back to the top