Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm')
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/AbstractMeasureElement.java48
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Accumulator.java297
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/AggregatedMeasurement.java75
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Annotation.java57
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Argument.java84
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Attribute.java84
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base1MeasureRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base1MeasurementRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base2MeasureRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base2MeasurementRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BaseMeasureRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BaseMeasurementRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BinaryMeasure.java115
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BinaryMeasurement.java115
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CategoryRelationship.java84
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Characteristic.java57
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CollectiveMeasure.java80
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CollectiveMeasurement.java107
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Count.java25
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Counting.java25
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DimensionalMeasure.java163
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DimensionalMeasurement.java153
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DirectMeasure.java57
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DirectMeasurement.java25
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/EquivalentMeasureRelationship.java115
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/EquivalentMeasurementRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Grade.java140
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Measure.java380
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureCategory.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureLibrary.java81
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureRelationship.java73
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Measurement.java271
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasurementRelationship.java41
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/NamedMeasure.java25
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/NamedMeasurement.java25
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/OCLOperation.java84
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Observation.java201
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/ObservationScope.java57
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/ObservedMeasure.java85
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Operation.java93
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Ranking.java79
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingInterval.java194
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingMeasureRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingMeasurementRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RatioMeasure.java25
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RatioMeasurement.java25
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RecursiveMeasureRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RecursiveMeasurementRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RefinementMeasureRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RefinementMeasurementRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaleMeasureRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaleMeasurementRelationship.java88
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaledMeasure.java77
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaledMeasurement.java77
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Scope.java131
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmElement.java183
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmFactory.java482
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmModel.java65
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmPackage.java12494
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmRelationship.java41
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AbstractMeasureElementImpl.java140
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AggregatedMeasurementImpl.java212
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AnnotationImpl.java170
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ArgumentImpl.java224
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AttributeImpl.java224
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base1MeasureRelationshipImpl.java306
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base1MeasurementRelationshipImpl.java292
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base2MeasureRelationshipImpl.java306
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base2MeasurementRelationshipImpl.java292
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BaseMeasureRelationshipImpl.java306
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BaseMeasurementRelationshipImpl.java306
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BinaryMeasureImpl.java374
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BinaryMeasurementImpl.java338
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CategoryRelationshipImpl.java225
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CharacteristicImpl.java163
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CollectiveMeasureImpl.java245
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CollectiveMeasurementImpl.java299
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CountImpl.java47
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CountingImpl.java47
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DimensionalMeasureImpl.java450
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DimensionalMeasurementImpl.java400
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DirectMeasureImpl.java164
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DirectMeasurementImpl.java47
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/EquivalentMeasureRelationshipImpl.java366
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/EquivalentMeasurementRelationshipImpl.java305
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/GradeImpl.java400
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureCategoryImpl.java249
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureImpl.java928
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureLibraryImpl.java217
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureRelationshipImpl.java187
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasurementImpl.java661
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasurementRelationshipImpl.java70
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/NamedMeasureImpl.java47
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/NamedMeasurementImpl.java47
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/OCLOperationImpl.java224
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservationImpl.java502
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservationScopeImpl.java170
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservedMeasureImpl.java257
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/OperationImpl.java237
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingImpl.java265
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingIntervalImpl.java487
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingMeasureRelationshipImpl.java306
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingMeasurementRelationshipImpl.java306
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RatioMeasureImpl.java47
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RatioMeasurementImpl.java47
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RecursiveMeasureRelationshipImpl.java305
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RecursiveMeasurementRelationshipImpl.java305
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RefinementMeasureRelationshipImpl.java305
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RefinementMeasurementRelationshipImpl.java305
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaleMeasureRelationshipImpl.java306
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaleMeasurementRelationshipImpl.java306
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaledMeasureImpl.java244
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaledMeasurementImpl.java244
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ScopeImpl.java334
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmElementImpl.java451
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmFactoryImpl.java780
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmModelImpl.java195
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmPackageImpl.java3064
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/util/SmmAdapterFactory.java1191
-rw-r--r--org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/util/SmmSwitch.java1455
120 files changed, 40295 insertions, 0 deletions
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/AbstractMeasureElement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/AbstractMeasureElement.java
new file mode 100644
index 000000000..a4ba7ef76
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/AbstractMeasureElement.java
@@ -0,0 +1,48 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Abstract Measure Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.AbstractMeasureElement#getInCategory <em>In Category</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAbstractMeasureElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface AbstractMeasureElement extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>In Category</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.CategoryRelationship}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>In Category</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>In Category</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAbstractMeasureElement_InCategory()
+ * @model
+ * @generated
+ */
+ EList<CategoryRelationship> getInCategory();
+
+} // AbstractMeasureElement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Accumulator.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Accumulator.java
new file mode 100644
index 000000000..96b8d7118
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Accumulator.java
@@ -0,0 +1,297 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+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>Accumulator</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAccumulator()
+ * @model
+ * @generated
+ */
+public enum Accumulator implements Enumerator {
+ /**
+ * The '<em><b>Sum</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SUM_VALUE
+ * @generated
+ * @ordered
+ */
+ SUM(0, "sum", "sum"),
+
+ /**
+ * The '<em><b>Maximum</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MAXIMUM_VALUE
+ * @generated
+ * @ordered
+ */
+ MAXIMUM(1, "maximum", "maximum"),
+
+ /**
+ * The '<em><b>Minimum</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #MINIMUM_VALUE
+ * @generated
+ * @ordered
+ */
+ MINIMUM(2, "minimum", "minimum"),
+
+ /**
+ * The '<em><b>Average</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #AVERAGE_VALUE
+ * @generated
+ * @ordered
+ */
+ AVERAGE(3, "average", "average"),
+
+ /**
+ * The '<em><b>Standard Deviation</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #STANDARD_DEVIATION_VALUE
+ * @generated
+ * @ordered
+ */
+ STANDARD_DEVIATION(4, "standardDeviation", "standardDeviation");
+
+ /**
+ * The '<em><b>Sum</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Sum</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SUM
+ * @model name="sum"
+ * @generated
+ * @ordered
+ */
+ public static final int SUM_VALUE = 0;
+
+ /**
+ * The '<em><b>Maximum</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Maximum</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MAXIMUM
+ * @model name="maximum"
+ * @generated
+ * @ordered
+ */
+ public static final int MAXIMUM_VALUE = 1;
+
+ /**
+ * The '<em><b>Minimum</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Minimum</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #MINIMUM
+ * @model name="minimum"
+ * @generated
+ * @ordered
+ */
+ public static final int MINIMUM_VALUE = 2;
+
+ /**
+ * The '<em><b>Average</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Average</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #AVERAGE
+ * @model name="average"
+ * @generated
+ * @ordered
+ */
+ public static final int AVERAGE_VALUE = 3;
+
+ /**
+ * The '<em><b>Standard Deviation</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>Standard Deviation</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #STANDARD_DEVIATION
+ * @model name="standardDeviation"
+ * @generated
+ * @ordered
+ */
+ public static final int STANDARD_DEVIATION_VALUE = 4;
+
+ /**
+ * An array of all the '<em><b>Accumulator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final Accumulator[] VALUES_ARRAY =
+ new Accumulator[] {
+ SUM,
+ MAXIMUM,
+ MINIMUM,
+ AVERAGE,
+ STANDARD_DEVIATION,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>Accumulator</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<Accumulator> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>Accumulator</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Accumulator get(String literal) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Accumulator result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Accumulator</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Accumulator getByName(String name) {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i) {
+ Accumulator result = VALUES_ARRAY[i];
+ if (result.getName().equals(name)) {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>Accumulator</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static Accumulator get(int value) {
+ switch (value) {
+ case SUM_VALUE: return SUM;
+ case MAXIMUM_VALUE: return MAXIMUM;
+ case MINIMUM_VALUE: return MINIMUM;
+ case AVERAGE_VALUE: return AVERAGE;
+ case STANDARD_DEVIATION_VALUE: return STANDARD_DEVIATION;
+ }
+ 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 Accumulator(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;
+ }
+
+} //Accumulator
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/AggregatedMeasurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/AggregatedMeasurement.java
new file mode 100644
index 000000000..61e8ed732
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/AggregatedMeasurement.java
@@ -0,0 +1,75 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Aggregated Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.AggregatedMeasurement#isIsBaseSuppled <em>Is Base Suppled</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.AggregatedMeasurement#getBaseMeasurement <em>Base Measurement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAggregatedMeasurement()
+ * @model
+ * @generated
+ */
+public interface AggregatedMeasurement extends DimensionalMeasurement {
+ /**
+ * Returns the value of the '<em><b>Is Base Suppled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Base Suppled</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 Base Suppled</em>' attribute.
+ * @see #setIsBaseSuppled(boolean)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAggregatedMeasurement_IsBaseSuppled()
+ * @model required="true"
+ * @generated
+ */
+ boolean isIsBaseSuppled();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.AggregatedMeasurement#isIsBaseSuppled <em>Is Base Suppled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Base Suppled</em>' attribute.
+ * @see #isIsBaseSuppled()
+ * @generated
+ */
+ void setIsBaseSuppled(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Measurement</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.DimensionalMeasurement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measurement</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>Base Measurement</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAggregatedMeasurement_BaseMeasurement()
+ * @model
+ * @generated
+ */
+ EList<DimensionalMeasurement> getBaseMeasurement();
+
+} // AggregatedMeasurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Annotation.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Annotation.java
new file mode 100644
index 000000000..d93ef4acb
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Annotation.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Annotation#getText <em>Text</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAnnotation()
+ * @model
+ * @generated
+ */
+public interface Annotation extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Text</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Text</em>' attribute.
+ * @see #setText(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAnnotation_Text()
+ * @model required="true"
+ * @generated
+ */
+ String getText();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Annotation#getText <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Text</em>' attribute.
+ * @see #getText()
+ * @generated
+ */
+ void setText(String value);
+
+} // Annotation
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Argument.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Argument.java
new file mode 100644
index 000000000..dbbeb6887
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Argument.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Argument</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Argument#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Argument#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getArgument()
+ * @model
+ * @generated
+ */
+public interface Argument extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Type</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Type</em>' attribute.
+ * @see #setType(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getArgument_Type()
+ * @model
+ * @generated
+ */
+ String getType();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Argument#getType <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Type</em>' attribute.
+ * @see #getType()
+ * @generated
+ */
+ void setType(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getArgument_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Argument#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Argument
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Attribute.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Attribute.java
new file mode 100644
index 000000000..e50d3084b
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Attribute.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Attribute#getTag <em>Tag</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Attribute#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAttribute()
+ * @model
+ * @generated
+ */
+public interface Attribute extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Tag</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tag</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tag</em>' attribute.
+ * @see #setTag(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAttribute_Tag()
+ * @model required="true"
+ * @generated
+ */
+ String getTag();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Attribute#getTag <em>Tag</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tag</em>' attribute.
+ * @see #getTag()
+ * @generated
+ */
+ void setTag(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getAttribute_Value()
+ * @model required="true"
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Attribute#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Attribute
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base1MeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base1MeasureRelationship.java
new file mode 100644
index 000000000..e77d74bd6
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base1MeasureRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base1 Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase1MeasureRelationship()
+ * @model
+ * @generated
+ */
+public interface Base1MeasureRelationship extends MeasureRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure1To <em>Base Measure1 To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(BinaryMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase1MeasureRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure1To
+ * @model opposite="baseMeasure1To" required="true"
+ * @generated
+ */
+ BinaryMeasure getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(BinaryMeasure value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure1From <em>Base Measure1 From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(DimensionalMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase1MeasureRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure1From
+ * @model opposite="baseMeasure1From" required="true"
+ * @generated
+ */
+ DimensionalMeasure getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(DimensionalMeasure value);
+
+} // Base1MeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base1MeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base1MeasurementRelationship.java
new file mode 100644
index 000000000..bbb65d2e0
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base1MeasurementRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base1 Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase1MeasurementRelationship()
+ * @model
+ * @generated
+ */
+public interface Base1MeasurementRelationship extends MeasurementRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement1To <em>Base Measurement1 To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' container reference.
+ * @see #setFrom(BinaryMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase1MeasurementRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement1To
+ * @model opposite="baseMeasurement1To" required="true" transient="false"
+ * @generated
+ */
+ BinaryMeasurement getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getFrom <em>From</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' container reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(BinaryMeasurement value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement1From <em>Base Measurement1 From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(DimensionalMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase1MeasurementRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement1From
+ * @model opposite="baseMeasurement1From" required="true"
+ * @generated
+ */
+ DimensionalMeasurement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(DimensionalMeasurement value);
+
+} // Base1MeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base2MeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base2MeasureRelationship.java
new file mode 100644
index 000000000..4e2014106
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base2MeasureRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base2 Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase2MeasureRelationship()
+ * @model
+ * @generated
+ */
+public interface Base2MeasureRelationship extends MeasureRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure2To <em>Base Measure2 To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(BinaryMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase2MeasureRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure2To
+ * @model opposite="baseMeasure2To" required="true"
+ * @generated
+ */
+ BinaryMeasure getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(BinaryMeasure value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure2From <em>Base Measure2 From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(DimensionalMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase2MeasureRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure2From
+ * @model opposite="baseMeasure2From" required="true"
+ * @generated
+ */
+ DimensionalMeasure getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(DimensionalMeasure value);
+
+} // Base2MeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base2MeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base2MeasurementRelationship.java
new file mode 100644
index 000000000..716bc1d75
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Base2MeasurementRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base2 Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase2MeasurementRelationship()
+ * @model
+ * @generated
+ */
+public interface Base2MeasurementRelationship extends MeasurementRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement2To <em>Base Measurement2 To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' container reference.
+ * @see #setFrom(BinaryMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase2MeasurementRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement2To
+ * @model opposite="baseMeasurement2To" required="true" transient="false"
+ * @generated
+ */
+ BinaryMeasurement getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getFrom <em>From</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' container reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(BinaryMeasurement value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement2From <em>Base Measurement2 From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(DimensionalMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBase2MeasurementRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement2From
+ * @model opposite="baseMeasurement2From" required="true"
+ * @generated
+ */
+ DimensionalMeasurement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(DimensionalMeasurement value);
+
+} // Base2MeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BaseMeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BaseMeasureRelationship.java
new file mode 100644
index 000000000..7befec21e
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BaseMeasureRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBaseMeasureRelationship()
+ * @model
+ * @generated
+ */
+public interface BaseMeasureRelationship extends MeasureRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.CollectiveMeasure#getBaseMeasureTo <em>Base Measure To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(CollectiveMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBaseMeasureRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasure#getBaseMeasureTo
+ * @model opposite="baseMeasureTo" required="true"
+ * @generated
+ */
+ CollectiveMeasure getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(CollectiveMeasure value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasureFrom <em>Base Measure From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(DimensionalMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBaseMeasureRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasureFrom
+ * @model opposite="baseMeasureFrom" required="true"
+ * @generated
+ */
+ DimensionalMeasure getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(DimensionalMeasure value);
+
+} // BaseMeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BaseMeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BaseMeasurementRelationship.java
new file mode 100644
index 000000000..ec0b853c9
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BaseMeasurementRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Base Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBaseMeasurementRelationship()
+ * @model
+ * @generated
+ */
+public interface BaseMeasurementRelationship extends MeasurementRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#getBaseMeasurementTo <em>Base Measurement To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(CollectiveMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBaseMeasurementRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasurement#getBaseMeasurementTo
+ * @model opposite="baseMeasurementTo" required="true"
+ * @generated
+ */
+ CollectiveMeasurement getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(CollectiveMeasurement value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurementFrom <em>Base Measurement From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(DimensionalMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBaseMeasurementRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurementFrom
+ * @model opposite="baseMeasurementFrom" required="true"
+ * @generated
+ */
+ DimensionalMeasurement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(DimensionalMeasurement value);
+
+} // BaseMeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BinaryMeasure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BinaryMeasure.java
new file mode 100644
index 000000000..10b5f8d94
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BinaryMeasure.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Binary Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getFunctor <em>Functor</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure1To <em>Base Measure1 To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure2To <em>Base Measure2 To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBinaryMeasure()
+ * @model
+ * @generated
+ */
+public interface BinaryMeasure extends DimensionalMeasure {
+ /**
+ * Returns the value of the '<em><b>Functor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Functor</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Functor</em>' attribute.
+ * @see #setFunctor(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBinaryMeasure_Functor()
+ * @model required="true"
+ * @generated
+ */
+ String getFunctor();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getFunctor <em>Functor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Functor</em>' attribute.
+ * @see #getFunctor()
+ * @generated
+ */
+ void setFunctor(String value);
+
+ /**
+ * Returns the value of the '<em><b>Base Measure1 To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measure1 To</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 Measure1 To</em>' reference.
+ * @see #setBaseMeasure1To(Base1MeasureRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBinaryMeasure_BaseMeasure1To()
+ * @see org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getFrom
+ * @model opposite="from" required="true"
+ * @generated
+ */
+ Base1MeasureRelationship getBaseMeasure1To();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure1To <em>Base Measure1 To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Measure1 To</em>' reference.
+ * @see #getBaseMeasure1To()
+ * @generated
+ */
+ void setBaseMeasure1To(Base1MeasureRelationship value);
+
+ /**
+ * Returns the value of the '<em><b>Base Measure2 To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measure2 To</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 Measure2 To</em>' reference.
+ * @see #setBaseMeasure2To(Base2MeasureRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBinaryMeasure_BaseMeasure2To()
+ * @see org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getFrom
+ * @model opposite="from" required="true"
+ * @generated
+ */
+ Base2MeasureRelationship getBaseMeasure2To();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure2To <em>Base Measure2 To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Measure2 To</em>' reference.
+ * @see #getBaseMeasure2To()
+ * @generated
+ */
+ void setBaseMeasure2To(Base2MeasureRelationship value);
+
+} // BinaryMeasure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BinaryMeasurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BinaryMeasurement.java
new file mode 100644
index 000000000..21a38f7a9
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/BinaryMeasurement.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Binary Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement1To <em>Base Measurement1 To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement2To <em>Base Measurement2 To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBinaryMeasurement()
+ * @model
+ * @generated
+ */
+public interface BinaryMeasurement extends DimensionalMeasurement {
+ /**
+ * Returns the value of the '<em><b>Base Measurement1 To</b></em>' containment reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measurement1 To</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Measurement1 To</em>' containment reference.
+ * @see #setBaseMeasurement1To(Base1MeasurementRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBinaryMeasurement_BaseMeasurement1To()
+ * @see org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getFrom
+ * @model opposite="from" containment="true"
+ * @generated
+ */
+ Base1MeasurementRelationship getBaseMeasurement1To();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement1To <em>Base Measurement1 To</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Measurement1 To</em>' containment reference.
+ * @see #getBaseMeasurement1To()
+ * @generated
+ */
+ void setBaseMeasurement1To(Base1MeasurementRelationship value);
+
+ /**
+ * Returns the value of the '<em><b>Base Measurement2 To</b></em>' containment reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measurement2 To</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Base Measurement2 To</em>' containment reference.
+ * @see #setBaseMeasurement2To(Base2MeasurementRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBinaryMeasurement_BaseMeasurement2To()
+ * @see org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getFrom
+ * @model opposite="from" containment="true"
+ * @generated
+ */
+ Base2MeasurementRelationship getBaseMeasurement2To();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement2To <em>Base Measurement2 To</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Measurement2 To</em>' containment reference.
+ * @see #getBaseMeasurement2To()
+ * @generated
+ */
+ void setBaseMeasurement2To(Base2MeasurementRelationship value);
+
+ /**
+ * Returns the value of the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Base Supplied</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 Base Supplied</em>' attribute.
+ * @see #setIsBaseSupplied(boolean)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getBinaryMeasurement_IsBaseSupplied()
+ * @model required="true"
+ * @generated
+ */
+ boolean isIsBaseSupplied();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Base Supplied</em>' attribute.
+ * @see #isIsBaseSupplied()
+ * @generated
+ */
+ void setIsBaseSupplied(boolean value);
+
+} // BinaryMeasurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CategoryRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CategoryRelationship.java
new file mode 100644
index 000000000..4b5a72875
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CategoryRelationship.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Category Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.CategoryRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.CategoryRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCategoryRelationship()
+ * @model
+ * @generated
+ */
+public interface CategoryRelationship extends SmmRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(MeasureCategory)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCategoryRelationship_From()
+ * @model required="true"
+ * @generated
+ */
+ MeasureCategory getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.CategoryRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(MeasureCategory value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(AbstractMeasureElement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCategoryRelationship_To()
+ * @model required="true"
+ * @generated
+ */
+ AbstractMeasureElement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.CategoryRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(AbstractMeasureElement value);
+
+} // CategoryRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Characteristic.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Characteristic.java
new file mode 100644
index 000000000..ef2169ac4
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Characteristic.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Characteristic</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Characteristic#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCharacteristic()
+ * @model
+ * @generated
+ */
+public interface Characteristic extends AbstractMeasureElement {
+ /**
+ * Returns the value of the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Parent</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Parent</em>' reference.
+ * @see #setParent(Characteristic)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCharacteristic_Parent()
+ * @model
+ * @generated
+ */
+ Characteristic getParent();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Characteristic#getParent <em>Parent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Parent</em>' reference.
+ * @see #getParent()
+ * @generated
+ */
+ void setParent(Characteristic value);
+
+} // Characteristic
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CollectiveMeasure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CollectiveMeasure.java
new file mode 100644
index 000000000..f04d62f8e
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CollectiveMeasure.java
@@ -0,0 +1,80 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Collective Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.CollectiveMeasure#getAccumulator <em>Accumulator</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.CollectiveMeasure#getBaseMeasureTo <em>Base Measure To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCollectiveMeasure()
+ * @model
+ * @generated
+ */
+public interface CollectiveMeasure extends DimensionalMeasure {
+ /**
+ * Returns the value of the '<em><b>Accumulator</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.modisco.omg.smm.Accumulator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Accumulator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Accumulator</em>' attribute.
+ * @see org.eclipse.modisco.omg.smm.Accumulator
+ * @see #setAccumulator(Accumulator)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCollectiveMeasure_Accumulator()
+ * @model required="true"
+ * @generated
+ */
+ Accumulator getAccumulator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.CollectiveMeasure#getAccumulator <em>Accumulator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Accumulator</em>' attribute.
+ * @see org.eclipse.modisco.omg.smm.Accumulator
+ * @see #getAccumulator()
+ * @generated
+ */
+ void setAccumulator(Accumulator value);
+
+ /**
+ * Returns the value of the '<em><b>Base Measure To</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measure To</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>Base Measure To</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCollectiveMeasure_BaseMeasureTo()
+ * @see org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getFrom
+ * @model opposite="from" required="true"
+ * @generated
+ */
+ EList<BaseMeasureRelationship> getBaseMeasureTo();
+
+} // CollectiveMeasure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CollectiveMeasurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CollectiveMeasurement.java
new file mode 100644
index 000000000..1f54cada1
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/CollectiveMeasurement.java
@@ -0,0 +1,107 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Collective Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#getAccumulator <em>Accumulator</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#getBaseMeasurementTo <em>Base Measurement To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCollectiveMeasurement()
+ * @model
+ * @generated
+ */
+public interface CollectiveMeasurement extends DimensionalMeasurement {
+ /**
+ * Returns the value of the '<em><b>Accumulator</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.modisco.omg.smm.Accumulator}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Accumulator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Accumulator</em>' attribute.
+ * @see org.eclipse.modisco.omg.smm.Accumulator
+ * @see #setAccumulator(Accumulator)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCollectiveMeasurement_Accumulator()
+ * @model required="true"
+ * @generated
+ */
+ Accumulator getAccumulator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#getAccumulator <em>Accumulator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Accumulator</em>' attribute.
+ * @see org.eclipse.modisco.omg.smm.Accumulator
+ * @see #getAccumulator()
+ * @generated
+ */
+ void setAccumulator(Accumulator value);
+
+ /**
+ * Returns the value of the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Base Supplied</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 Base Supplied</em>' attribute.
+ * @see #setIsBaseSupplied(boolean)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCollectiveMeasurement_IsBaseSupplied()
+ * @model required="true"
+ * @generated
+ */
+ boolean isIsBaseSupplied();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Base Supplied</em>' attribute.
+ * @see #isIsBaseSupplied()
+ * @generated
+ */
+ void setIsBaseSupplied(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Base Measurement To</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measurement To</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>Base Measurement To</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCollectiveMeasurement_BaseMeasurementTo()
+ * @see org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ EList<BaseMeasurementRelationship> getBaseMeasurementTo();
+
+} // CollectiveMeasurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Count.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Count.java
new file mode 100644
index 000000000..4f56957fc
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Count.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Count</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCount()
+ * @model
+ * @generated
+ */
+public interface Count extends DirectMeasurement {
+} // Count
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Counting.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Counting.java
new file mode 100644
index 000000000..4dfa278c2
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Counting.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Counting</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getCounting()
+ * @model
+ * @generated
+ */
+public interface Counting extends DirectMeasure {
+} // Counting
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DimensionalMeasure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DimensionalMeasure.java
new file mode 100644
index 000000000..b60b20f2c
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DimensionalMeasure.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dimensional Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getUnit <em>Unit</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasureFrom <em>Base Measure From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure1From <em>Base Measure1 From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure2From <em>Base Measure2 From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getRescaleTo <em>Rescale To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getRankingFrom <em>Ranking From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasure()
+ * @model
+ * @generated
+ */
+public interface DimensionalMeasure extends Measure {
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasure_Unit()
+ * @model required="true"
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+ /**
+ * Returns the value of the '<em><b>Base Measure From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measure From</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>Base Measure From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasure_BaseMeasureFrom()
+ * @see org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<BaseMeasureRelationship> getBaseMeasureFrom();
+
+ /**
+ * Returns the value of the '<em><b>Base Measure1 From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measure1 From</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>Base Measure1 From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasure_BaseMeasure1From()
+ * @see org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<Base1MeasureRelationship> getBaseMeasure1From();
+
+ /**
+ * Returns the value of the '<em><b>Base Measure2 From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measure2 From</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>Base Measure2 From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasure_BaseMeasure2From()
+ * @see org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<Base2MeasureRelationship> getBaseMeasure2From();
+
+ /**
+ * Returns the value of the '<em><b>Rescale To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rescale To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Rescale To</em>' reference.
+ * @see #setRescaleTo(RescaleMeasureRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasure_RescaleTo()
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ RescaleMeasureRelationship getRescaleTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getRescaleTo <em>Rescale To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Rescale To</em>' reference.
+ * @see #getRescaleTo()
+ * @generated
+ */
+ void setRescaleTo(RescaleMeasureRelationship value);
+
+ /**
+ * Returns the value of the '<em><b>Ranking From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ranking From</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>Ranking From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasure_RankingFrom()
+ * @see org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<RankingMeasureRelationship> getRankingFrom();
+
+} // DimensionalMeasure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DimensionalMeasurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DimensionalMeasurement.java
new file mode 100644
index 000000000..125033531
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DimensionalMeasurement.java
@@ -0,0 +1,153 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Dimensional Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurementFrom <em>Base Measurement From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement1From <em>Base Measurement1 From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement2From <em>Base Measurement2 From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRescaleTo <em>Rescale To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRankingFrom <em>Ranking From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasurement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface DimensionalMeasurement extends Measurement {
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Value</em>' attribute.
+ * @see #setValue(double)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasurement_Value()
+ * @model
+ * @generated
+ */
+ double getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(double value);
+
+ /**
+ * Returns the value of the '<em><b>Base Measurement From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measurement From</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>Base Measurement From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasurement_BaseMeasurementFrom()
+ * @see org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<BaseMeasurementRelationship> getBaseMeasurementFrom();
+
+ /**
+ * Returns the value of the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measurement1 From</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>Base Measurement1 From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasurement_BaseMeasurement1From()
+ * @see org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<Base1MeasurementRelationship> getBaseMeasurement1From();
+
+ /**
+ * Returns the value of the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measurement2 From</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>Base Measurement2 From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasurement_BaseMeasurement2From()
+ * @see org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<Base2MeasurementRelationship> getBaseMeasurement2From();
+
+ /**
+ * Returns the value of the '<em><b>Rescale To</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rescale To</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>Rescale To</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasurement_RescaleTo()
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ EList<RescaleMeasurementRelationship> getRescaleTo();
+
+ /**
+ * Returns the value of the '<em><b>Ranking From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ranking From</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>Ranking From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDimensionalMeasurement_RankingFrom()
+ * @see org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<RankingMeasurementRelationship> getRankingFrom();
+
+} // DimensionalMeasurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DirectMeasure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DirectMeasure.java
new file mode 100644
index 000000000..5a5fe3b90
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DirectMeasure.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Direct Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.DirectMeasure#getOperation <em>Operation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDirectMeasure()
+ * @model
+ * @generated
+ */
+public interface DirectMeasure extends DimensionalMeasure {
+ /**
+ * Returns the value of the '<em><b>Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operation</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operation</em>' reference.
+ * @see #setOperation(Operation)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDirectMeasure_Operation()
+ * @model
+ * @generated
+ */
+ Operation getOperation();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.DirectMeasure#getOperation <em>Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operation</em>' reference.
+ * @see #getOperation()
+ * @generated
+ */
+ void setOperation(Operation value);
+
+} // DirectMeasure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DirectMeasurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DirectMeasurement.java
new file mode 100644
index 000000000..c98db60a3
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/DirectMeasurement.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Direct Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getDirectMeasurement()
+ * @model
+ * @generated
+ */
+public interface DirectMeasurement extends DimensionalMeasurement {
+} // DirectMeasurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/EquivalentMeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/EquivalentMeasureRelationship.java
new file mode 100644
index 000000000..908f82445
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/EquivalentMeasureRelationship.java
@@ -0,0 +1,115 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Equivalent Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getMapping <em>Mapping</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getEquivalentMeasureRelationship()
+ * @model
+ * @generated
+ */
+public interface EquivalentMeasureRelationship extends MeasureRelationship {
+ /**
+ * Returns the value of the '<em><b>Mapping</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Mapping</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Mapping</em>' reference.
+ * @see #setMapping(Operation)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getEquivalentMeasureRelationship_Mapping()
+ * @model
+ * @generated
+ */
+ Operation getMapping();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getMapping <em>Mapping</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Mapping</em>' reference.
+ * @see #getMapping()
+ * @generated
+ */
+ void setMapping(Operation value);
+
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measure#getEquivalentTo <em>Equivalent To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(Measure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getEquivalentMeasureRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.Measure#getEquivalentTo
+ * @model opposite="equivalentTo" required="true"
+ * @generated
+ */
+ Measure getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(Measure value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measure#getEquivalentFrom <em>Equivalent From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(Measure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getEquivalentMeasureRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.Measure#getEquivalentFrom
+ * @model opposite="equivalentFrom" required="true"
+ * @generated
+ */
+ Measure getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(Measure value);
+
+} // EquivalentMeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/EquivalentMeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/EquivalentMeasurementRelationship.java
new file mode 100644
index 000000000..693357abe
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/EquivalentMeasurementRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Equivalent Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getEquivalentMeasurementRelationship()
+ * @model
+ * @generated
+ */
+public interface EquivalentMeasurementRelationship extends MeasurementRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measurement#getEquivalentTo <em>Equivalent To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(Measurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getEquivalentMeasurementRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.Measurement#getEquivalentTo
+ * @model opposite="equivalentTo" required="true"
+ * @generated
+ */
+ Measurement getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(Measurement value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measurement#getEquivalentFrom <em>Equivalent From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(Measurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getEquivalentMeasurementRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.Measurement#getEquivalentFrom
+ * @model opposite="equivalentFrom" required="true"
+ * @generated
+ */
+ Measurement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(Measurement value);
+
+} // EquivalentMeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Grade.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Grade.java
new file mode 100644
index 000000000..54ed2b64f
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Grade.java
@@ -0,0 +1,140 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Grade</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Grade#getBaseMeasurement <em>Base Measurement</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Grade#isIsBaseSupplied <em>Is Base Supplied</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Grade#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Grade#getRankingTo <em>Ranking To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getGrade()
+ * @model
+ * @generated
+ */
+public interface Grade extends Measurement {
+ /**
+ * Returns the value of the '<em><b>Base Measurement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Base Measurement</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 Measurement</em>' reference.
+ * @see #setBaseMeasurement(DimensionalMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getGrade_BaseMeasurement()
+ * @model
+ * @generated
+ */
+ DimensionalMeasurement getBaseMeasurement();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Grade#getBaseMeasurement <em>Base Measurement</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Base Measurement</em>' reference.
+ * @see #getBaseMeasurement()
+ * @generated
+ */
+ void setBaseMeasurement(DimensionalMeasurement value);
+
+ /**
+ * Returns the value of the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Base Supplied</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 Base Supplied</em>' attribute.
+ * @see #setIsBaseSupplied(boolean)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getGrade_IsBaseSupplied()
+ * @model required="true"
+ * @generated
+ */
+ boolean isIsBaseSupplied();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Grade#isIsBaseSupplied <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Base Supplied</em>' attribute.
+ * @see #isIsBaseSupplied()
+ * @generated
+ */
+ void setIsBaseSupplied(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>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>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getGrade_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Grade#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Ranking To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ranking To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ranking To</em>' reference.
+ * @see #setRankingTo(RankingMeasurementRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getGrade_RankingTo()
+ * @see org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ RankingMeasurementRelationship getRankingTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Grade#getRankingTo <em>Ranking To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ranking To</em>' reference.
+ * @see #getRankingTo()
+ * @generated
+ */
+ void setRankingTo(RankingMeasurementRelationship value);
+
+} // Grade
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Measure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Measure.java
new file mode 100644
index 000000000..f8d607324
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Measure.java
@@ -0,0 +1,380 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getTrait <em>Trait</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getScope <em>Scope</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getMeasureLabelFormat <em>Measure Label Format</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getRefinementTo <em>Refinement To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getRefinementFrom <em>Refinement From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getEquivalentTo <em>Equivalent To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getEquivalentFrom <em>Equivalent From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getRecursiveTo <em>Recursive To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getRecursiveFrom <em>Recursive From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getMeasurementLabelFormat <em>Measurement Label Format</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#isVisible <em>Visible</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getMeasureRelationships <em>Measure Relationships</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measure#getDefaultQuery <em>Default Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Measure extends AbstractMeasureElement {
+ /**
+ * Returns the value of the '<em><b>Category</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.MeasureCategory}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryMeasure <em>Category Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Category</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>Category</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_Category()
+ * @see org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryMeasure
+ * @model opposite="categoryMeasure"
+ * @generated
+ */
+ EList<MeasureCategory> getCategory();
+
+ /**
+ * Returns the value of the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Trait</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Trait</em>' reference.
+ * @see #setTrait(Characteristic)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_Trait()
+ * @model required="true"
+ * @generated
+ */
+ Characteristic getTrait();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measure#getTrait <em>Trait</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Trait</em>' reference.
+ * @see #getTrait()
+ * @generated
+ */
+ void setTrait(Characteristic value);
+
+ /**
+ * Returns the value of the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Scope</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Scope</em>' reference.
+ * @see #setScope(Scope)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_Scope()
+ * @model required="true"
+ * @generated
+ */
+ Scope getScope();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measure#getScope <em>Scope</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Scope</em>' reference.
+ * @see #getScope()
+ * @generated
+ */
+ void setScope(Scope value);
+
+ /**
+ * Returns the value of the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measure Label Format</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measure Label Format</em>' attribute.
+ * @see #setMeasureLabelFormat(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_MeasureLabelFormat()
+ * @model
+ * @generated
+ */
+ String getMeasureLabelFormat();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measure#getMeasureLabelFormat <em>Measure Label Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Measure Label Format</em>' attribute.
+ * @see #getMeasureLabelFormat()
+ * @generated
+ */
+ void setMeasureLabelFormat(String value);
+
+ /**
+ * Returns the value of the '<em><b>Refinement To</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Refinement To</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>Refinement To</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_RefinementTo()
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ EList<RefinementMeasureRelationship> getRefinementTo();
+
+ /**
+ * Returns the value of the '<em><b>Refinement From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Refinement From</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>Refinement From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_RefinementFrom()
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<RefinementMeasureRelationship> getRefinementFrom();
+
+ /**
+ * Returns the value of the '<em><b>Equivalent To</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Equivalent To</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>Equivalent To</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_EquivalentTo()
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ EList<EquivalentMeasureRelationship> getEquivalentTo();
+
+ /**
+ * Returns the value of the '<em><b>Equivalent From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Equivalent From</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>Equivalent From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_EquivalentFrom()
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<EquivalentMeasureRelationship> getEquivalentFrom();
+
+ /**
+ * Returns the value of the '<em><b>Recursive To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Recursive To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Recursive To</em>' reference.
+ * @see #setRecursiveTo(RecursiveMeasureRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_RecursiveTo()
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ RecursiveMeasureRelationship getRecursiveTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measure#getRecursiveTo <em>Recursive To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Recursive To</em>' reference.
+ * @see #getRecursiveTo()
+ * @generated
+ */
+ void setRecursiveTo(RecursiveMeasureRelationship value);
+
+ /**
+ * Returns the value of the '<em><b>Recursive From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Recursive From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Recursive From</em>' reference.
+ * @see #setRecursiveFrom(RecursiveMeasureRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_RecursiveFrom()
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ RecursiveMeasureRelationship getRecursiveFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measure#getRecursiveFrom <em>Recursive From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Recursive From</em>' reference.
+ * @see #getRecursiveFrom()
+ * @generated
+ */
+ void setRecursiveFrom(RecursiveMeasureRelationship value);
+
+ /**
+ * Returns the value of the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measurement Label Format</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measurement Label Format</em>' attribute.
+ * @see #setMeasurementLabelFormat(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_MeasurementLabelFormat()
+ * @model
+ * @generated
+ */
+ String getMeasurementLabelFormat();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measure#getMeasurementLabelFormat <em>Measurement Label Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Measurement Label Format</em>' attribute.
+ * @see #getMeasurementLabelFormat()
+ * @generated
+ */
+ void setMeasurementLabelFormat(String value);
+
+ /**
+ * Returns the value of the '<em><b>Visible</b></em>' attribute.
+ * The default value is <code>"true"</code>.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Visible</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Visible</em>' attribute.
+ * @see #setVisible(boolean)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_Visible()
+ * @model default="true"
+ * @generated
+ */
+ boolean isVisible();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measure#isVisible <em>Visible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Visible</em>' attribute.
+ * @see #isVisible()
+ * @generated
+ */
+ void setVisible(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.MeasureRelationship}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measure Relationships</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measure Relationships</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_MeasureRelationships()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MeasureRelationship> getMeasureRelationships();
+
+ /**
+ * Returns the value of the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Default Query</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 Query</em>' reference.
+ * @see #setDefaultQuery(Operation)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasure_DefaultQuery()
+ * @model
+ * @generated
+ */
+ Operation getDefaultQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measure#getDefaultQuery <em>Default Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Default Query</em>' reference.
+ * @see #getDefaultQuery()
+ * @generated
+ */
+ void setDefaultQuery(Operation value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<Argument> getArguments();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<Argument> getAllArguments();
+
+} // Measure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureCategory.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureCategory.java
new file mode 100644
index 000000000..78f4fb42c
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureCategory.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Measure Category</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryElement <em>Category Element</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryMeasure <em>Category Measure</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureCategory()
+ * @model
+ * @generated
+ */
+public interface MeasureCategory extends AbstractMeasureElement {
+ /**
+ * Returns the value of the '<em><b>Category</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.MeasureCategory}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryElement <em>Category Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Category</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>Category</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureCategory_Category()
+ * @see org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryElement
+ * @model opposite="categoryElement"
+ * @generated
+ */
+ EList<MeasureCategory> getCategory();
+
+ /**
+ * Returns the value of the '<em><b>Category Element</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.MeasureCategory}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategory <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Category Element</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>Category Element</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureCategory_CategoryElement()
+ * @see org.eclipse.modisco.omg.smm.MeasureCategory#getCategory
+ * @model opposite="category"
+ * @generated
+ */
+ EList<MeasureCategory> getCategoryElement();
+
+ /**
+ * Returns the value of the '<em><b>Category Measure</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Measure}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measure#getCategory <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Category Measure</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>Category Measure</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureCategory_CategoryMeasure()
+ * @see org.eclipse.modisco.omg.smm.Measure#getCategory
+ * @model opposite="category"
+ * @generated
+ */
+ EList<Measure> getCategoryMeasure();
+
+} // MeasureCategory
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureLibrary.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureLibrary.java
new file mode 100644
index 000000000..611e6d08b
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureLibrary.java
@@ -0,0 +1,81 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Measure Library</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.MeasureLibrary#getMeasureElements <em>Measure Elements</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.MeasureLibrary#getCategoryRelationships <em>Category Relationships</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureLibrary()
+ * @model
+ * @generated
+ */
+public interface MeasureLibrary extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Measure Elements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.AbstractMeasureElement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measure Elements</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measure Elements</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureLibrary_MeasureElements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<AbstractMeasureElement> getMeasureElements();
+
+ /**
+ * Returns the value of the '<em><b>Category Relationships</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.CategoryRelationship}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Category Relationships</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Category Relationships</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureLibrary_CategoryRelationships()
+ * @model containment="true"
+ * @generated
+ */
+ EList<CategoryRelationship> getCategoryRelationships();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<AbstractMeasureElement> getOperations();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<AbstractMeasureElement> getOclOperations();
+
+} // MeasureLibrary
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureRelationship.java
new file mode 100644
index 000000000..af07e9613
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasureRelationship.java
@@ -0,0 +1,73 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.MeasureRelationship#getMeasurandQuery <em>Measurand Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureRelationship()
+ * @model abstract="true"
+ * @generated
+ */
+public interface MeasureRelationship extends SmmRelationship {
+ /**
+ * Returns the value of the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measurand Query</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measurand Query</em>' reference.
+ * @see #setMeasurandQuery(Operation)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasureRelationship_MeasurandQuery()
+ * @model
+ * @generated
+ */
+ Operation getMeasurandQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.MeasureRelationship#getMeasurandQuery <em>Measurand Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Measurand Query</em>' reference.
+ * @see #getMeasurandQuery()
+ * @generated
+ */
+ void setMeasurandQuery(Operation value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ Measure getTo();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ Measure getFrom();
+
+} // MeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Measurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Measurement.java
new file mode 100644
index 000000000..b6b297c51
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Measurement.java
@@ -0,0 +1,271 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getError <em>Error</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getMeasurand <em>Measurand</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getBreakValue <em>Break Value</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getRefinementTo <em>Refinement To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getRefinementFrom <em>Refinement From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getEquivalentTo <em>Equivalent To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getEquivalentFrom <em>Equivalent From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getRecursiveTo <em>Recursive To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getRecursiveFrom <em>Recursive From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Measurement#getMeasurementRelationships <em>Measurement Relationships</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface Measurement extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Error</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Error</em>' attribute.
+ * @see #setError(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_Error()
+ * @model
+ * @generated
+ */
+ String getError();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measurement#getError <em>Error</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Error</em>' attribute.
+ * @see #getError()
+ * @generated
+ */
+ void setError(String value);
+
+ /**
+ * Returns the value of the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measurand</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measurand</em>' reference.
+ * @see #setMeasurand(EObject)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_Measurand()
+ * @model
+ * @generated
+ */
+ EObject getMeasurand();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measurement#getMeasurand <em>Measurand</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Measurand</em>' reference.
+ * @see #getMeasurand()
+ * @generated
+ */
+ void setMeasurand(EObject value);
+
+ /**
+ * Returns the value of the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Break 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>Break Value</em>' attribute.
+ * @see #setBreakValue(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_BreakValue()
+ * @model
+ * @generated
+ */
+ String getBreakValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measurement#getBreakValue <em>Break Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Break Value</em>' attribute.
+ * @see #getBreakValue()
+ * @generated
+ */
+ void setBreakValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Refinement To</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Refinement To</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>Refinement To</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_RefinementTo()
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ EList<RefinementMeasurementRelationship> getRefinementTo();
+
+ /**
+ * Returns the value of the '<em><b>Refinement From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Refinement From</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>Refinement From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_RefinementFrom()
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<RefinementMeasurementRelationship> getRefinementFrom();
+
+ /**
+ * Returns the value of the '<em><b>Equivalent To</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Equivalent To</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>Equivalent To</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_EquivalentTo()
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ EList<EquivalentMeasurementRelationship> getEquivalentTo();
+
+ /**
+ * Returns the value of the '<em><b>Equivalent From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Equivalent From</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>Equivalent From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_EquivalentFrom()
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<EquivalentMeasurementRelationship> getEquivalentFrom();
+
+ /**
+ * Returns the value of the '<em><b>Recursive To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Recursive To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Recursive To</em>' reference.
+ * @see #setRecursiveTo(RecursiveMeasurementRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_RecursiveTo()
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ RecursiveMeasurementRelationship getRecursiveTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Measurement#getRecursiveTo <em>Recursive To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Recursive To</em>' reference.
+ * @see #getRecursiveTo()
+ * @generated
+ */
+ void setRecursiveTo(RecursiveMeasurementRelationship value);
+
+ /**
+ * Returns the value of the '<em><b>Recursive From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Recursive From</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>Recursive From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_RecursiveFrom()
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<RecursiveMeasurementRelationship> getRecursiveFrom();
+
+ /**
+ * Returns the value of the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.MeasurementRelationship}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measurement Relationships</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measurement Relationships</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurement_MeasurementRelationships()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MeasurementRelationship> getMeasurementRelationships();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ String getMeasureLabel();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ String getMeasurementLabel();
+
+} // Measurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasurementRelationship.java
new file mode 100644
index 000000000..6edb96b59
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/MeasurementRelationship.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getMeasurementRelationship()
+ * @model abstract="true"
+ * @generated
+ */
+public interface MeasurementRelationship extends SmmRelationship {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ Measurement getTo();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ Measurement getFrom();
+
+} // MeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/NamedMeasure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/NamedMeasure.java
new file mode 100644
index 000000000..e15b1aae2
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/NamedMeasure.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getNamedMeasure()
+ * @model
+ * @generated
+ */
+public interface NamedMeasure extends DimensionalMeasure {
+} // NamedMeasure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/NamedMeasurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/NamedMeasurement.java
new file mode 100644
index 000000000..6ed2e7874
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/NamedMeasurement.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Named Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getNamedMeasurement()
+ * @model
+ * @generated
+ */
+public interface NamedMeasurement extends DimensionalMeasurement {
+} // NamedMeasurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/OCLOperation.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/OCLOperation.java
new file mode 100644
index 000000000..34bb0eb54
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/OCLOperation.java
@@ -0,0 +1,84 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>OCL Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.OCLOperation#getContext <em>Context</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.OCLOperation#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getOCLOperation()
+ * @model
+ * @generated
+ */
+public interface OCLOperation extends AbstractMeasureElement {
+ /**
+ * Returns the value of the '<em><b>Context</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Context</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Context</em>' attribute.
+ * @see #setContext(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getOCLOperation_Context()
+ * @model
+ * @generated
+ */
+ String getContext();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.OCLOperation#getContext <em>Context</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Context</em>' attribute.
+ * @see #getContext()
+ * @generated
+ */
+ void setContext(String value);
+
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Body</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Body</em>' attribute.
+ * @see #setBody(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getOCLOperation_Body()
+ * @model
+ * @generated
+ */
+ String getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.OCLOperation#getBody <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Body</em>' attribute.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(String value);
+
+} // OCLOperation
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Observation.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Observation.java
new file mode 100644
index 000000000..712afd768
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Observation.java
@@ -0,0 +1,201 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import java.util.Date;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Observation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Observation#getObserver <em>Observer</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Observation#getTool <em>Tool</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Observation#getWhenObserved <em>When Observed</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Observation#getScopes <em>Scopes</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Observation#getObservedMeasures <em>Observed Measures</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Observation#getRequestedMeasures <em>Requested Measures</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Observation#getMeasurementRelations <em>Measurement Relations</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Observation#getArguments <em>Arguments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation()
+ * @model
+ * @generated
+ */
+public interface Observation extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Observer</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Observer</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Observer</em>' attribute.
+ * @see #setObserver(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation_Observer()
+ * @model
+ * @generated
+ */
+ String getObserver();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Observation#getObserver <em>Observer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Observer</em>' attribute.
+ * @see #getObserver()
+ * @generated
+ */
+ void setObserver(String value);
+
+ /**
+ * Returns the value of the '<em><b>Tool</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Tool</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Tool</em>' attribute.
+ * @see #setTool(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation_Tool()
+ * @model
+ * @generated
+ */
+ String getTool();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Observation#getTool <em>Tool</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Tool</em>' attribute.
+ * @see #getTool()
+ * @generated
+ */
+ void setTool(String value);
+
+ /**
+ * Returns the value of the '<em><b>When Observed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>When Observed</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>When Observed</em>' attribute.
+ * @see #setWhenObserved(Date)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation_WhenObserved()
+ * @model dataType="org.eclipse.modisco.omg.smm.Date"
+ * @generated
+ */
+ Date getWhenObserved();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Observation#getWhenObserved <em>When Observed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>When Observed</em>' attribute.
+ * @see #getWhenObserved()
+ * @generated
+ */
+ void setWhenObserved(Date value);
+
+ /**
+ * Returns the value of the '<em><b>Scopes</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.ObservationScope}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Scopes</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Scopes</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation_Scopes()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ObservationScope> getScopes();
+
+ /**
+ * Returns the value of the '<em><b>Observed Measures</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.ObservedMeasure}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Observed Measures</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Observed Measures</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation_ObservedMeasures()
+ * @model containment="true"
+ * @generated
+ */
+ EList<ObservedMeasure> getObservedMeasures();
+
+ /**
+ * Returns the value of the '<em><b>Requested Measures</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.SmmElement}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.SmmElement#getRequestedObservations <em>Requested Observations</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Requested Measures</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>Requested Measures</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation_RequestedMeasures()
+ * @see org.eclipse.modisco.omg.smm.SmmElement#getRequestedObservations
+ * @model opposite="requestedObservations"
+ * @generated
+ */
+ EList<SmmElement> getRequestedMeasures();
+
+ /**
+ * Returns the value of the '<em><b>Measurement Relations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.SmmRelationship}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measurement Relations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measurement Relations</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation_MeasurementRelations()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SmmRelationship> getMeasurementRelations();
+
+ /**
+ * Returns the value of the '<em><b>Arguments</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Argument}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Arguments</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Arguments</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservation_Arguments()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Argument> getArguments();
+
+} // Observation
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/ObservationScope.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/ObservationScope.java
new file mode 100644
index 000000000..e6f2b1e8d
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/ObservationScope.java
@@ -0,0 +1,57 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Observation Scope</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.ObservationScope#getScopeUri <em>Scope Uri</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservationScope()
+ * @model
+ * @generated
+ */
+public interface ObservationScope extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Scope Uri</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Scope Uri</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Scope Uri</em>' attribute.
+ * @see #setScopeUri(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservationScope_ScopeUri()
+ * @model required="true"
+ * @generated
+ */
+ String getScopeUri();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.ObservationScope#getScopeUri <em>Scope Uri</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Scope Uri</em>' attribute.
+ * @see #getScopeUri()
+ * @generated
+ */
+ void setScopeUri(String value);
+
+} // ObservationScope
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/ObservedMeasure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/ObservedMeasure.java
new file mode 100644
index 000000000..8723ac94e
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/ObservedMeasure.java
@@ -0,0 +1,85 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Observed Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.ObservedMeasure#getMeasure <em>Measure</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.ObservedMeasure#getMeasurements <em>Measurements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservedMeasure()
+ * @model
+ * @generated
+ */
+public interface ObservedMeasure extends SmmRelationship {
+ /**
+ * Returns the value of the '<em><b>Measure</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measure</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measure</em>' reference.
+ * @see #setMeasure(Measure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservedMeasure_Measure()
+ * @model required="true"
+ * @generated
+ */
+ Measure getMeasure();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.ObservedMeasure#getMeasure <em>Measure</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Measure</em>' reference.
+ * @see #getMeasure()
+ * @generated
+ */
+ void setMeasure(Measure value);
+
+ /**
+ * Returns the value of the '<em><b>Measurements</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Measurement}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Measurements</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Measurements</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getObservedMeasure_Measurements()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Measurement> getMeasurements();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<EObject> getMeasureRefimentsObservedMeasures();
+
+} // ObservedMeasure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Operation.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Operation.java
new file mode 100644
index 000000000..605777e26
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Operation.java
@@ -0,0 +1,93 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Operation</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Operation#getLanguage <em>Language</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Operation#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getOperation()
+ * @model
+ * @generated
+ */
+public interface Operation extends AbstractMeasureElement {
+ /**
+ * Returns the value of the '<em><b>Language</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Language</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Language</em>' attribute.
+ * @see #setLanguage(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getOperation_Language()
+ * @model
+ * @generated
+ */
+ String getLanguage();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Operation#getLanguage <em>Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Language</em>' attribute.
+ * @see #getLanguage()
+ * @generated
+ */
+ void setLanguage(String value);
+
+ /**
+ * Returns the value of the '<em><b>Body</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Body</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Body</em>' attribute.
+ * @see #setBody(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getOperation_Body()
+ * @model
+ * @generated
+ */
+ String getBody();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Operation#getBody <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Body</em>' attribute.
+ * @see #getBody()
+ * @generated
+ */
+ void setBody(String value);
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<String> getParamStrings();
+
+} // Operation
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Ranking.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Ranking.java
new file mode 100644
index 000000000..a9748dc5b
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Ranking.java
@@ -0,0 +1,79 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ranking</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Ranking#getInterval <em>Interval</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Ranking#getRankingTo <em>Ranking To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRanking()
+ * @model
+ * @generated
+ */
+public interface Ranking extends Measure {
+ /**
+ * Returns the value of the '<em><b>Interval</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RankingInterval}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RankingInterval#getRank <em>Rank</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Interval</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Interval</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRanking_Interval()
+ * @see org.eclipse.modisco.omg.smm.RankingInterval#getRank
+ * @model opposite="rank" containment="true" required="true"
+ * @generated
+ */
+ EList<RankingInterval> getInterval();
+
+ /**
+ * Returns the value of the '<em><b>Ranking To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Ranking To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Ranking To</em>' reference.
+ * @see #setRankingTo(RankingMeasureRelationship)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRanking_RankingTo()
+ * @see org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getFrom
+ * @model opposite="from"
+ * @generated
+ */
+ RankingMeasureRelationship getRankingTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Ranking#getRankingTo <em>Ranking To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Ranking To</em>' reference.
+ * @see #getRankingTo()
+ * @generated
+ */
+ void setRankingTo(RankingMeasureRelationship value);
+
+} // Ranking
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingInterval.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingInterval.java
new file mode 100644
index 000000000..a4bf42e02
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingInterval.java
@@ -0,0 +1,194 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ranking Interval</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingInterval#getRank <em>Rank</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingInterval#getMaximumEndpoint <em>Maximum Endpoint</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingInterval#isMaximumOpen <em>Maximum Open</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingInterval#getMinimumEndpoint <em>Minimum Endpoint</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingInterval#isMinimumOpen <em>Minimum Open</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingInterval#getSymbol <em>Symbol</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingInterval()
+ * @model
+ * @generated
+ */
+public interface RankingInterval extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Rank</b></em>' container reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Ranking#getInterval <em>Interval</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rank</em>' container reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Rank</em>' container reference.
+ * @see #setRank(Ranking)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingInterval_Rank()
+ * @see org.eclipse.modisco.omg.smm.Ranking#getInterval
+ * @model opposite="interval" transient="false"
+ * @generated
+ */
+ Ranking getRank();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingInterval#getRank <em>Rank</em>}' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Rank</em>' container reference.
+ * @see #getRank()
+ * @generated
+ */
+ void setRank(Ranking value);
+
+ /**
+ * Returns the value of the '<em><b>Maximum Endpoint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Maximum Endpoint</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Maximum Endpoint</em>' attribute.
+ * @see #setMaximumEndpoint(double)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingInterval_MaximumEndpoint()
+ * @model required="true"
+ * @generated
+ */
+ double getMaximumEndpoint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingInterval#getMaximumEndpoint <em>Maximum Endpoint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Maximum Endpoint</em>' attribute.
+ * @see #getMaximumEndpoint()
+ * @generated
+ */
+ void setMaximumEndpoint(double value);
+
+ /**
+ * Returns the value of the '<em><b>Maximum Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Maximum 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>Maximum Open</em>' attribute.
+ * @see #setMaximumOpen(boolean)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingInterval_MaximumOpen()
+ * @model
+ * @generated
+ */
+ boolean isMaximumOpen();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingInterval#isMaximumOpen <em>Maximum Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Maximum Open</em>' attribute.
+ * @see #isMaximumOpen()
+ * @generated
+ */
+ void setMaximumOpen(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Minimum Endpoint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Minimum Endpoint</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Minimum Endpoint</em>' attribute.
+ * @see #setMinimumEndpoint(double)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingInterval_MinimumEndpoint()
+ * @model required="true"
+ * @generated
+ */
+ double getMinimumEndpoint();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingInterval#getMinimumEndpoint <em>Minimum Endpoint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Minimum Endpoint</em>' attribute.
+ * @see #getMinimumEndpoint()
+ * @generated
+ */
+ void setMinimumEndpoint(double value);
+
+ /**
+ * Returns the value of the '<em><b>Minimum Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Minimum 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>Minimum Open</em>' attribute.
+ * @see #setMinimumOpen(boolean)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingInterval_MinimumOpen()
+ * @model
+ * @generated
+ */
+ boolean isMinimumOpen();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingInterval#isMinimumOpen <em>Minimum Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Minimum Open</em>' attribute.
+ * @see #isMinimumOpen()
+ * @generated
+ */
+ void setMinimumOpen(boolean value);
+
+ /**
+ * 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.modisco.omg.smm.SmmPackage#getRankingInterval_Symbol()
+ * @model required="true"
+ * @generated
+ */
+ String getSymbol();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingInterval#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);
+
+} // RankingInterval
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingMeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingMeasureRelationship.java
new file mode 100644
index 000000000..2def3dd77
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingMeasureRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ranking Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingMeasureRelationship()
+ * @model
+ * @generated
+ */
+public interface RankingMeasureRelationship extends MeasureRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Ranking#getRankingTo <em>Ranking To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(Ranking)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingMeasureRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.Ranking#getRankingTo
+ * @model opposite="rankingTo" required="true"
+ * @generated
+ */
+ Ranking getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(Ranking value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getRankingFrom <em>Ranking From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(DimensionalMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingMeasureRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getRankingFrom
+ * @model opposite="rankingFrom" required="true"
+ * @generated
+ */
+ DimensionalMeasure getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(DimensionalMeasure value);
+
+} // RankingMeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingMeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingMeasurementRelationship.java
new file mode 100644
index 000000000..8089afcf5
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RankingMeasurementRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ranking Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingMeasurementRelationship()
+ * @model
+ * @generated
+ */
+public interface RankingMeasurementRelationship extends MeasurementRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Grade#getRankingTo <em>Ranking To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(Grade)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingMeasurementRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.Grade#getRankingTo
+ * @model opposite="rankingTo" required="true"
+ * @generated
+ */
+ Grade getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(Grade value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRankingFrom <em>Ranking From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(DimensionalMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRankingMeasurementRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRankingFrom
+ * @model opposite="rankingFrom" required="true"
+ * @generated
+ */
+ DimensionalMeasurement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(DimensionalMeasurement value);
+
+} // RankingMeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RatioMeasure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RatioMeasure.java
new file mode 100644
index 000000000..062886c83
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RatioMeasure.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ratio Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRatioMeasure()
+ * @model
+ * @generated
+ */
+public interface RatioMeasure extends BinaryMeasure {
+} // RatioMeasure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RatioMeasurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RatioMeasurement.java
new file mode 100644
index 000000000..cd631ca0a
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RatioMeasurement.java
@@ -0,0 +1,25 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ratio Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRatioMeasurement()
+ * @model
+ * @generated
+ */
+public interface RatioMeasurement extends BinaryMeasurement {
+} // RatioMeasurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RecursiveMeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RecursiveMeasureRelationship.java
new file mode 100644
index 000000000..3f65b4e60
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RecursiveMeasureRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Recursive Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRecursiveMeasureRelationship()
+ * @model
+ * @generated
+ */
+public interface RecursiveMeasureRelationship extends MeasureRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measure#getRecursiveTo <em>Recursive To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(Measure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRecursiveMeasureRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.Measure#getRecursiveTo
+ * @model opposite="recursiveTo" required="true"
+ * @generated
+ */
+ Measure getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(Measure value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measure#getRecursiveFrom <em>Recursive From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(Measure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRecursiveMeasureRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.Measure#getRecursiveFrom
+ * @model opposite="recursiveFrom" required="true"
+ * @generated
+ */
+ Measure getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(Measure value);
+
+} // RecursiveMeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RecursiveMeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RecursiveMeasurementRelationship.java
new file mode 100644
index 000000000..d704d8257
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RecursiveMeasurementRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Recursive Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRecursiveMeasurementRelationship()
+ * @model
+ * @generated
+ */
+public interface RecursiveMeasurementRelationship extends MeasurementRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measurement#getRecursiveTo <em>Recursive To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(Measurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRecursiveMeasurementRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.Measurement#getRecursiveTo
+ * @model opposite="recursiveTo" required="true"
+ * @generated
+ */
+ Measurement getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(Measurement value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measurement#getRecursiveFrom <em>Recursive From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(Measurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRecursiveMeasurementRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.Measurement#getRecursiveFrom
+ * @model opposite="recursiveFrom" required="true"
+ * @generated
+ */
+ Measurement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(Measurement value);
+
+} // RecursiveMeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RefinementMeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RefinementMeasureRelationship.java
new file mode 100644
index 000000000..63ff0b7cf
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RefinementMeasureRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Refinement Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRefinementMeasureRelationship()
+ * @model
+ * @generated
+ */
+public interface RefinementMeasureRelationship extends MeasureRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measure#getRefinementTo <em>Refinement To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(Measure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRefinementMeasureRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.Measure#getRefinementTo
+ * @model opposite="refinementTo" required="true"
+ * @generated
+ */
+ Measure getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(Measure value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measure#getRefinementFrom <em>Refinement From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(Measure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRefinementMeasureRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.Measure#getRefinementFrom
+ * @model opposite="refinementFrom" required="true"
+ * @generated
+ */
+ Measure getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(Measure value);
+
+} // RefinementMeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RefinementMeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RefinementMeasurementRelationship.java
new file mode 100644
index 000000000..953d23d1b
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RefinementMeasurementRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Refinement Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRefinementMeasurementRelationship()
+ * @model
+ * @generated
+ */
+public interface RefinementMeasurementRelationship extends MeasurementRelationship {
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measurement#getRefinementTo <em>Refinement To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(Measurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRefinementMeasurementRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.Measurement#getRefinementTo
+ * @model opposite="refinementTo" required="true"
+ * @generated
+ */
+ Measurement getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(Measurement value);
+
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Measurement#getRefinementFrom <em>Refinement From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(Measurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRefinementMeasurementRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.Measurement#getRefinementFrom
+ * @model opposite="refinementFrom" required="true"
+ * @generated
+ */
+ Measurement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(Measurement value);
+
+} // RefinementMeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaleMeasureRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaleMeasureRelationship.java
new file mode 100644
index 000000000..22bd4a4f5
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaleMeasureRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rescale Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getTo <em>To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getFrom <em>From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaleMeasureRelationship()
+ * @model
+ * @generated
+ */
+public interface RescaleMeasureRelationship extends MeasureRelationship {
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RescaledMeasure#getRescaleFrom <em>Rescale From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(RescaledMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaleMeasureRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.RescaledMeasure#getRescaleFrom
+ * @model opposite="rescaleFrom" required="true"
+ * @generated
+ */
+ RescaledMeasure getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(RescaledMeasure value);
+
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getRescaleTo <em>Rescale To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(DimensionalMeasure)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaleMeasureRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getRescaleTo
+ * @model opposite="rescaleTo" required="true"
+ * @generated
+ */
+ DimensionalMeasure getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(DimensionalMeasure value);
+
+} // RescaleMeasureRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaleMeasurementRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaleMeasurementRelationship.java
new file mode 100644
index 000000000..c4df071f0
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaleMeasurementRelationship.java
@@ -0,0 +1,88 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rescale Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getTo <em>To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getFrom <em>From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaleMeasurementRelationship()
+ * @model
+ * @generated
+ */
+public interface RescaleMeasurementRelationship extends MeasurementRelationship {
+ /**
+ * Returns the value of the '<em><b>To</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RescaledMeasurement#getRescaleFrom <em>Rescale From</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>To</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>To</em>' reference.
+ * @see #setTo(RescaledMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaleMeasurementRelationship_To()
+ * @see org.eclipse.modisco.omg.smm.RescaledMeasurement#getRescaleFrom
+ * @model opposite="rescaleFrom" required="true"
+ * @generated
+ */
+ RescaledMeasurement getTo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getTo <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>To</em>' reference.
+ * @see #getTo()
+ * @generated
+ */
+ void setTo(RescaledMeasurement value);
+
+ /**
+ * Returns the value of the '<em><b>From</b></em>' reference.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRescaleTo <em>Rescale To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>From</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>From</em>' reference.
+ * @see #setFrom(DimensionalMeasurement)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaleMeasurementRelationship_From()
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRescaleTo
+ * @model opposite="rescaleTo" required="true"
+ * @generated
+ */
+ DimensionalMeasurement getFrom();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getFrom <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>From</em>' reference.
+ * @see #getFrom()
+ * @generated
+ */
+ void setFrom(DimensionalMeasurement value);
+
+} // RescaleMeasurementRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaledMeasure.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaledMeasure.java
new file mode 100644
index 000000000..7f8edcbaf
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaledMeasure.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rescaled Measure</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RescaledMeasure#getFormula <em>Formula</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RescaledMeasure#getRescaleFrom <em>Rescale From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaledMeasure()
+ * @model
+ * @generated
+ */
+public interface RescaledMeasure extends DimensionalMeasure {
+ /**
+ * Returns the value of the '<em><b>Formula</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Formula</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Formula</em>' attribute.
+ * @see #setFormula(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaledMeasure_Formula()
+ * @model required="true"
+ * @generated
+ */
+ String getFormula();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RescaledMeasure#getFormula <em>Formula</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Formula</em>' attribute.
+ * @see #getFormula()
+ * @generated
+ */
+ void setFormula(String value);
+
+ /**
+ * Returns the value of the '<em><b>Rescale From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rescale From</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>Rescale From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaledMeasure_RescaleFrom()
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<RescaleMeasureRelationship> getRescaleFrom();
+
+} // RescaledMeasure
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaledMeasurement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaledMeasurement.java
new file mode 100644
index 000000000..78104e1da
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/RescaledMeasurement.java
@@ -0,0 +1,77 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Rescaled Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.RescaledMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.RescaledMeasurement#getRescaleFrom <em>Rescale From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaledMeasurement()
+ * @model
+ * @generated
+ */
+public interface RescaledMeasurement extends DimensionalMeasurement {
+ /**
+ * Returns the value of the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Is Base Supplied</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 Base Supplied</em>' attribute.
+ * @see #setIsBaseSupplied(boolean)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaledMeasurement_IsBaseSupplied()
+ * @model required="true"
+ * @generated
+ */
+ boolean isIsBaseSupplied();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.RescaledMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Is Base Supplied</em>' attribute.
+ * @see #isIsBaseSupplied()
+ * @generated
+ */
+ void setIsBaseSupplied(boolean value);
+
+ /**
+ * Returns the value of the '<em><b>Rescale From</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rescale From</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>Rescale From</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getRescaledMeasurement_RescaleFrom()
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getTo
+ * @model opposite="to"
+ * @generated
+ */
+ EList<RescaleMeasurementRelationship> getRescaleFrom();
+
+} // RescaledMeasurement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Scope.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Scope.java
new file mode 100644
index 000000000..cefc10a0d
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/Scope.java
@@ -0,0 +1,131 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Scope</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.Scope#getClass_ <em>Class</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Scope#getElements <em>Elements</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Scope#getRecognizerQuery <em>Recognizer Query</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.Scope#getBreakCondition <em>Break Condition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getScope()
+ * @model
+ * @generated
+ */
+public interface Scope extends AbstractMeasureElement {
+ /**
+ * Returns the value of the '<em><b>Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class</em>' attribute.
+ * @see #setClass(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getScope_Class()
+ * @model required="true"
+ * @generated
+ */
+ String getClass_();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Scope#getClass_ <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class</em>' attribute.
+ * @see #getClass_()
+ * @generated
+ */
+ void setClass(String value);
+
+ /**
+ * Returns the value of the '<em><b>Elements</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.emf.ecore.EObject}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Elements</em>' reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Elements</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getScope_Elements()
+ * @model
+ * @generated
+ */
+ EList<EObject> getElements();
+
+ /**
+ * Returns the value of the '<em><b>Recognizer Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Recognizer Query</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Recognizer Query</em>' reference.
+ * @see #setRecognizerQuery(Operation)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getScope_RecognizerQuery()
+ * @model
+ * @generated
+ */
+ Operation getRecognizerQuery();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Scope#getRecognizerQuery <em>Recognizer Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Recognizer Query</em>' reference.
+ * @see #getRecognizerQuery()
+ * @generated
+ */
+ void setRecognizerQuery(Operation value);
+
+ /**
+ * Returns the value of the '<em><b>Break Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Break Condition</em>' reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Break Condition</em>' reference.
+ * @see #setBreakCondition(Operation)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getScope_BreakCondition()
+ * @model
+ * @generated
+ */
+ Operation getBreakCondition();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.Scope#getBreakCondition <em>Break Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Break Condition</em>' reference.
+ * @see #getBreakCondition()
+ * @generated
+ */
+ void setBreakCondition(Operation value);
+
+} // Scope
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmElement.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmElement.java
new file mode 100644
index 000000000..7275e5ab0
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmElement.java
@@ -0,0 +1,183 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.SmmElement#getAttribute <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.SmmElement#getAnnotation <em>Annotation</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.SmmElement#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.SmmElement#getShortDescription <em>Short Description</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.SmmElement#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.SmmElement#getRequestedObservations <em>Requested Observations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmElement()
+ * @model abstract="true"
+ * @generated
+ */
+public interface SmmElement extends EObject {
+ /**
+ * Returns the value of the '<em><b>Attribute</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Attribute}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Attribute</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Attribute</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmElement_Attribute()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Attribute> getAttribute();
+
+ /**
+ * Returns the value of the '<em><b>Annotation</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Annotation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Annotation</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Annotation</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmElement_Annotation()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Annotation> getAnnotation();
+
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmElement_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.SmmElement#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Short Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Short Description</em>' attribute.
+ * @see #setShortDescription(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmElement_ShortDescription()
+ * @model
+ * @generated
+ */
+ String getShortDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.SmmElement#getShortDescription <em>Short Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Short Description</em>' attribute.
+ * @see #getShortDescription()
+ * @generated
+ */
+ void setShortDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Description</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Description</em>' attribute.
+ * @see #setDescription(String)
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmElement_Description()
+ * @model
+ * @generated
+ */
+ String getDescription();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.modisco.omg.smm.SmmElement#getDescription <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Description</em>' attribute.
+ * @see #getDescription()
+ * @generated
+ */
+ void setDescription(String value);
+
+ /**
+ * Returns the value of the '<em><b>Requested Observations</b></em>' reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Observation}.
+ * It is bidirectional and its opposite is '{@link org.eclipse.modisco.omg.smm.Observation#getRequestedMeasures <em>Requested Measures</em>}'.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Requested Observations</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>Requested Observations</em>' reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmElement_RequestedObservations()
+ * @see org.eclipse.modisco.omg.smm.Observation#getRequestedMeasures
+ * @model opposite="requestedMeasures"
+ * @generated
+ */
+ EList<Observation> getRequestedObservations();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<SmmRelationship> getInbound();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation"
+ * @generated
+ */
+ EList<SmmRelationship> getOutbound();
+
+} // SmmElement
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmFactory.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmFactory.java
new file mode 100644
index 000000000..5b01ab0cc
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmFactory.java
@@ -0,0 +1,482 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+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.modisco.omg.smm.SmmPackage
+ * @generated
+ */
+public interface SmmFactory extends EFactory {
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SmmFactory eINSTANCE = org.eclipse.modisco.omg.smm.impl.SmmFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Annotation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Annotation</em>'.
+ * @generated
+ */
+ Annotation createAnnotation();
+
+ /**
+ * Returns a new object of class '<em>Argument</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Argument</em>'.
+ * @generated
+ */
+ Argument createArgument();
+
+ /**
+ * Returns a new object of class '<em>Attribute</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Attribute</em>'.
+ * @generated
+ */
+ Attribute createAttribute();
+
+ /**
+ * Returns a new object of class '<em>Aggregated Measurement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Aggregated Measurement</em>'.
+ * @generated
+ */
+ AggregatedMeasurement createAggregatedMeasurement();
+
+ /**
+ * Returns a new object of class '<em>Base1 Measurement Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Base1 Measurement Relationship</em>'.
+ * @generated
+ */
+ Base1MeasurementRelationship createBase1MeasurementRelationship();
+
+ /**
+ * Returns a new object of class '<em>Base1 Measure Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Base1 Measure Relationship</em>'.
+ * @generated
+ */
+ Base1MeasureRelationship createBase1MeasureRelationship();
+
+ /**
+ * Returns a new object of class '<em>Base2 Measurement Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Base2 Measurement Relationship</em>'.
+ * @generated
+ */
+ Base2MeasurementRelationship createBase2MeasurementRelationship();
+
+ /**
+ * Returns a new object of class '<em>Base2 Measure Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Base2 Measure Relationship</em>'.
+ * @generated
+ */
+ Base2MeasureRelationship createBase2MeasureRelationship();
+
+ /**
+ * Returns a new object of class '<em>Base Measurement Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Base Measurement Relationship</em>'.
+ * @generated
+ */
+ BaseMeasurementRelationship createBaseMeasurementRelationship();
+
+ /**
+ * Returns a new object of class '<em>Base Measure Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Base Measure Relationship</em>'.
+ * @generated
+ */
+ BaseMeasureRelationship createBaseMeasureRelationship();
+
+ /**
+ * Returns a new object of class '<em>Binary Measure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Binary Measure</em>'.
+ * @generated
+ */
+ BinaryMeasure createBinaryMeasure();
+
+ /**
+ * Returns a new object of class '<em>Binary Measurement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Binary Measurement</em>'.
+ * @generated
+ */
+ BinaryMeasurement createBinaryMeasurement();
+
+ /**
+ * Returns a new object of class '<em>Category Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Category Relationship</em>'.
+ * @generated
+ */
+ CategoryRelationship createCategoryRelationship();
+
+ /**
+ * Returns a new object of class '<em>Characteristic</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Characteristic</em>'.
+ * @generated
+ */
+ Characteristic createCharacteristic();
+
+ /**
+ * Returns a new object of class '<em>Collective Measure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Collective Measure</em>'.
+ * @generated
+ */
+ CollectiveMeasure createCollectiveMeasure();
+
+ /**
+ * Returns a new object of class '<em>Collective Measurement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Collective Measurement</em>'.
+ * @generated
+ */
+ CollectiveMeasurement createCollectiveMeasurement();
+
+ /**
+ * Returns a new object of class '<em>Count</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Count</em>'.
+ * @generated
+ */
+ Count createCount();
+
+ /**
+ * Returns a new object of class '<em>Counting</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Counting</em>'.
+ * @generated
+ */
+ Counting createCounting();
+
+ /**
+ * Returns a new object of class '<em>Dimensional Measure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Dimensional Measure</em>'.
+ * @generated
+ */
+ DimensionalMeasure createDimensionalMeasure();
+
+ /**
+ * Returns a new object of class '<em>Direct Measure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Direct Measure</em>'.
+ * @generated
+ */
+ DirectMeasure createDirectMeasure();
+
+ /**
+ * Returns a new object of class '<em>Direct Measurement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Direct Measurement</em>'.
+ * @generated
+ */
+ DirectMeasurement createDirectMeasurement();
+
+ /**
+ * Returns a new object of class '<em>Equivalent Measure Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Equivalent Measure Relationship</em>'.
+ * @generated
+ */
+ EquivalentMeasureRelationship createEquivalentMeasureRelationship();
+
+ /**
+ * Returns a new object of class '<em>Equivalent Measurement Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Equivalent Measurement Relationship</em>'.
+ * @generated
+ */
+ EquivalentMeasurementRelationship createEquivalentMeasurementRelationship();
+
+ /**
+ * Returns a new object of class '<em>Grade</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Grade</em>'.
+ * @generated
+ */
+ Grade createGrade();
+
+ /**
+ * Returns a new object of class '<em>Measure Category</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Measure Category</em>'.
+ * @generated
+ */
+ MeasureCategory createMeasureCategory();
+
+ /**
+ * Returns a new object of class '<em>Measure Library</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Measure Library</em>'.
+ * @generated
+ */
+ MeasureLibrary createMeasureLibrary();
+
+ /**
+ * Returns a new object of class '<em>Named Measure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Named Measure</em>'.
+ * @generated
+ */
+ NamedMeasure createNamedMeasure();
+
+ /**
+ * Returns a new object of class '<em>Named Measurement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Named Measurement</em>'.
+ * @generated
+ */
+ NamedMeasurement createNamedMeasurement();
+
+ /**
+ * Returns a new object of class '<em>Observation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Observation</em>'.
+ * @generated
+ */
+ Observation createObservation();
+
+ /**
+ * Returns a new object of class '<em>Observation Scope</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Observation Scope</em>'.
+ * @generated
+ */
+ ObservationScope createObservationScope();
+
+ /**
+ * Returns a new object of class '<em>Observed Measure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Observed Measure</em>'.
+ * @generated
+ */
+ ObservedMeasure createObservedMeasure();
+
+ /**
+ * Returns a new object of class '<em>OCL Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>OCL Operation</em>'.
+ * @generated
+ */
+ OCLOperation createOCLOperation();
+
+ /**
+ * Returns a new object of class '<em>Operation</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Operation</em>'.
+ * @generated
+ */
+ Operation createOperation();
+
+ /**
+ * Returns a new object of class '<em>Ranking</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ranking</em>'.
+ * @generated
+ */
+ Ranking createRanking();
+
+ /**
+ * Returns a new object of class '<em>Ranking Interval</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ranking Interval</em>'.
+ * @generated
+ */
+ RankingInterval createRankingInterval();
+
+ /**
+ * Returns a new object of class '<em>Ranking Measure Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ranking Measure Relationship</em>'.
+ * @generated
+ */
+ RankingMeasureRelationship createRankingMeasureRelationship();
+
+ /**
+ * Returns a new object of class '<em>Ranking Measurement Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ranking Measurement Relationship</em>'.
+ * @generated
+ */
+ RankingMeasurementRelationship createRankingMeasurementRelationship();
+
+ /**
+ * Returns a new object of class '<em>Ratio Measure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ratio Measure</em>'.
+ * @generated
+ */
+ RatioMeasure createRatioMeasure();
+
+ /**
+ * Returns a new object of class '<em>Ratio Measurement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ratio Measurement</em>'.
+ * @generated
+ */
+ RatioMeasurement createRatioMeasurement();
+
+ /**
+ * Returns a new object of class '<em>Recursive Measure Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Recursive Measure Relationship</em>'.
+ * @generated
+ */
+ RecursiveMeasureRelationship createRecursiveMeasureRelationship();
+
+ /**
+ * Returns a new object of class '<em>Recursive Measurement Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Recursive Measurement Relationship</em>'.
+ * @generated
+ */
+ RecursiveMeasurementRelationship createRecursiveMeasurementRelationship();
+
+ /**
+ * Returns a new object of class '<em>Refinement Measure Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Refinement Measure Relationship</em>'.
+ * @generated
+ */
+ RefinementMeasureRelationship createRefinementMeasureRelationship();
+
+ /**
+ * Returns a new object of class '<em>Refinement Measurement Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Refinement Measurement Relationship</em>'.
+ * @generated
+ */
+ RefinementMeasurementRelationship createRefinementMeasurementRelationship();
+
+ /**
+ * Returns a new object of class '<em>Rescaled Measure</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rescaled Measure</em>'.
+ * @generated
+ */
+ RescaledMeasure createRescaledMeasure();
+
+ /**
+ * Returns a new object of class '<em>Rescale Measure Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rescale Measure Relationship</em>'.
+ * @generated
+ */
+ RescaleMeasureRelationship createRescaleMeasureRelationship();
+
+ /**
+ * Returns a new object of class '<em>Rescaled Measurement</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rescaled Measurement</em>'.
+ * @generated
+ */
+ RescaledMeasurement createRescaledMeasurement();
+
+ /**
+ * Returns a new object of class '<em>Rescale Measurement Relationship</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Rescale Measurement Relationship</em>'.
+ * @generated
+ */
+ RescaleMeasurementRelationship createRescaleMeasurementRelationship();
+
+ /**
+ * Returns a new object of class '<em>Scope</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Scope</em>'.
+ * @generated
+ */
+ Scope createScope();
+
+ /**
+ * Returns a new object of class '<em>Model</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Model</em>'.
+ * @generated
+ */
+ SmmModel createSmmModel();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ SmmPackage getSmmPackage();
+
+} //SmmFactory
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmModel.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmModel.java
new file mode 100644
index 000000000..3c1a260c1
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmModel.java
@@ -0,0 +1,65 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.SmmModel#getObservations <em>Observations</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.SmmModel#getLibrairies <em>Librairies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmModel()
+ * @model
+ * @generated
+ */
+public interface SmmModel extends SmmElement {
+ /**
+ * Returns the value of the '<em><b>Observations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.Observation}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Observations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Observations</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmModel_Observations()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Observation> getObservations();
+
+ /**
+ * Returns the value of the '<em><b>Librairies</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.modisco.omg.smm.MeasureLibrary}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Librairies</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Librairies</em>' containment reference list.
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmModel_Librairies()
+ * @model containment="true"
+ * @generated
+ */
+ EList<MeasureLibrary> getLibrairies();
+
+} // SmmModel
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmPackage.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmPackage.java
new file mode 100644
index 000000000..1ac9c25a7
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmPackage.java
@@ -0,0 +1,12494 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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.modisco.omg.smm.SmmFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface SmmPackage extends EPackage {
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "smm";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/MoDisco/SMM/1.0.Beta2/smm";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "smm";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ SmmPackage eINSTANCE = org.eclipse.modisco.omg.smm.impl.SmmPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.SmmElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.SmmElementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getSmmElement()
+ * @generated
+ */
+ int SMM_ELEMENT = 54;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_ELEMENT__ATTRIBUTE = 0;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_ELEMENT__ANNOTATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_ELEMENT__NAME = 2;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_ELEMENT__SHORT_DESCRIPTION = 3;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_ELEMENT__DESCRIPTION = 4;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_ELEMENT__REQUESTED_OBSERVATIONS = 5;
+
+ /**
+ * The number of structural features of the '<em>Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_ELEMENT_FEATURE_COUNT = 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.AbstractMeasureElementImpl <em>Abstract Measure Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.AbstractMeasureElementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAbstractMeasureElement()
+ * @generated
+ */
+ int ABSTRACT_MEASURE_ELEMENT = 0;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_MEASURE_ELEMENT__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_MEASURE_ELEMENT__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_MEASURE_ELEMENT__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_MEASURE_ELEMENT__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_MEASURE_ELEMENT__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_MEASURE_ELEMENT__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Abstract Measure Element</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.AnnotationImpl <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.AnnotationImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAnnotation()
+ * @generated
+ */
+ int ANNOTATION = 1;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Text</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION__TEXT = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Annotation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANNOTATION_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.ArgumentImpl <em>Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ArgumentImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getArgument()
+ * @generated
+ */
+ int ARGUMENT = 2;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Type</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__TYPE = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT__VALUE = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Argument</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ARGUMENT_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.AttributeImpl <em>Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.AttributeImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAttribute()
+ * @generated
+ */
+ int ATTRIBUTE = 3;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Tag</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__TAG = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__VALUE = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Attribute</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl <em>Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasurement()
+ * @generated
+ */
+ int MEASUREMENT = 30;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__ERROR = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__MEASURAND = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__BREAK_VALUE = SMM_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__REFINEMENT_TO = SMM_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__REFINEMENT_FROM = SMM_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__EQUIVALENT_TO = SMM_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__EQUIVALENT_FROM = SMM_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__RECURSIVE_TO = SMM_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__RECURSIVE_FROM = SMM_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT__MEASUREMENT_RELATIONSHIPS = SMM_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The number of structural features of the '<em>Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 10;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl <em>Dimensional Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDimensionalMeasurement()
+ * @generated
+ */
+ int DIMENSIONAL_MEASUREMENT = 20;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__ATTRIBUTE = MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__ANNOTATION = MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__NAME = MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__SHORT_DESCRIPTION = MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__DESCRIPTION = MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__REQUESTED_OBSERVATIONS = MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__ERROR = MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__MEASURAND = MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__BREAK_VALUE = MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__REFINEMENT_TO = MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__REFINEMENT_FROM = MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__EQUIVALENT_TO = MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__EQUIVALENT_FROM = MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__RECURSIVE_TO = MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__RECURSIVE_FROM = MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__MEASUREMENT_RELATIONSHIPS = MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__VALUE = MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM = MEASUREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM = MEASUREMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM = MEASUREMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__RESCALE_TO = MEASUREMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT__RANKING_FROM = MEASUREMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Dimensional Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASUREMENT_FEATURE_COUNT = MEASUREMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.AggregatedMeasurementImpl <em>Aggregated Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.AggregatedMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAggregatedMeasurement()
+ * @generated
+ */
+ int AGGREGATED_MEASUREMENT = 4;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__ATTRIBUTE = DIMENSIONAL_MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__ANNOTATION = DIMENSIONAL_MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__NAME = DIMENSIONAL_MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__SHORT_DESCRIPTION = DIMENSIONAL_MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__DESCRIPTION = DIMENSIONAL_MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__ERROR = DIMENSIONAL_MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__MEASURAND = DIMENSIONAL_MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__BREAK_VALUE = DIMENSIONAL_MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__REFINEMENT_TO = DIMENSIONAL_MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__REFINEMENT_FROM = DIMENSIONAL_MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__EQUIVALENT_TO = DIMENSIONAL_MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__EQUIVALENT_FROM = DIMENSIONAL_MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__RECURSIVE_TO = DIMENSIONAL_MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__RECURSIVE_FROM = DIMENSIONAL_MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__MEASUREMENT_RELATIONSHIPS = DIMENSIONAL_MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__VALUE = DIMENSIONAL_MEASUREMENT__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__BASE_MEASUREMENT_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__BASE_MEASUREMENT1_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__BASE_MEASUREMENT2_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__RESCALE_TO = DIMENSIONAL_MEASUREMENT__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__RANKING_FROM = DIMENSIONAL_MEASUREMENT__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Is Base Suppled</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__IS_BASE_SUPPLED = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT__BASE_MEASUREMENT = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Aggregated Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int AGGREGATED_MEASUREMENT_FEATURE_COUNT = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.SmmRelationship <em>Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.SmmRelationship
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getSmmRelationship()
+ * @generated
+ */
+ int SMM_RELATIONSHIP = 56;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_RELATIONSHIP__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_RELATIONSHIP__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_RELATIONSHIP__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_RELATIONSHIP__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_RELATIONSHIP__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_RELATIONSHIP__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The number of structural features of the '<em>Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_RELATIONSHIP_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.MeasurementRelationshipImpl <em>Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasurementRelationship()
+ * @generated
+ */
+ int MEASUREMENT_RELATIONSHIP = 31;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT_RELATIONSHIP__ATTRIBUTE = SMM_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT_RELATIONSHIP__ANNOTATION = SMM_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT_RELATIONSHIP__NAME = SMM_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = SMM_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT_RELATIONSHIP__DESCRIPTION = SMM_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = SMM_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The number of structural features of the '<em>Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = SMM_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.Base1MeasurementRelationshipImpl <em>Base1 Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.Base1MeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBase1MeasurementRelationship()
+ * @generated
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP = 5;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP__ATTRIBUTE = MEASUREMENT_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP__ANNOTATION = MEASUREMENT_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP__NAME = MEASUREMENT_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP__DESCRIPTION = MEASUREMENT_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP__FROM = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP__TO = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Base1 Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.MeasureRelationshipImpl <em>Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasureRelationship()
+ * @generated
+ */
+ int MEASURE_RELATIONSHIP = 29;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_RELATIONSHIP__ATTRIBUTE = SMM_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_RELATIONSHIP__ANNOTATION = SMM_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_RELATIONSHIP__NAME = SMM_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = SMM_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_RELATIONSHIP__DESCRIPTION = SMM_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = SMM_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_RELATIONSHIP__MEASURAND_QUERY = SMM_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_RELATIONSHIP_FEATURE_COUNT = SMM_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.Base1MeasureRelationshipImpl <em>Base1 Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.Base1MeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBase1MeasureRelationship()
+ * @generated
+ */
+ int BASE1_MEASURE_RELATIONSHIP = 6;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__ATTRIBUTE = MEASURE_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__ANNOTATION = MEASURE_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__NAME = MEASURE_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = MEASURE_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__DESCRIPTION = MEASURE_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__MEASURAND_QUERY = MEASURE_RELATIONSHIP__MEASURAND_QUERY;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__FROM = MEASURE_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP__TO = MEASURE_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Base1 Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE1_MEASURE_RELATIONSHIP_FEATURE_COUNT = MEASURE_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.Base2MeasurementRelationshipImpl <em>Base2 Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.Base2MeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBase2MeasurementRelationship()
+ * @generated
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP = 7;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP__ATTRIBUTE = MEASUREMENT_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP__ANNOTATION = MEASUREMENT_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP__NAME = MEASUREMENT_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP__DESCRIPTION = MEASUREMENT_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP__FROM = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP__TO = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Base2 Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.Base2MeasureRelationshipImpl <em>Base2 Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.Base2MeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBase2MeasureRelationship()
+ * @generated
+ */
+ int BASE2_MEASURE_RELATIONSHIP = 8;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__ATTRIBUTE = MEASURE_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__ANNOTATION = MEASURE_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__NAME = MEASURE_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = MEASURE_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__DESCRIPTION = MEASURE_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__MEASURAND_QUERY = MEASURE_RELATIONSHIP__MEASURAND_QUERY;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__FROM = MEASURE_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP__TO = MEASURE_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Base2 Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE2_MEASURE_RELATIONSHIP_FEATURE_COUNT = MEASURE_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.BaseMeasurementRelationshipImpl <em>Base Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.BaseMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBaseMeasurementRelationship()
+ * @generated
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP = 9;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP__ATTRIBUTE = MEASUREMENT_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP__ANNOTATION = MEASUREMENT_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP__NAME = MEASUREMENT_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP__DESCRIPTION = MEASUREMENT_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP__FROM = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP__TO = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Base Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.BaseMeasureRelationshipImpl <em>Base Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.BaseMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBaseMeasureRelationship()
+ * @generated
+ */
+ int BASE_MEASURE_RELATIONSHIP = 10;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__ATTRIBUTE = MEASURE_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__ANNOTATION = MEASURE_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__NAME = MEASURE_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = MEASURE_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__DESCRIPTION = MEASURE_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__MEASURAND_QUERY = MEASURE_RELATIONSHIP__MEASURAND_QUERY;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__FROM = MEASURE_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP__TO = MEASURE_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Base Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BASE_MEASURE_RELATIONSHIP_FEATURE_COUNT = MEASURE_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl <em>Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasure()
+ * @generated
+ */
+ int MEASURE = 26;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__ATTRIBUTE = ABSTRACT_MEASURE_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__ANNOTATION = ABSTRACT_MEASURE_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__NAME = ABSTRACT_MEASURE_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__SHORT_DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__REQUESTED_OBSERVATIONS = ABSTRACT_MEASURE_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__IN_CATEGORY = ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__CATEGORY = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__TRAIT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__SCOPE = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__MEASURE_LABEL_FORMAT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__REFINEMENT_TO = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__REFINEMENT_FROM = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__EQUIVALENT_TO = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__EQUIVALENT_FROM = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__RECURSIVE_TO = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__RECURSIVE_FROM = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 9;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__MEASUREMENT_LABEL_FORMAT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 10;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__VISIBLE = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 11;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__MEASURE_RELATIONSHIPS = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 12;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE__DEFAULT_QUERY = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 13;
+
+ /**
+ * The number of structural features of the '<em>Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_FEATURE_COUNT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 14;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl <em>Dimensional Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDimensionalMeasure()
+ * @generated
+ */
+ int DIMENSIONAL_MEASURE = 19;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__ATTRIBUTE = MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__ANNOTATION = MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__NAME = MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__SHORT_DESCRIPTION = MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__DESCRIPTION = MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__REQUESTED_OBSERVATIONS = MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__IN_CATEGORY = MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__CATEGORY = MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__TRAIT = MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__SCOPE = MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__MEASURE_LABEL_FORMAT = MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__REFINEMENT_TO = MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__REFINEMENT_FROM = MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__EQUIVALENT_TO = MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__EQUIVALENT_FROM = MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__RECURSIVE_TO = MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__RECURSIVE_FROM = MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__MEASUREMENT_LABEL_FORMAT = MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__VISIBLE = MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__MEASURE_RELATIONSHIPS = MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__DEFAULT_QUERY = MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__UNIT = MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Measure From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__BASE_MEASURE_FROM = MEASURE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM = MEASURE_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM = MEASURE_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__RESCALE_TO = MEASURE_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE__RANKING_FROM = MEASURE_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Dimensional Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIMENSIONAL_MEASURE_FEATURE_COUNT = MEASURE_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasureImpl <em>Binary Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.BinaryMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBinaryMeasure()
+ * @generated
+ */
+ int BINARY_MEASURE = 11;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__ATTRIBUTE = DIMENSIONAL_MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__ANNOTATION = DIMENSIONAL_MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__NAME = DIMENSIONAL_MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__SHORT_DESCRIPTION = DIMENSIONAL_MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__DESCRIPTION = DIMENSIONAL_MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__IN_CATEGORY = DIMENSIONAL_MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__CATEGORY = DIMENSIONAL_MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__TRAIT = DIMENSIONAL_MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__SCOPE = DIMENSIONAL_MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__MEASURE_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__REFINEMENT_TO = DIMENSIONAL_MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__REFINEMENT_FROM = DIMENSIONAL_MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__EQUIVALENT_TO = DIMENSIONAL_MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__EQUIVALENT_FROM = DIMENSIONAL_MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__RECURSIVE_TO = DIMENSIONAL_MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__RECURSIVE_FROM = DIMENSIONAL_MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__MEASUREMENT_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__VISIBLE = DIMENSIONAL_MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__MEASURE_RELATIONSHIPS = DIMENSIONAL_MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__DEFAULT_QUERY = DIMENSIONAL_MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__UNIT = DIMENSIONAL_MEASURE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Base Measure From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__BASE_MEASURE_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__BASE_MEASURE1_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__BASE_MEASURE2_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__RESCALE_TO = DIMENSIONAL_MEASURE__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__RANKING_FROM = DIMENSIONAL_MEASURE__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Functor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__FUNCTOR = DIMENSIONAL_MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__BASE_MEASURE1_TO = DIMENSIONAL_MEASURE_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE__BASE_MEASURE2_TO = DIMENSIONAL_MEASURE_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Binary Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASURE_FEATURE_COUNT = DIMENSIONAL_MEASURE_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasurementImpl <em>Binary Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.BinaryMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBinaryMeasurement()
+ * @generated
+ */
+ int BINARY_MEASUREMENT = 12;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__ATTRIBUTE = DIMENSIONAL_MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__ANNOTATION = DIMENSIONAL_MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__NAME = DIMENSIONAL_MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__SHORT_DESCRIPTION = DIMENSIONAL_MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__DESCRIPTION = DIMENSIONAL_MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__ERROR = DIMENSIONAL_MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__MEASURAND = DIMENSIONAL_MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__BREAK_VALUE = DIMENSIONAL_MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__REFINEMENT_TO = DIMENSIONAL_MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__REFINEMENT_FROM = DIMENSIONAL_MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__EQUIVALENT_TO = DIMENSIONAL_MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__EQUIVALENT_FROM = DIMENSIONAL_MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__RECURSIVE_TO = DIMENSIONAL_MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__RECURSIVE_FROM = DIMENSIONAL_MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__MEASUREMENT_RELATIONSHIPS = DIMENSIONAL_MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__VALUE = DIMENSIONAL_MEASUREMENT__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__BASE_MEASUREMENT_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__BASE_MEASUREMENT1_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__BASE_MEASUREMENT2_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__RESCALE_TO = DIMENSIONAL_MEASUREMENT__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__RANKING_FROM = DIMENSIONAL_MEASUREMENT__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 To</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 To</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT__IS_BASE_SUPPLIED = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Binary Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int BINARY_MEASUREMENT_FEATURE_COUNT = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.CategoryRelationshipImpl <em>Category Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CategoryRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCategoryRelationship()
+ * @generated
+ */
+ int CATEGORY_RELATIONSHIP = 13;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP__ATTRIBUTE = SMM_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP__ANNOTATION = SMM_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP__NAME = SMM_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP__SHORT_DESCRIPTION = SMM_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP__DESCRIPTION = SMM_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP__REQUESTED_OBSERVATIONS = SMM_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP__FROM = SMM_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP__TO = SMM_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Category Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CATEGORY_RELATIONSHIP_FEATURE_COUNT = SMM_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.CharacteristicImpl <em>Characteristic</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CharacteristicImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCharacteristic()
+ * @generated
+ */
+ int CHARACTERISTIC = 14;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC__ATTRIBUTE = ABSTRACT_MEASURE_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC__ANNOTATION = ABSTRACT_MEASURE_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC__NAME = ABSTRACT_MEASURE_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC__SHORT_DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC__DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC__REQUESTED_OBSERVATIONS = ABSTRACT_MEASURE_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC__IN_CATEGORY = ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Parent</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC__PARENT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Characteristic</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CHARACTERISTIC_FEATURE_COUNT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasureImpl <em>Collective Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CollectiveMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCollectiveMeasure()
+ * @generated
+ */
+ int COLLECTIVE_MEASURE = 15;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__ATTRIBUTE = DIMENSIONAL_MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__ANNOTATION = DIMENSIONAL_MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__NAME = DIMENSIONAL_MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__SHORT_DESCRIPTION = DIMENSIONAL_MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__DESCRIPTION = DIMENSIONAL_MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__IN_CATEGORY = DIMENSIONAL_MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__CATEGORY = DIMENSIONAL_MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__TRAIT = DIMENSIONAL_MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__SCOPE = DIMENSIONAL_MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__MEASURE_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__REFINEMENT_TO = DIMENSIONAL_MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__REFINEMENT_FROM = DIMENSIONAL_MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__EQUIVALENT_TO = DIMENSIONAL_MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__EQUIVALENT_FROM = DIMENSIONAL_MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__RECURSIVE_TO = DIMENSIONAL_MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__RECURSIVE_FROM = DIMENSIONAL_MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__MEASUREMENT_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__VISIBLE = DIMENSIONAL_MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__MEASURE_RELATIONSHIPS = DIMENSIONAL_MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__DEFAULT_QUERY = DIMENSIONAL_MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__UNIT = DIMENSIONAL_MEASURE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Base Measure From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__BASE_MEASURE_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__BASE_MEASURE1_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__BASE_MEASURE2_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__RESCALE_TO = DIMENSIONAL_MEASURE__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__RANKING_FROM = DIMENSIONAL_MEASURE__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Accumulator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__ACCUMULATOR = DIMENSIONAL_MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Base Measure To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE__BASE_MEASURE_TO = DIMENSIONAL_MEASURE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Collective Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASURE_FEATURE_COUNT = DIMENSIONAL_MEASURE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasurementImpl <em>Collective Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CollectiveMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCollectiveMeasurement()
+ * @generated
+ */
+ int COLLECTIVE_MEASUREMENT = 16;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__ATTRIBUTE = DIMENSIONAL_MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__ANNOTATION = DIMENSIONAL_MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__NAME = DIMENSIONAL_MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__SHORT_DESCRIPTION = DIMENSIONAL_MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__DESCRIPTION = DIMENSIONAL_MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__ERROR = DIMENSIONAL_MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__MEASURAND = DIMENSIONAL_MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__BREAK_VALUE = DIMENSIONAL_MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__REFINEMENT_TO = DIMENSIONAL_MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__REFINEMENT_FROM = DIMENSIONAL_MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__EQUIVALENT_TO = DIMENSIONAL_MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__EQUIVALENT_FROM = DIMENSIONAL_MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__RECURSIVE_TO = DIMENSIONAL_MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__RECURSIVE_FROM = DIMENSIONAL_MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__MEASUREMENT_RELATIONSHIPS = DIMENSIONAL_MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__VALUE = DIMENSIONAL_MEASUREMENT__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT1_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT2_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__RESCALE_TO = DIMENSIONAL_MEASUREMENT__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__RANKING_FROM = DIMENSIONAL_MEASUREMENT__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Accumulator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__ACCUMULATOR = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__IS_BASE_SUPPLIED = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Collective Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COLLECTIVE_MEASUREMENT_FEATURE_COUNT = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.DirectMeasurementImpl <em>Direct Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.DirectMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDirectMeasurement()
+ * @generated
+ */
+ int DIRECT_MEASUREMENT = 22;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__ATTRIBUTE = DIMENSIONAL_MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__ANNOTATION = DIMENSIONAL_MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__NAME = DIMENSIONAL_MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__SHORT_DESCRIPTION = DIMENSIONAL_MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__DESCRIPTION = DIMENSIONAL_MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__ERROR = DIMENSIONAL_MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__MEASURAND = DIMENSIONAL_MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__BREAK_VALUE = DIMENSIONAL_MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__REFINEMENT_TO = DIMENSIONAL_MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__REFINEMENT_FROM = DIMENSIONAL_MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__EQUIVALENT_TO = DIMENSIONAL_MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__EQUIVALENT_FROM = DIMENSIONAL_MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__RECURSIVE_TO = DIMENSIONAL_MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__RECURSIVE_FROM = DIMENSIONAL_MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__MEASUREMENT_RELATIONSHIPS = DIMENSIONAL_MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__VALUE = DIMENSIONAL_MEASUREMENT__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__BASE_MEASUREMENT_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__BASE_MEASUREMENT1_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__BASE_MEASUREMENT2_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__RESCALE_TO = DIMENSIONAL_MEASUREMENT__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT__RANKING_FROM = DIMENSIONAL_MEASUREMENT__RANKING_FROM;
+
+ /**
+ * The number of structural features of the '<em>Direct Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASUREMENT_FEATURE_COUNT = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.CountImpl <em>Count</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CountImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCount()
+ * @generated
+ */
+ int COUNT = 17;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__ATTRIBUTE = DIRECT_MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__ANNOTATION = DIRECT_MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__NAME = DIRECT_MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__SHORT_DESCRIPTION = DIRECT_MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__DESCRIPTION = DIRECT_MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__REQUESTED_OBSERVATIONS = DIRECT_MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__ERROR = DIRECT_MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__MEASURAND = DIRECT_MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__BREAK_VALUE = DIRECT_MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__REFINEMENT_TO = DIRECT_MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__REFINEMENT_FROM = DIRECT_MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__EQUIVALENT_TO = DIRECT_MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__EQUIVALENT_FROM = DIRECT_MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__RECURSIVE_TO = DIRECT_MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__RECURSIVE_FROM = DIRECT_MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__MEASUREMENT_RELATIONSHIPS = DIRECT_MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__VALUE = DIRECT_MEASUREMENT__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__BASE_MEASUREMENT_FROM = DIRECT_MEASUREMENT__BASE_MEASUREMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__BASE_MEASUREMENT1_FROM = DIRECT_MEASUREMENT__BASE_MEASUREMENT1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__BASE_MEASUREMENT2_FROM = DIRECT_MEASUREMENT__BASE_MEASUREMENT2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__RESCALE_TO = DIRECT_MEASUREMENT__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT__RANKING_FROM = DIRECT_MEASUREMENT__RANKING_FROM;
+
+ /**
+ * The number of structural features of the '<em>Count</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNT_FEATURE_COUNT = DIRECT_MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.DirectMeasureImpl <em>Direct Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.DirectMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDirectMeasure()
+ * @generated
+ */
+ int DIRECT_MEASURE = 21;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__ATTRIBUTE = DIMENSIONAL_MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__ANNOTATION = DIMENSIONAL_MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__NAME = DIMENSIONAL_MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__SHORT_DESCRIPTION = DIMENSIONAL_MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__DESCRIPTION = DIMENSIONAL_MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__IN_CATEGORY = DIMENSIONAL_MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__CATEGORY = DIMENSIONAL_MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__TRAIT = DIMENSIONAL_MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__SCOPE = DIMENSIONAL_MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__MEASURE_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__REFINEMENT_TO = DIMENSIONAL_MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__REFINEMENT_FROM = DIMENSIONAL_MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__EQUIVALENT_TO = DIMENSIONAL_MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__EQUIVALENT_FROM = DIMENSIONAL_MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__RECURSIVE_TO = DIMENSIONAL_MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__RECURSIVE_FROM = DIMENSIONAL_MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__MEASUREMENT_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__VISIBLE = DIMENSIONAL_MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__MEASURE_RELATIONSHIPS = DIMENSIONAL_MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__DEFAULT_QUERY = DIMENSIONAL_MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__UNIT = DIMENSIONAL_MEASURE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Base Measure From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__BASE_MEASURE_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__BASE_MEASURE1_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__BASE_MEASURE2_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__RESCALE_TO = DIMENSIONAL_MEASURE__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__RANKING_FROM = DIMENSIONAL_MEASURE__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE__OPERATION = DIMENSIONAL_MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Direct Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DIRECT_MEASURE_FEATURE_COUNT = DIMENSIONAL_MEASURE_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.CountingImpl <em>Counting</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CountingImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCounting()
+ * @generated
+ */
+ int COUNTING = 18;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__ATTRIBUTE = DIRECT_MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__ANNOTATION = DIRECT_MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__NAME = DIRECT_MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__SHORT_DESCRIPTION = DIRECT_MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__DESCRIPTION = DIRECT_MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__REQUESTED_OBSERVATIONS = DIRECT_MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__IN_CATEGORY = DIRECT_MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__CATEGORY = DIRECT_MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__TRAIT = DIRECT_MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__SCOPE = DIRECT_MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__MEASURE_LABEL_FORMAT = DIRECT_MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__REFINEMENT_TO = DIRECT_MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__REFINEMENT_FROM = DIRECT_MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__EQUIVALENT_TO = DIRECT_MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__EQUIVALENT_FROM = DIRECT_MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__RECURSIVE_TO = DIRECT_MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__RECURSIVE_FROM = DIRECT_MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__MEASUREMENT_LABEL_FORMAT = DIRECT_MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__VISIBLE = DIRECT_MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__MEASURE_RELATIONSHIPS = DIRECT_MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__DEFAULT_QUERY = DIRECT_MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__UNIT = DIRECT_MEASURE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Base Measure From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__BASE_MEASURE_FROM = DIRECT_MEASURE__BASE_MEASURE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__BASE_MEASURE1_FROM = DIRECT_MEASURE__BASE_MEASURE1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__BASE_MEASURE2_FROM = DIRECT_MEASURE__BASE_MEASURE2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__RESCALE_TO = DIRECT_MEASURE__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__RANKING_FROM = DIRECT_MEASURE__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Operation</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING__OPERATION = DIRECT_MEASURE__OPERATION;
+
+ /**
+ * The number of structural features of the '<em>Counting</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COUNTING_FEATURE_COUNT = DIRECT_MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasureRelationshipImpl <em>Equivalent Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.EquivalentMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getEquivalentMeasureRelationship()
+ * @generated
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP = 23;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__ATTRIBUTE = MEASURE_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__ANNOTATION = MEASURE_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__NAME = MEASURE_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = MEASURE_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__DESCRIPTION = MEASURE_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__MEASURAND_QUERY = MEASURE_RELATIONSHIP__MEASURAND_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Mapping</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING = MEASURE_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__FROM = MEASURE_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP__TO = MEASURE_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Equivalent Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASURE_RELATIONSHIP_FEATURE_COUNT = MEASURE_RELATIONSHIP_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasurementRelationshipImpl <em>Equivalent Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.EquivalentMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getEquivalentMeasurementRelationship()
+ * @generated
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP = 24;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP__ATTRIBUTE = MEASUREMENT_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP__ANNOTATION = MEASUREMENT_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP__NAME = MEASUREMENT_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP__DESCRIPTION = MEASUREMENT_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Equivalent Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EQUIVALENT_MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.GradeImpl <em>Grade</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.GradeImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getGrade()
+ * @generated
+ */
+ int GRADE = 25;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__ATTRIBUTE = MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__ANNOTATION = MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__NAME = MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__SHORT_DESCRIPTION = MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__DESCRIPTION = MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__REQUESTED_OBSERVATIONS = MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__ERROR = MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__MEASURAND = MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__BREAK_VALUE = MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__REFINEMENT_TO = MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__REFINEMENT_FROM = MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__EQUIVALENT_TO = MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__EQUIVALENT_FROM = MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__RECURSIVE_TO = MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__RECURSIVE_FROM = MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__MEASUREMENT_RELATIONSHIPS = MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__BASE_MEASUREMENT = MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__IS_BASE_SUPPLIED = MEASUREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__VALUE = MEASUREMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Ranking To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE__RANKING_TO = MEASUREMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Grade</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int GRADE_FEATURE_COUNT = MEASUREMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.MeasureCategoryImpl <em>Measure Category</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasureCategoryImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasureCategory()
+ * @generated
+ */
+ int MEASURE_CATEGORY = 27;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__ATTRIBUTE = ABSTRACT_MEASURE_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__ANNOTATION = ABSTRACT_MEASURE_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__NAME = ABSTRACT_MEASURE_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__SHORT_DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__REQUESTED_OBSERVATIONS = ABSTRACT_MEASURE_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__IN_CATEGORY = ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__CATEGORY = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Category Element</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__CATEGORY_ELEMENT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Category Measure</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY__CATEGORY_MEASURE = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Measure Category</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_CATEGORY_FEATURE_COUNT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.MeasureLibraryImpl <em>Measure Library</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasureLibraryImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasureLibrary()
+ * @generated
+ */
+ int MEASURE_LIBRARY = 28;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measure Elements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY__MEASURE_ELEMENTS = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Category Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Measure Library</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEASURE_LIBRARY_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.NamedMeasureImpl <em>Named Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.NamedMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getNamedMeasure()
+ * @generated
+ */
+ int NAMED_MEASURE = 32;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__ATTRIBUTE = DIMENSIONAL_MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__ANNOTATION = DIMENSIONAL_MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__NAME = DIMENSIONAL_MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__SHORT_DESCRIPTION = DIMENSIONAL_MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__DESCRIPTION = DIMENSIONAL_MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__IN_CATEGORY = DIMENSIONAL_MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__CATEGORY = DIMENSIONAL_MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__TRAIT = DIMENSIONAL_MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__SCOPE = DIMENSIONAL_MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__MEASURE_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__REFINEMENT_TO = DIMENSIONAL_MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__REFINEMENT_FROM = DIMENSIONAL_MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__EQUIVALENT_TO = DIMENSIONAL_MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__EQUIVALENT_FROM = DIMENSIONAL_MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__RECURSIVE_TO = DIMENSIONAL_MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__RECURSIVE_FROM = DIMENSIONAL_MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__MEASUREMENT_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__VISIBLE = DIMENSIONAL_MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__MEASURE_RELATIONSHIPS = DIMENSIONAL_MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__DEFAULT_QUERY = DIMENSIONAL_MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__UNIT = DIMENSIONAL_MEASURE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Base Measure From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__BASE_MEASURE_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__BASE_MEASURE1_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__BASE_MEASURE2_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__RESCALE_TO = DIMENSIONAL_MEASURE__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE__RANKING_FROM = DIMENSIONAL_MEASURE__RANKING_FROM;
+
+ /**
+ * The number of structural features of the '<em>Named Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASURE_FEATURE_COUNT = DIMENSIONAL_MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.NamedMeasurementImpl <em>Named Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.NamedMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getNamedMeasurement()
+ * @generated
+ */
+ int NAMED_MEASUREMENT = 33;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__ATTRIBUTE = DIMENSIONAL_MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__ANNOTATION = DIMENSIONAL_MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__NAME = DIMENSIONAL_MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__SHORT_DESCRIPTION = DIMENSIONAL_MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__DESCRIPTION = DIMENSIONAL_MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__ERROR = DIMENSIONAL_MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__MEASURAND = DIMENSIONAL_MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__BREAK_VALUE = DIMENSIONAL_MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__REFINEMENT_TO = DIMENSIONAL_MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__REFINEMENT_FROM = DIMENSIONAL_MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__EQUIVALENT_TO = DIMENSIONAL_MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__EQUIVALENT_FROM = DIMENSIONAL_MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__RECURSIVE_TO = DIMENSIONAL_MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__RECURSIVE_FROM = DIMENSIONAL_MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__MEASUREMENT_RELATIONSHIPS = DIMENSIONAL_MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__VALUE = DIMENSIONAL_MEASUREMENT__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__BASE_MEASUREMENT_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__BASE_MEASUREMENT1_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__BASE_MEASUREMENT2_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__RESCALE_TO = DIMENSIONAL_MEASUREMENT__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT__RANKING_FROM = DIMENSIONAL_MEASUREMENT__RANKING_FROM;
+
+ /**
+ * The number of structural features of the '<em>Named Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAMED_MEASUREMENT_FEATURE_COUNT = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl <em>Observation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ObservationImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getObservation()
+ * @generated
+ */
+ int OBSERVATION = 34;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Observer</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__OBSERVER = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Tool</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__TOOL = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>When Observed</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__WHEN_OBSERVED = SMM_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Scopes</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__SCOPES = SMM_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Observed Measures</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__OBSERVED_MEASURES = SMM_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Requested Measures</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__REQUESTED_MEASURES = SMM_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__MEASUREMENT_RELATIONS = SMM_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The feature id for the '<em><b>Arguments</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION__ARGUMENTS = SMM_ELEMENT_FEATURE_COUNT + 7;
+
+ /**
+ * The number of structural features of the '<em>Observation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 8;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.ObservationScopeImpl <em>Observation Scope</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ObservationScopeImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getObservationScope()
+ * @generated
+ */
+ int OBSERVATION_SCOPE = 35;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_SCOPE__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_SCOPE__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_SCOPE__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_SCOPE__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_SCOPE__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_SCOPE__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Scope Uri</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_SCOPE__SCOPE_URI = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Observation Scope</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVATION_SCOPE_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.ObservedMeasureImpl <em>Observed Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ObservedMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getObservedMeasure()
+ * @generated
+ */
+ int OBSERVED_MEASURE = 36;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE__ATTRIBUTE = SMM_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE__ANNOTATION = SMM_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE__NAME = SMM_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE__SHORT_DESCRIPTION = SMM_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE__DESCRIPTION = SMM_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE__REQUESTED_OBSERVATIONS = SMM_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measure</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE__MEASURE = SMM_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Measurements</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE__MEASUREMENTS = SMM_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Observed Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OBSERVED_MEASURE_FEATURE_COUNT = SMM_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.OCLOperationImpl <em>OCL Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.OCLOperationImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getOCLOperation()
+ * @generated
+ */
+ int OCL_OPERATION = 37;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__ATTRIBUTE = ABSTRACT_MEASURE_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__ANNOTATION = ABSTRACT_MEASURE_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__NAME = ABSTRACT_MEASURE_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__SHORT_DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__REQUESTED_OBSERVATIONS = ABSTRACT_MEASURE_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__IN_CATEGORY = ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Context</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__CONTEXT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION__BODY = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>OCL Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OCL_OPERATION_FEATURE_COUNT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.OperationImpl <em>Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.OperationImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getOperation()
+ * @generated
+ */
+ int OPERATION = 38;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__ATTRIBUTE = ABSTRACT_MEASURE_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__ANNOTATION = ABSTRACT_MEASURE_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__NAME = ABSTRACT_MEASURE_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__SHORT_DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__REQUESTED_OBSERVATIONS = ABSTRACT_MEASURE_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__IN_CATEGORY = ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Language</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__LANGUAGE = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Body</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION__BODY = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Operation</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int OPERATION_FEATURE_COUNT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RankingImpl <em>Ranking</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RankingImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRanking()
+ * @generated
+ */
+ int RANKING = 39;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__ATTRIBUTE = MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__ANNOTATION = MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__NAME = MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__SHORT_DESCRIPTION = MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__DESCRIPTION = MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__REQUESTED_OBSERVATIONS = MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__IN_CATEGORY = MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__CATEGORY = MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__TRAIT = MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__SCOPE = MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__MEASURE_LABEL_FORMAT = MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__REFINEMENT_TO = MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__REFINEMENT_FROM = MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__EQUIVALENT_TO = MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__EQUIVALENT_FROM = MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__RECURSIVE_TO = MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__RECURSIVE_FROM = MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__MEASUREMENT_LABEL_FORMAT = MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__VISIBLE = MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__MEASURE_RELATIONSHIPS = MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__DEFAULT_QUERY = MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Interval</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__INTERVAL = MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Ranking To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING__RANKING_TO = MEASURE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Ranking</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_FEATURE_COUNT = MEASURE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl <em>Ranking Interval</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRankingInterval()
+ * @generated
+ */
+ int RANKING_INTERVAL = 40;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Rank</b></em>' container reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__RANK = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Maximum Endpoint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__MAXIMUM_ENDPOINT = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Maximum Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__MAXIMUM_OPEN = SMM_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Minimum Endpoint</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__MINIMUM_ENDPOINT = SMM_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The feature id for the '<em><b>Minimum Open</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__MINIMUM_OPEN = SMM_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The feature id for the '<em><b>Symbol</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL__SYMBOL = SMM_ELEMENT_FEATURE_COUNT + 5;
+
+ /**
+ * The number of structural features of the '<em>Ranking Interval</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_INTERVAL_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 6;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RankingMeasureRelationshipImpl <em>Ranking Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RankingMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRankingMeasureRelationship()
+ * @generated
+ */
+ int RANKING_MEASURE_RELATIONSHIP = 41;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__ATTRIBUTE = MEASURE_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__ANNOTATION = MEASURE_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__NAME = MEASURE_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = MEASURE_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__DESCRIPTION = MEASURE_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__MEASURAND_QUERY = MEASURE_RELATIONSHIP__MEASURAND_QUERY;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__FROM = MEASURE_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP__TO = MEASURE_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Ranking Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASURE_RELATIONSHIP_FEATURE_COUNT = MEASURE_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RankingMeasurementRelationshipImpl <em>Ranking Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RankingMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRankingMeasurementRelationship()
+ * @generated
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP = 42;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP__ATTRIBUTE = MEASUREMENT_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP__ANNOTATION = MEASUREMENT_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP__NAME = MEASUREMENT_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP__DESCRIPTION = MEASUREMENT_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP__FROM = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP__TO = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Ranking Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RANKING_MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RatioMeasureImpl <em>Ratio Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RatioMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRatioMeasure()
+ * @generated
+ */
+ int RATIO_MEASURE = 43;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__ATTRIBUTE = BINARY_MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__ANNOTATION = BINARY_MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__NAME = BINARY_MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__SHORT_DESCRIPTION = BINARY_MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__DESCRIPTION = BINARY_MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__REQUESTED_OBSERVATIONS = BINARY_MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__IN_CATEGORY = BINARY_MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__CATEGORY = BINARY_MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__TRAIT = BINARY_MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__SCOPE = BINARY_MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__MEASURE_LABEL_FORMAT = BINARY_MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__REFINEMENT_TO = BINARY_MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__REFINEMENT_FROM = BINARY_MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__EQUIVALENT_TO = BINARY_MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__EQUIVALENT_FROM = BINARY_MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__RECURSIVE_TO = BINARY_MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__RECURSIVE_FROM = BINARY_MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__MEASUREMENT_LABEL_FORMAT = BINARY_MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__VISIBLE = BINARY_MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__MEASURE_RELATIONSHIPS = BINARY_MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__DEFAULT_QUERY = BINARY_MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__UNIT = BINARY_MEASURE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Base Measure From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__BASE_MEASURE_FROM = BINARY_MEASURE__BASE_MEASURE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__BASE_MEASURE1_FROM = BINARY_MEASURE__BASE_MEASURE1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__BASE_MEASURE2_FROM = BINARY_MEASURE__BASE_MEASURE2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__RESCALE_TO = BINARY_MEASURE__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__RANKING_FROM = BINARY_MEASURE__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Functor</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__FUNCTOR = BINARY_MEASURE__FUNCTOR;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__BASE_MEASURE1_TO = BINARY_MEASURE__BASE_MEASURE1_TO;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE__BASE_MEASURE2_TO = BINARY_MEASURE__BASE_MEASURE2_TO;
+
+ /**
+ * The number of structural features of the '<em>Ratio Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASURE_FEATURE_COUNT = BINARY_MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RatioMeasurementImpl <em>Ratio Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RatioMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRatioMeasurement()
+ * @generated
+ */
+ int RATIO_MEASUREMENT = 44;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__ATTRIBUTE = BINARY_MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__ANNOTATION = BINARY_MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__NAME = BINARY_MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__SHORT_DESCRIPTION = BINARY_MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__DESCRIPTION = BINARY_MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__REQUESTED_OBSERVATIONS = BINARY_MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__ERROR = BINARY_MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__MEASURAND = BINARY_MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__BREAK_VALUE = BINARY_MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__REFINEMENT_TO = BINARY_MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__REFINEMENT_FROM = BINARY_MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__EQUIVALENT_TO = BINARY_MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__EQUIVALENT_FROM = BINARY_MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__RECURSIVE_TO = BINARY_MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__RECURSIVE_FROM = BINARY_MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__MEASUREMENT_RELATIONSHIPS = BINARY_MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__VALUE = BINARY_MEASUREMENT__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__BASE_MEASUREMENT_FROM = BINARY_MEASUREMENT__BASE_MEASUREMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__BASE_MEASUREMENT1_FROM = BINARY_MEASUREMENT__BASE_MEASUREMENT1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__BASE_MEASUREMENT2_FROM = BINARY_MEASUREMENT__BASE_MEASUREMENT2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__RESCALE_TO = BINARY_MEASUREMENT__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__RANKING_FROM = BINARY_MEASUREMENT__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 To</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__BASE_MEASUREMENT1_TO = BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 To</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__BASE_MEASUREMENT2_TO = BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO;
+
+ /**
+ * The feature id for the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT__IS_BASE_SUPPLIED = BINARY_MEASUREMENT__IS_BASE_SUPPLIED;
+
+ /**
+ * The number of structural features of the '<em>Ratio Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RATIO_MEASUREMENT_FEATURE_COUNT = BINARY_MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RecursiveMeasureRelationshipImpl <em>Recursive Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RecursiveMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRecursiveMeasureRelationship()
+ * @generated
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP = 45;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__ATTRIBUTE = MEASURE_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__ANNOTATION = MEASURE_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__NAME = MEASURE_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = MEASURE_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__DESCRIPTION = MEASURE_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__MEASURAND_QUERY = MEASURE_RELATIONSHIP__MEASURAND_QUERY;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__FROM = MEASURE_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP__TO = MEASURE_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Recursive Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASURE_RELATIONSHIP_FEATURE_COUNT = MEASURE_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RecursiveMeasurementRelationshipImpl <em>Recursive Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RecursiveMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRecursiveMeasurementRelationship()
+ * @generated
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP = 46;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP__ATTRIBUTE = MEASUREMENT_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP__ANNOTATION = MEASUREMENT_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP__NAME = MEASUREMENT_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP__DESCRIPTION = MEASUREMENT_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP__TO = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Recursive Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RECURSIVE_MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RefinementMeasureRelationshipImpl <em>Refinement Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RefinementMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRefinementMeasureRelationship()
+ * @generated
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP = 47;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__ATTRIBUTE = MEASURE_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__ANNOTATION = MEASURE_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__NAME = MEASURE_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = MEASURE_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__DESCRIPTION = MEASURE_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__MEASURAND_QUERY = MEASURE_RELATIONSHIP__MEASURAND_QUERY;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__FROM = MEASURE_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP__TO = MEASURE_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Refinement Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASURE_RELATIONSHIP_FEATURE_COUNT = MEASURE_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RefinementMeasurementRelationshipImpl <em>Refinement Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RefinementMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRefinementMeasurementRelationship()
+ * @generated
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP = 48;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP__ATTRIBUTE = MEASUREMENT_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP__ANNOTATION = MEASUREMENT_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP__NAME = MEASUREMENT_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP__DESCRIPTION = MEASUREMENT_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP__TO = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Refinement Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int REFINEMENT_MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RescaledMeasureImpl <em>Rescaled Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RescaledMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRescaledMeasure()
+ * @generated
+ */
+ int RESCALED_MEASURE = 49;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__ATTRIBUTE = DIMENSIONAL_MEASURE__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__ANNOTATION = DIMENSIONAL_MEASURE__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__NAME = DIMENSIONAL_MEASURE__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__SHORT_DESCRIPTION = DIMENSIONAL_MEASURE__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__DESCRIPTION = DIMENSIONAL_MEASURE__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASURE__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__IN_CATEGORY = DIMENSIONAL_MEASURE__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__CATEGORY = DIMENSIONAL_MEASURE__CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Trait</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__TRAIT = DIMENSIONAL_MEASURE__TRAIT;
+
+ /**
+ * The feature id for the '<em><b>Scope</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__SCOPE = DIMENSIONAL_MEASURE__SCOPE;
+
+ /**
+ * The feature id for the '<em><b>Measure Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__MEASURE_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASURE_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__REFINEMENT_TO = DIMENSIONAL_MEASURE__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__REFINEMENT_FROM = DIMENSIONAL_MEASURE__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__EQUIVALENT_TO = DIMENSIONAL_MEASURE__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__EQUIVALENT_FROM = DIMENSIONAL_MEASURE__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__RECURSIVE_TO = DIMENSIONAL_MEASURE__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__RECURSIVE_FROM = DIMENSIONAL_MEASURE__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Label Format</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__MEASUREMENT_LABEL_FORMAT = DIMENSIONAL_MEASURE__MEASUREMENT_LABEL_FORMAT;
+
+ /**
+ * The feature id for the '<em><b>Visible</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__VISIBLE = DIMENSIONAL_MEASURE__VISIBLE;
+
+ /**
+ * The feature id for the '<em><b>Measure Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__MEASURE_RELATIONSHIPS = DIMENSIONAL_MEASURE__MEASURE_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Default Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__DEFAULT_QUERY = DIMENSIONAL_MEASURE__DEFAULT_QUERY;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__UNIT = DIMENSIONAL_MEASURE__UNIT;
+
+ /**
+ * The feature id for the '<em><b>Base Measure From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__BASE_MEASURE_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__BASE_MEASURE1_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measure2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__BASE_MEASURE2_FROM = DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__RESCALE_TO = DIMENSIONAL_MEASURE__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__RANKING_FROM = DIMENSIONAL_MEASURE__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Formula</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__FORMULA = DIMENSIONAL_MEASURE_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Rescale From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE__RESCALE_FROM = DIMENSIONAL_MEASURE_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Rescaled Measure</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASURE_FEATURE_COUNT = DIMENSIONAL_MEASURE_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RescaleMeasureRelationshipImpl <em>Rescale Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RescaleMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRescaleMeasureRelationship()
+ * @generated
+ */
+ int RESCALE_MEASURE_RELATIONSHIP = 50;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__ATTRIBUTE = MEASURE_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__ANNOTATION = MEASURE_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__NAME = MEASURE_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__SHORT_DESCRIPTION = MEASURE_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__DESCRIPTION = MEASURE_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASURE_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Measurand Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__MEASURAND_QUERY = MEASURE_RELATIONSHIP__MEASURAND_QUERY;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__TO = MEASURE_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP__FROM = MEASURE_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Rescale Measure Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASURE_RELATIONSHIP_FEATURE_COUNT = MEASURE_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RescaledMeasurementImpl <em>Rescaled Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RescaledMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRescaledMeasurement()
+ * @generated
+ */
+ int RESCALED_MEASUREMENT = 51;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__ATTRIBUTE = DIMENSIONAL_MEASUREMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__ANNOTATION = DIMENSIONAL_MEASUREMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__NAME = DIMENSIONAL_MEASUREMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__SHORT_DESCRIPTION = DIMENSIONAL_MEASUREMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__DESCRIPTION = DIMENSIONAL_MEASUREMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__REQUESTED_OBSERVATIONS = DIMENSIONAL_MEASUREMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Error</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__ERROR = DIMENSIONAL_MEASUREMENT__ERROR;
+
+ /**
+ * The feature id for the '<em><b>Measurand</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__MEASURAND = DIMENSIONAL_MEASUREMENT__MEASURAND;
+
+ /**
+ * The feature id for the '<em><b>Break Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__BREAK_VALUE = DIMENSIONAL_MEASUREMENT__BREAK_VALUE;
+
+ /**
+ * The feature id for the '<em><b>Refinement To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__REFINEMENT_TO = DIMENSIONAL_MEASUREMENT__REFINEMENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Refinement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__REFINEMENT_FROM = DIMENSIONAL_MEASUREMENT__REFINEMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Equivalent To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__EQUIVALENT_TO = DIMENSIONAL_MEASUREMENT__EQUIVALENT_TO;
+
+ /**
+ * The feature id for the '<em><b>Equivalent From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__EQUIVALENT_FROM = DIMENSIONAL_MEASUREMENT__EQUIVALENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Recursive To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__RECURSIVE_TO = DIMENSIONAL_MEASUREMENT__RECURSIVE_TO;
+
+ /**
+ * The feature id for the '<em><b>Recursive From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__RECURSIVE_FROM = DIMENSIONAL_MEASUREMENT__RECURSIVE_FROM;
+
+ /**
+ * The feature id for the '<em><b>Measurement Relationships</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__MEASUREMENT_RELATIONSHIPS = DIMENSIONAL_MEASUREMENT__MEASUREMENT_RELATIONSHIPS;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__VALUE = DIMENSIONAL_MEASUREMENT__VALUE;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__BASE_MEASUREMENT_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement1 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__BASE_MEASUREMENT1_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM;
+
+ /**
+ * The feature id for the '<em><b>Base Measurement2 From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__BASE_MEASUREMENT2_FROM = DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM;
+
+ /**
+ * The feature id for the '<em><b>Rescale To</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__RESCALE_TO = DIMENSIONAL_MEASUREMENT__RESCALE_TO;
+
+ /**
+ * The feature id for the '<em><b>Ranking From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__RANKING_FROM = DIMENSIONAL_MEASUREMENT__RANKING_FROM;
+
+ /**
+ * The feature id for the '<em><b>Is Base Supplied</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__IS_BASE_SUPPLIED = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Rescale From</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT__RESCALE_FROM = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Rescaled Measurement</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALED_MEASUREMENT_FEATURE_COUNT = DIMENSIONAL_MEASUREMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.RescaleMeasurementRelationshipImpl <em>Rescale Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RescaleMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRescaleMeasurementRelationship()
+ * @generated
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP = 52;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP__ATTRIBUTE = MEASUREMENT_RELATIONSHIP__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP__ANNOTATION = MEASUREMENT_RELATIONSHIP__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP__NAME = MEASUREMENT_RELATIONSHIP__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION = MEASUREMENT_RELATIONSHIP__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP__DESCRIPTION = MEASUREMENT_RELATIONSHIP__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS = MEASUREMENT_RELATIONSHIP__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>To</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP__TO = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>From</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP__FROM = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Rescale Measurement Relationship</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RESCALE_MEASUREMENT_RELATIONSHIP_FEATURE_COUNT = MEASUREMENT_RELATIONSHIP_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.ScopeImpl <em>Scope</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ScopeImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getScope()
+ * @generated
+ */
+ int SCOPE = 53;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__ATTRIBUTE = ABSTRACT_MEASURE_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__ANNOTATION = ABSTRACT_MEASURE_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__NAME = ABSTRACT_MEASURE_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__SHORT_DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__DESCRIPTION = ABSTRACT_MEASURE_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__REQUESTED_OBSERVATIONS = ABSTRACT_MEASURE_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>In Category</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__IN_CATEGORY = ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY;
+
+ /**
+ * The feature id for the '<em><b>Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__CLASS = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Elements</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__ELEMENTS = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Recognizer Query</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__RECOGNIZER_QUERY = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The feature id for the '<em><b>Break Condition</b></em>' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE__BREAK_CONDITION = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 3;
+
+ /**
+ * The number of structural features of the '<em>Scope</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SCOPE_FEATURE_COUNT = ABSTRACT_MEASURE_ELEMENT_FEATURE_COUNT + 4;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.impl.SmmModelImpl <em>Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.SmmModelImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getSmmModel()
+ * @generated
+ */
+ int SMM_MODEL = 55;
+
+ /**
+ * The feature id for the '<em><b>Attribute</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL__ATTRIBUTE = SMM_ELEMENT__ATTRIBUTE;
+
+ /**
+ * The feature id for the '<em><b>Annotation</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL__ANNOTATION = SMM_ELEMENT__ANNOTATION;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL__NAME = SMM_ELEMENT__NAME;
+
+ /**
+ * The feature id for the '<em><b>Short Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL__SHORT_DESCRIPTION = SMM_ELEMENT__SHORT_DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Description</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL__DESCRIPTION = SMM_ELEMENT__DESCRIPTION;
+
+ /**
+ * The feature id for the '<em><b>Requested Observations</b></em>' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL__REQUESTED_OBSERVATIONS = SMM_ELEMENT__REQUESTED_OBSERVATIONS;
+
+ /**
+ * The feature id for the '<em><b>Observations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL__OBSERVATIONS = SMM_ELEMENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Librairies</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL__LIBRAIRIES = SMM_ELEMENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Model</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SMM_MODEL_FEATURE_COUNT = SMM_ELEMENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.modisco.omg.smm.Accumulator <em>Accumulator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.Accumulator
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAccumulator()
+ * @generated
+ */
+ int ACCUMULATOR = 57;
+
+ /**
+ * The meta object id for the '<em>Date</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.util.Date
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDate()
+ * @generated
+ */
+ int DATE = 58;
+
+ /**
+ * The meta object id for the '<em>Timestamp</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.sql.Timestamp
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getTimestamp()
+ * @generated
+ */
+ int TIMESTAMP = 59;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.AbstractMeasureElement <em>Abstract Measure Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Abstract Measure Element</em>'.
+ * @see org.eclipse.modisco.omg.smm.AbstractMeasureElement
+ * @generated
+ */
+ EClass getAbstractMeasureElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.AbstractMeasureElement#getInCategory <em>In Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>In Category</em>'.
+ * @see org.eclipse.modisco.omg.smm.AbstractMeasureElement#getInCategory()
+ * @see #getAbstractMeasureElement()
+ * @generated
+ */
+ EReference getAbstractMeasureElement_InCategory();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Annotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Annotation</em>'.
+ * @see org.eclipse.modisco.omg.smm.Annotation
+ * @generated
+ */
+ EClass getAnnotation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Annotation#getText <em>Text</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Text</em>'.
+ * @see org.eclipse.modisco.omg.smm.Annotation#getText()
+ * @see #getAnnotation()
+ * @generated
+ */
+ EAttribute getAnnotation_Text();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Argument <em>Argument</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Argument</em>'.
+ * @see org.eclipse.modisco.omg.smm.Argument
+ * @generated
+ */
+ EClass getArgument();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Argument#getType <em>Type</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Type</em>'.
+ * @see org.eclipse.modisco.omg.smm.Argument#getType()
+ * @see #getArgument()
+ * @generated
+ */
+ EAttribute getArgument_Type();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Argument#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.modisco.omg.smm.Argument#getValue()
+ * @see #getArgument()
+ * @generated
+ */
+ EAttribute getArgument_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Attribute <em>Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attribute</em>'.
+ * @see org.eclipse.modisco.omg.smm.Attribute
+ * @generated
+ */
+ EClass getAttribute();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Attribute#getTag <em>Tag</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tag</em>'.
+ * @see org.eclipse.modisco.omg.smm.Attribute#getTag()
+ * @see #getAttribute()
+ * @generated
+ */
+ EAttribute getAttribute_Tag();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Attribute#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.modisco.omg.smm.Attribute#getValue()
+ * @see #getAttribute()
+ * @generated
+ */
+ EAttribute getAttribute_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.AggregatedMeasurement <em>Aggregated Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Aggregated Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.AggregatedMeasurement
+ * @generated
+ */
+ EClass getAggregatedMeasurement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.AggregatedMeasurement#isIsBaseSuppled <em>Is Base Suppled</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Base Suppled</em>'.
+ * @see org.eclipse.modisco.omg.smm.AggregatedMeasurement#isIsBaseSuppled()
+ * @see #getAggregatedMeasurement()
+ * @generated
+ */
+ EAttribute getAggregatedMeasurement_IsBaseSuppled();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.AggregatedMeasurement#getBaseMeasurement <em>Base Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.AggregatedMeasurement#getBaseMeasurement()
+ * @see #getAggregatedMeasurement()
+ * @generated
+ */
+ EReference getAggregatedMeasurement_BaseMeasurement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship <em>Base1 Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Base1 Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base1MeasurementRelationship
+ * @generated
+ */
+ EClass getBase1MeasurementRelationship();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getFrom()
+ * @see #getBase1MeasurementRelationship()
+ * @generated
+ */
+ EReference getBase1MeasurementRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base1MeasurementRelationship#getTo()
+ * @see #getBase1MeasurementRelationship()
+ * @generated
+ */
+ EReference getBase1MeasurementRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship <em>Base1 Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Base1 Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base1MeasureRelationship
+ * @generated
+ */
+ EClass getBase1MeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getFrom()
+ * @see #getBase1MeasureRelationship()
+ * @generated
+ */
+ EReference getBase1MeasureRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base1MeasureRelationship#getTo()
+ * @see #getBase1MeasureRelationship()
+ * @generated
+ */
+ EReference getBase1MeasureRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship <em>Base2 Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Base2 Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base2MeasurementRelationship
+ * @generated
+ */
+ EClass getBase2MeasurementRelationship();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getFrom()
+ * @see #getBase2MeasurementRelationship()
+ * @generated
+ */
+ EReference getBase2MeasurementRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base2MeasurementRelationship#getTo()
+ * @see #getBase2MeasurementRelationship()
+ * @generated
+ */
+ EReference getBase2MeasurementRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship <em>Base2 Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Base2 Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base2MeasureRelationship
+ * @generated
+ */
+ EClass getBase2MeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getFrom()
+ * @see #getBase2MeasureRelationship()
+ * @generated
+ */
+ EReference getBase2MeasureRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Base2MeasureRelationship#getTo()
+ * @see #getBase2MeasureRelationship()
+ * @generated
+ */
+ EReference getBase2MeasureRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship <em>Base Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Base Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.BaseMeasurementRelationship
+ * @generated
+ */
+ EClass getBaseMeasurementRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getFrom()
+ * @see #getBaseMeasurementRelationship()
+ * @generated
+ */
+ EReference getBaseMeasurementRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.BaseMeasurementRelationship#getTo()
+ * @see #getBaseMeasurementRelationship()
+ * @generated
+ */
+ EReference getBaseMeasurementRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship <em>Base Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Base Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.BaseMeasureRelationship
+ * @generated
+ */
+ EClass getBaseMeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getFrom()
+ * @see #getBaseMeasureRelationship()
+ * @generated
+ */
+ EReference getBaseMeasureRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.BaseMeasureRelationship#getTo()
+ * @see #getBaseMeasureRelationship()
+ * @generated
+ */
+ EReference getBaseMeasureRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.BinaryMeasure <em>Binary Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Binary Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasure
+ * @generated
+ */
+ EClass getBinaryMeasure();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getFunctor <em>Functor</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Functor</em>'.
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasure#getFunctor()
+ * @see #getBinaryMeasure()
+ * @generated
+ */
+ EAttribute getBinaryMeasure_Functor();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure1To <em>Base Measure1 To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Measure1 To</em>'.
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure1To()
+ * @see #getBinaryMeasure()
+ * @generated
+ */
+ EReference getBinaryMeasure_BaseMeasure1To();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure2To <em>Base Measure2 To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Measure2 To</em>'.
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasure#getBaseMeasure2To()
+ * @see #getBinaryMeasure()
+ * @generated
+ */
+ EReference getBinaryMeasure_BaseMeasure2To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement <em>Binary Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Binary Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasurement
+ * @generated
+ */
+ EClass getBinaryMeasurement();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement1To <em>Base Measurement1 To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Base Measurement1 To</em>'.
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement1To()
+ * @see #getBinaryMeasurement()
+ * @generated
+ */
+ EReference getBinaryMeasurement_BaseMeasurement1To();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement2To <em>Base Measurement2 To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Base Measurement2 To</em>'.
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasurement#getBaseMeasurement2To()
+ * @see #getBinaryMeasurement()
+ * @generated
+ */
+ EReference getBinaryMeasurement_BaseMeasurement2To();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Base Supplied</em>'.
+ * @see org.eclipse.modisco.omg.smm.BinaryMeasurement#isIsBaseSupplied()
+ * @see #getBinaryMeasurement()
+ * @generated
+ */
+ EAttribute getBinaryMeasurement_IsBaseSupplied();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.CategoryRelationship <em>Category Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Category Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.CategoryRelationship
+ * @generated
+ */
+ EClass getCategoryRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.CategoryRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.CategoryRelationship#getFrom()
+ * @see #getCategoryRelationship()
+ * @generated
+ */
+ EReference getCategoryRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.CategoryRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.CategoryRelationship#getTo()
+ * @see #getCategoryRelationship()
+ * @generated
+ */
+ EReference getCategoryRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Characteristic <em>Characteristic</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Characteristic</em>'.
+ * @see org.eclipse.modisco.omg.smm.Characteristic
+ * @generated
+ */
+ EClass getCharacteristic();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Characteristic#getParent <em>Parent</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Parent</em>'.
+ * @see org.eclipse.modisco.omg.smm.Characteristic#getParent()
+ * @see #getCharacteristic()
+ * @generated
+ */
+ EReference getCharacteristic_Parent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.CollectiveMeasure <em>Collective Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Collective Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasure
+ * @generated
+ */
+ EClass getCollectiveMeasure();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.CollectiveMeasure#getAccumulator <em>Accumulator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Accumulator</em>'.
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasure#getAccumulator()
+ * @see #getCollectiveMeasure()
+ * @generated
+ */
+ EAttribute getCollectiveMeasure_Accumulator();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.CollectiveMeasure#getBaseMeasureTo <em>Base Measure To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measure To</em>'.
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasure#getBaseMeasureTo()
+ * @see #getCollectiveMeasure()
+ * @generated
+ */
+ EReference getCollectiveMeasure_BaseMeasureTo();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement <em>Collective Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Collective Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasurement
+ * @generated
+ */
+ EClass getCollectiveMeasurement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#getAccumulator <em>Accumulator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Accumulator</em>'.
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasurement#getAccumulator()
+ * @see #getCollectiveMeasurement()
+ * @generated
+ */
+ EAttribute getCollectiveMeasurement_Accumulator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Base Supplied</em>'.
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasurement#isIsBaseSupplied()
+ * @see #getCollectiveMeasurement()
+ * @generated
+ */
+ EAttribute getCollectiveMeasurement_IsBaseSupplied();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement#getBaseMeasurementTo <em>Base Measurement To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measurement To</em>'.
+ * @see org.eclipse.modisco.omg.smm.CollectiveMeasurement#getBaseMeasurementTo()
+ * @see #getCollectiveMeasurement()
+ * @generated
+ */
+ EReference getCollectiveMeasurement_BaseMeasurementTo();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Count <em>Count</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Count</em>'.
+ * @see org.eclipse.modisco.omg.smm.Count
+ * @generated
+ */
+ EClass getCount();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Counting <em>Counting</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Counting</em>'.
+ * @see org.eclipse.modisco.omg.smm.Counting
+ * @generated
+ */
+ EClass getCounting();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure <em>Dimensional Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Dimensional Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure
+ * @generated
+ */
+ EClass getDimensionalMeasure();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getUnit()
+ * @see #getDimensionalMeasure()
+ * @generated
+ */
+ EAttribute getDimensionalMeasure_Unit();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasureFrom <em>Base Measure From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measure From</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasureFrom()
+ * @see #getDimensionalMeasure()
+ * @generated
+ */
+ EReference getDimensionalMeasure_BaseMeasureFrom();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure1From <em>Base Measure1 From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measure1 From</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure1From()
+ * @see #getDimensionalMeasure()
+ * @generated
+ */
+ EReference getDimensionalMeasure_BaseMeasure1From();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure2From <em>Base Measure2 From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measure2 From</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getBaseMeasure2From()
+ * @see #getDimensionalMeasure()
+ * @generated
+ */
+ EReference getDimensionalMeasure_BaseMeasure2From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getRescaleTo <em>Rescale To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Rescale To</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getRescaleTo()
+ * @see #getDimensionalMeasure()
+ * @generated
+ */
+ EReference getDimensionalMeasure_RescaleTo();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure#getRankingFrom <em>Ranking From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Ranking From</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasure#getRankingFrom()
+ * @see #getDimensionalMeasure()
+ * @generated
+ */
+ EReference getDimensionalMeasure_RankingFrom();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement <em>Dimensional Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Dimensional Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement
+ * @generated
+ */
+ EClass getDimensionalMeasurement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getValue()
+ * @see #getDimensionalMeasurement()
+ * @generated
+ */
+ EAttribute getDimensionalMeasurement_Value();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurementFrom <em>Base Measurement From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measurement From</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurementFrom()
+ * @see #getDimensionalMeasurement()
+ * @generated
+ */
+ EReference getDimensionalMeasurement_BaseMeasurementFrom();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement1From <em>Base Measurement1 From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measurement1 From</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement1From()
+ * @see #getDimensionalMeasurement()
+ * @generated
+ */
+ EReference getDimensionalMeasurement_BaseMeasurement1From();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement2From <em>Base Measurement2 From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Base Measurement2 From</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getBaseMeasurement2From()
+ * @see #getDimensionalMeasurement()
+ * @generated
+ */
+ EReference getDimensionalMeasurement_BaseMeasurement2From();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRescaleTo <em>Rescale To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Rescale To</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRescaleTo()
+ * @see #getDimensionalMeasurement()
+ * @generated
+ */
+ EReference getDimensionalMeasurement_RescaleTo();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRankingFrom <em>Ranking From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Ranking From</em>'.
+ * @see org.eclipse.modisco.omg.smm.DimensionalMeasurement#getRankingFrom()
+ * @see #getDimensionalMeasurement()
+ * @generated
+ */
+ EReference getDimensionalMeasurement_RankingFrom();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.DirectMeasure <em>Direct Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Direct Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.DirectMeasure
+ * @generated
+ */
+ EClass getDirectMeasure();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.DirectMeasure#getOperation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Operation</em>'.
+ * @see org.eclipse.modisco.omg.smm.DirectMeasure#getOperation()
+ * @see #getDirectMeasure()
+ * @generated
+ */
+ EReference getDirectMeasure_Operation();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.DirectMeasurement <em>Direct Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Direct Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.DirectMeasurement
+ * @generated
+ */
+ EClass getDirectMeasurement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship <em>Equivalent Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Equivalent Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship
+ * @generated
+ */
+ EClass getEquivalentMeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getMapping <em>Mapping</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Mapping</em>'.
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getMapping()
+ * @see #getEquivalentMeasureRelationship()
+ * @generated
+ */
+ EReference getEquivalentMeasureRelationship_Mapping();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getFrom()
+ * @see #getEquivalentMeasureRelationship()
+ * @generated
+ */
+ EReference getEquivalentMeasureRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship#getTo()
+ * @see #getEquivalentMeasureRelationship()
+ * @generated
+ */
+ EReference getEquivalentMeasureRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship <em>Equivalent Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Equivalent Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship
+ * @generated
+ */
+ EClass getEquivalentMeasurementRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getFrom()
+ * @see #getEquivalentMeasurementRelationship()
+ * @generated
+ */
+ EReference getEquivalentMeasurementRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship#getTo()
+ * @see #getEquivalentMeasurementRelationship()
+ * @generated
+ */
+ EReference getEquivalentMeasurementRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Grade <em>Grade</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Grade</em>'.
+ * @see org.eclipse.modisco.omg.smm.Grade
+ * @generated
+ */
+ EClass getGrade();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Grade#getBaseMeasurement <em>Base Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Base Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.Grade#getBaseMeasurement()
+ * @see #getGrade()
+ * @generated
+ */
+ EReference getGrade_BaseMeasurement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Grade#isIsBaseSupplied <em>Is Base Supplied</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Base Supplied</em>'.
+ * @see org.eclipse.modisco.omg.smm.Grade#isIsBaseSupplied()
+ * @see #getGrade()
+ * @generated
+ */
+ EAttribute getGrade_IsBaseSupplied();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Grade#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.modisco.omg.smm.Grade#getValue()
+ * @see #getGrade()
+ * @generated
+ */
+ EAttribute getGrade_Value();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Grade#getRankingTo <em>Ranking To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Ranking To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Grade#getRankingTo()
+ * @see #getGrade()
+ * @generated
+ */
+ EReference getGrade_RankingTo();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Measure <em>Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure
+ * @generated
+ */
+ EClass getMeasure();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measure#getCategory <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Category</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getCategory()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_Category();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Measure#getTrait <em>Trait</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Trait</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getTrait()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_Trait();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Measure#getScope <em>Scope</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Scope</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getScope()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_Scope();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Measure#getMeasureLabelFormat <em>Measure Label Format</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Measure Label Format</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getMeasureLabelFormat()
+ * @see #getMeasure()
+ * @generated
+ */
+ EAttribute getMeasure_MeasureLabelFormat();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measure#getRefinementTo <em>Refinement To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Refinement To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getRefinementTo()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_RefinementTo();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measure#getRefinementFrom <em>Refinement From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Refinement From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getRefinementFrom()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_RefinementFrom();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measure#getEquivalentTo <em>Equivalent To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Equivalent To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getEquivalentTo()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_EquivalentTo();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measure#getEquivalentFrom <em>Equivalent From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Equivalent From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getEquivalentFrom()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_EquivalentFrom();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Measure#getRecursiveTo <em>Recursive To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Recursive To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getRecursiveTo()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_RecursiveTo();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Measure#getRecursiveFrom <em>Recursive From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Recursive From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getRecursiveFrom()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_RecursiveFrom();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Measure#getMeasurementLabelFormat <em>Measurement Label Format</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Measurement Label Format</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getMeasurementLabelFormat()
+ * @see #getMeasure()
+ * @generated
+ */
+ EAttribute getMeasure_MeasurementLabelFormat();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Measure#isVisible <em>Visible</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Visible</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#isVisible()
+ * @see #getMeasure()
+ * @generated
+ */
+ EAttribute getMeasure_Visible();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.Measure#getMeasureRelationships <em>Measure Relationships</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Measure Relationships</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getMeasureRelationships()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_MeasureRelationships();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Measure#getDefaultQuery <em>Default Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Default Query</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measure#getDefaultQuery()
+ * @see #getMeasure()
+ * @generated
+ */
+ EReference getMeasure_DefaultQuery();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.MeasureCategory <em>Measure Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Measure Category</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureCategory
+ * @generated
+ */
+ EClass getMeasureCategory();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategory <em>Category</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Category</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureCategory#getCategory()
+ * @see #getMeasureCategory()
+ * @generated
+ */
+ EReference getMeasureCategory_Category();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryElement <em>Category Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Category Element</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryElement()
+ * @see #getMeasureCategory()
+ * @generated
+ */
+ EReference getMeasureCategory_CategoryElement();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryMeasure <em>Category Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Category Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureCategory#getCategoryMeasure()
+ * @see #getMeasureCategory()
+ * @generated
+ */
+ EReference getMeasureCategory_CategoryMeasure();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.MeasureLibrary <em>Measure Library</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Measure Library</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureLibrary
+ * @generated
+ */
+ EClass getMeasureLibrary();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.MeasureLibrary#getMeasureElements <em>Measure Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Measure Elements</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureLibrary#getMeasureElements()
+ * @see #getMeasureLibrary()
+ * @generated
+ */
+ EReference getMeasureLibrary_MeasureElements();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.MeasureLibrary#getCategoryRelationships <em>Category Relationships</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Category Relationships</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureLibrary#getCategoryRelationships()
+ * @see #getMeasureLibrary()
+ * @generated
+ */
+ EReference getMeasureLibrary_CategoryRelationships();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.MeasureRelationship <em>Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureRelationship
+ * @generated
+ */
+ EClass getMeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.MeasureRelationship#getMeasurandQuery <em>Measurand Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Measurand Query</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasureRelationship#getMeasurandQuery()
+ * @see #getMeasureRelationship()
+ * @generated
+ */
+ EReference getMeasureRelationship_MeasurandQuery();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Measurement <em>Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement
+ * @generated
+ */
+ EClass getMeasurement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Measurement#getError <em>Error</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Error</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getError()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EAttribute getMeasurement_Error();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Measurement#getMeasurand <em>Measurand</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Measurand</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getMeasurand()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EReference getMeasurement_Measurand();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Measurement#getBreakValue <em>Break Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Break Value</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getBreakValue()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EAttribute getMeasurement_BreakValue();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measurement#getRefinementTo <em>Refinement To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Refinement To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getRefinementTo()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EReference getMeasurement_RefinementTo();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measurement#getRefinementFrom <em>Refinement From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Refinement From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getRefinementFrom()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EReference getMeasurement_RefinementFrom();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measurement#getEquivalentTo <em>Equivalent To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Equivalent To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getEquivalentTo()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EReference getMeasurement_EquivalentTo();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measurement#getEquivalentFrom <em>Equivalent From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Equivalent From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getEquivalentFrom()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EReference getMeasurement_EquivalentFrom();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Measurement#getRecursiveTo <em>Recursive To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Recursive To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getRecursiveTo()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EReference getMeasurement_RecursiveTo();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Measurement#getRecursiveFrom <em>Recursive From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Recursive From</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getRecursiveFrom()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EReference getMeasurement_RecursiveFrom();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.Measurement#getMeasurementRelationships <em>Measurement Relationships</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Measurement Relationships</em>'.
+ * @see org.eclipse.modisco.omg.smm.Measurement#getMeasurementRelationships()
+ * @see #getMeasurement()
+ * @generated
+ */
+ EReference getMeasurement_MeasurementRelationships();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.MeasurementRelationship <em>Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.MeasurementRelationship
+ * @generated
+ */
+ EClass getMeasurementRelationship();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.NamedMeasure <em>Named Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Named Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.NamedMeasure
+ * @generated
+ */
+ EClass getNamedMeasure();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.NamedMeasurement <em>Named Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Named Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.NamedMeasurement
+ * @generated
+ */
+ EClass getNamedMeasurement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Observation <em>Observation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Observation</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation
+ * @generated
+ */
+ EClass getObservation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Observation#getObserver <em>Observer</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Observer</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation#getObserver()
+ * @see #getObservation()
+ * @generated
+ */
+ EAttribute getObservation_Observer();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Observation#getTool <em>Tool</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Tool</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation#getTool()
+ * @see #getObservation()
+ * @generated
+ */
+ EAttribute getObservation_Tool();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Observation#getWhenObserved <em>When Observed</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>When Observed</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation#getWhenObserved()
+ * @see #getObservation()
+ * @generated
+ */
+ EAttribute getObservation_WhenObserved();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.Observation#getScopes <em>Scopes</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Scopes</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation#getScopes()
+ * @see #getObservation()
+ * @generated
+ */
+ EReference getObservation_Scopes();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.Observation#getObservedMeasures <em>Observed Measures</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Observed Measures</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation#getObservedMeasures()
+ * @see #getObservation()
+ * @generated
+ */
+ EReference getObservation_ObservedMeasures();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Observation#getRequestedMeasures <em>Requested Measures</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Requested Measures</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation#getRequestedMeasures()
+ * @see #getObservation()
+ * @generated
+ */
+ EReference getObservation_RequestedMeasures();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.Observation#getMeasurementRelations <em>Measurement Relations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Measurement Relations</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation#getMeasurementRelations()
+ * @see #getObservation()
+ * @generated
+ */
+ EReference getObservation_MeasurementRelations();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.Observation#getArguments <em>Arguments</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Arguments</em>'.
+ * @see org.eclipse.modisco.omg.smm.Observation#getArguments()
+ * @see #getObservation()
+ * @generated
+ */
+ EReference getObservation_Arguments();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.ObservationScope <em>Observation Scope</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Observation Scope</em>'.
+ * @see org.eclipse.modisco.omg.smm.ObservationScope
+ * @generated
+ */
+ EClass getObservationScope();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.ObservationScope#getScopeUri <em>Scope Uri</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Scope Uri</em>'.
+ * @see org.eclipse.modisco.omg.smm.ObservationScope#getScopeUri()
+ * @see #getObservationScope()
+ * @generated
+ */
+ EAttribute getObservationScope_ScopeUri();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.ObservedMeasure <em>Observed Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Observed Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.ObservedMeasure
+ * @generated
+ */
+ EClass getObservedMeasure();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.ObservedMeasure#getMeasure <em>Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.ObservedMeasure#getMeasure()
+ * @see #getObservedMeasure()
+ * @generated
+ */
+ EReference getObservedMeasure_Measure();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.ObservedMeasure#getMeasurements <em>Measurements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Measurements</em>'.
+ * @see org.eclipse.modisco.omg.smm.ObservedMeasure#getMeasurements()
+ * @see #getObservedMeasure()
+ * @generated
+ */
+ EReference getObservedMeasure_Measurements();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.OCLOperation <em>OCL Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>OCL Operation</em>'.
+ * @see org.eclipse.modisco.omg.smm.OCLOperation
+ * @generated
+ */
+ EClass getOCLOperation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.OCLOperation#getContext <em>Context</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Context</em>'.
+ * @see org.eclipse.modisco.omg.smm.OCLOperation#getContext()
+ * @see #getOCLOperation()
+ * @generated
+ */
+ EAttribute getOCLOperation_Context();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.OCLOperation#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Body</em>'.
+ * @see org.eclipse.modisco.omg.smm.OCLOperation#getBody()
+ * @see #getOCLOperation()
+ * @generated
+ */
+ EAttribute getOCLOperation_Body();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Operation <em>Operation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Operation</em>'.
+ * @see org.eclipse.modisco.omg.smm.Operation
+ * @generated
+ */
+ EClass getOperation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Operation#getLanguage <em>Language</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Language</em>'.
+ * @see org.eclipse.modisco.omg.smm.Operation#getLanguage()
+ * @see #getOperation()
+ * @generated
+ */
+ EAttribute getOperation_Language();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Operation#getBody <em>Body</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Body</em>'.
+ * @see org.eclipse.modisco.omg.smm.Operation#getBody()
+ * @see #getOperation()
+ * @generated
+ */
+ EAttribute getOperation_Body();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Ranking <em>Ranking</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ranking</em>'.
+ * @see org.eclipse.modisco.omg.smm.Ranking
+ * @generated
+ */
+ EClass getRanking();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.Ranking#getInterval <em>Interval</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Interval</em>'.
+ * @see org.eclipse.modisco.omg.smm.Ranking#getInterval()
+ * @see #getRanking()
+ * @generated
+ */
+ EReference getRanking_Interval();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Ranking#getRankingTo <em>Ranking To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Ranking To</em>'.
+ * @see org.eclipse.modisco.omg.smm.Ranking#getRankingTo()
+ * @see #getRanking()
+ * @generated
+ */
+ EReference getRanking_RankingTo();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RankingInterval <em>Ranking Interval</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ranking Interval</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingInterval
+ * @generated
+ */
+ EClass getRankingInterval();
+
+ /**
+ * Returns the meta object for the container reference '{@link org.eclipse.modisco.omg.smm.RankingInterval#getRank <em>Rank</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the container reference '<em>Rank</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingInterval#getRank()
+ * @see #getRankingInterval()
+ * @generated
+ */
+ EReference getRankingInterval_Rank();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.RankingInterval#getMaximumEndpoint <em>Maximum Endpoint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Maximum Endpoint</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingInterval#getMaximumEndpoint()
+ * @see #getRankingInterval()
+ * @generated
+ */
+ EAttribute getRankingInterval_MaximumEndpoint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.RankingInterval#isMaximumOpen <em>Maximum Open</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Maximum Open</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingInterval#isMaximumOpen()
+ * @see #getRankingInterval()
+ * @generated
+ */
+ EAttribute getRankingInterval_MaximumOpen();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.RankingInterval#getMinimumEndpoint <em>Minimum Endpoint</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Minimum Endpoint</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingInterval#getMinimumEndpoint()
+ * @see #getRankingInterval()
+ * @generated
+ */
+ EAttribute getRankingInterval_MinimumEndpoint();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.RankingInterval#isMinimumOpen <em>Minimum Open</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Minimum Open</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingInterval#isMinimumOpen()
+ * @see #getRankingInterval()
+ * @generated
+ */
+ EAttribute getRankingInterval_MinimumOpen();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.RankingInterval#getSymbol <em>Symbol</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Symbol</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingInterval#getSymbol()
+ * @see #getRankingInterval()
+ * @generated
+ */
+ EAttribute getRankingInterval_Symbol();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship <em>Ranking Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ranking Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingMeasureRelationship
+ * @generated
+ */
+ EClass getRankingMeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getFrom()
+ * @see #getRankingMeasureRelationship()
+ * @generated
+ */
+ EReference getRankingMeasureRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingMeasureRelationship#getTo()
+ * @see #getRankingMeasureRelationship()
+ * @generated
+ */
+ EReference getRankingMeasureRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship <em>Ranking Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ranking Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingMeasurementRelationship
+ * @generated
+ */
+ EClass getRankingMeasurementRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getFrom()
+ * @see #getRankingMeasurementRelationship()
+ * @generated
+ */
+ EReference getRankingMeasurementRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.RankingMeasurementRelationship#getTo()
+ * @see #getRankingMeasurementRelationship()
+ * @generated
+ */
+ EReference getRankingMeasurementRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RatioMeasure <em>Ratio Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ratio Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.RatioMeasure
+ * @generated
+ */
+ EClass getRatioMeasure();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RatioMeasurement <em>Ratio Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ratio Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.RatioMeasurement
+ * @generated
+ */
+ EClass getRatioMeasurement();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship <em>Recursive Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Recursive Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship
+ * @generated
+ */
+ EClass getRecursiveMeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getFrom()
+ * @see #getRecursiveMeasureRelationship()
+ * @generated
+ */
+ EReference getRecursiveMeasureRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship#getTo()
+ * @see #getRecursiveMeasureRelationship()
+ * @generated
+ */
+ EReference getRecursiveMeasureRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship <em>Recursive Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Recursive Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship
+ * @generated
+ */
+ EClass getRecursiveMeasurementRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getFrom()
+ * @see #getRecursiveMeasurementRelationship()
+ * @generated
+ */
+ EReference getRecursiveMeasurementRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship#getTo()
+ * @see #getRecursiveMeasurementRelationship()
+ * @generated
+ */
+ EReference getRecursiveMeasurementRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship <em>Refinement Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Refinement Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasureRelationship
+ * @generated
+ */
+ EClass getRefinementMeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getFrom()
+ * @see #getRefinementMeasureRelationship()
+ * @generated
+ */
+ EReference getRefinementMeasureRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasureRelationship#getTo()
+ * @see #getRefinementMeasureRelationship()
+ * @generated
+ */
+ EReference getRefinementMeasureRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship <em>Refinement Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Refinement Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship
+ * @generated
+ */
+ EClass getRefinementMeasurementRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getFrom()
+ * @see #getRefinementMeasurementRelationship()
+ * @generated
+ */
+ EReference getRefinementMeasurementRelationship_From();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship#getTo()
+ * @see #getRefinementMeasurementRelationship()
+ * @generated
+ */
+ EReference getRefinementMeasurementRelationship_To();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RescaledMeasure <em>Rescaled Measure</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rescaled Measure</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaledMeasure
+ * @generated
+ */
+ EClass getRescaledMeasure();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.RescaledMeasure#getFormula <em>Formula</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Formula</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaledMeasure#getFormula()
+ * @see #getRescaledMeasure()
+ * @generated
+ */
+ EAttribute getRescaledMeasure_Formula();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.RescaledMeasure#getRescaleFrom <em>Rescale From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Rescale From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaledMeasure#getRescaleFrom()
+ * @see #getRescaledMeasure()
+ * @generated
+ */
+ EReference getRescaledMeasure_RescaleFrom();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship <em>Rescale Measure Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rescale Measure Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasureRelationship
+ * @generated
+ */
+ EClass getRescaleMeasureRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getTo()
+ * @see #getRescaleMeasureRelationship()
+ * @generated
+ */
+ EReference getRescaleMeasureRelationship_To();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasureRelationship#getFrom()
+ * @see #getRescaleMeasureRelationship()
+ * @generated
+ */
+ EReference getRescaleMeasureRelationship_From();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RescaledMeasurement <em>Rescaled Measurement</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rescaled Measurement</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaledMeasurement
+ * @generated
+ */
+ EClass getRescaledMeasurement();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.RescaledMeasurement#isIsBaseSupplied <em>Is Base Supplied</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Is Base Supplied</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaledMeasurement#isIsBaseSupplied()
+ * @see #getRescaledMeasurement()
+ * @generated
+ */
+ EAttribute getRescaledMeasurement_IsBaseSupplied();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.RescaledMeasurement#getRescaleFrom <em>Rescale From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Rescale From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaledMeasurement#getRescaleFrom()
+ * @see #getRescaledMeasurement()
+ * @generated
+ */
+ EReference getRescaledMeasurement_RescaleFrom();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship <em>Rescale Measurement Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Rescale Measurement Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship
+ * @generated
+ */
+ EClass getRescaleMeasurementRelationship();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getTo <em>To</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>To</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getTo()
+ * @see #getRescaleMeasurementRelationship()
+ * @generated
+ */
+ EReference getRescaleMeasurementRelationship_To();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getFrom <em>From</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>From</em>'.
+ * @see org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship#getFrom()
+ * @see #getRescaleMeasurementRelationship()
+ * @generated
+ */
+ EReference getRescaleMeasurementRelationship_From();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.Scope <em>Scope</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Scope</em>'.
+ * @see org.eclipse.modisco.omg.smm.Scope
+ * @generated
+ */
+ EClass getScope();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.Scope#getClass_ <em>Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class</em>'.
+ * @see org.eclipse.modisco.omg.smm.Scope#getClass_()
+ * @see #getScope()
+ * @generated
+ */
+ EAttribute getScope_Class();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.Scope#getElements <em>Elements</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Elements</em>'.
+ * @see org.eclipse.modisco.omg.smm.Scope#getElements()
+ * @see #getScope()
+ * @generated
+ */
+ EReference getScope_Elements();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Scope#getRecognizerQuery <em>Recognizer Query</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Recognizer Query</em>'.
+ * @see org.eclipse.modisco.omg.smm.Scope#getRecognizerQuery()
+ * @see #getScope()
+ * @generated
+ */
+ EReference getScope_RecognizerQuery();
+
+ /**
+ * Returns the meta object for the reference '{@link org.eclipse.modisco.omg.smm.Scope#getBreakCondition <em>Break Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference '<em>Break Condition</em>'.
+ * @see org.eclipse.modisco.omg.smm.Scope#getBreakCondition()
+ * @see #getScope()
+ * @generated
+ */
+ EReference getScope_BreakCondition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.SmmElement <em>Element</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Element</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmElement
+ * @generated
+ */
+ EClass getSmmElement();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.SmmElement#getAttribute <em>Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Attribute</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmElement#getAttribute()
+ * @see #getSmmElement()
+ * @generated
+ */
+ EReference getSmmElement_Attribute();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.SmmElement#getAnnotation <em>Annotation</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Annotation</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmElement#getAnnotation()
+ * @see #getSmmElement()
+ * @generated
+ */
+ EReference getSmmElement_Annotation();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.SmmElement#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmElement#getName()
+ * @see #getSmmElement()
+ * @generated
+ */
+ EAttribute getSmmElement_Name();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.SmmElement#getShortDescription <em>Short Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Short Description</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmElement#getShortDescription()
+ * @see #getSmmElement()
+ * @generated
+ */
+ EAttribute getSmmElement_ShortDescription();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.modisco.omg.smm.SmmElement#getDescription <em>Description</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Description</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmElement#getDescription()
+ * @see #getSmmElement()
+ * @generated
+ */
+ EAttribute getSmmElement_Description();
+
+ /**
+ * Returns the meta object for the reference list '{@link org.eclipse.modisco.omg.smm.SmmElement#getRequestedObservations <em>Requested Observations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the reference list '<em>Requested Observations</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmElement#getRequestedObservations()
+ * @see #getSmmElement()
+ * @generated
+ */
+ EReference getSmmElement_RequestedObservations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.SmmModel <em>Model</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Model</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmModel
+ * @generated
+ */
+ EClass getSmmModel();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.SmmModel#getObservations <em>Observations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Observations</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmModel#getObservations()
+ * @see #getSmmModel()
+ * @generated
+ */
+ EReference getSmmModel_Observations();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.modisco.omg.smm.SmmModel#getLibrairies <em>Librairies</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Librairies</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmModel#getLibrairies()
+ * @see #getSmmModel()
+ * @generated
+ */
+ EReference getSmmModel_Librairies();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.modisco.omg.smm.SmmRelationship <em>Relationship</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Relationship</em>'.
+ * @see org.eclipse.modisco.omg.smm.SmmRelationship
+ * @generated
+ */
+ EClass getSmmRelationship();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.modisco.omg.smm.Accumulator <em>Accumulator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>Accumulator</em>'.
+ * @see org.eclipse.modisco.omg.smm.Accumulator
+ * @generated
+ */
+ EEnum getAccumulator();
+
+ /**
+ * Returns the meta object for data type '{@link java.util.Date <em>Date</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Date</em>'.
+ * @see java.util.Date
+ * @model instanceClass="java.util.Date"
+ * @generated
+ */
+ EDataType getDate();
+
+ /**
+ * Returns the meta object for data type '{@link java.sql.Timestamp <em>Timestamp</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for data type '<em>Timestamp</em>'.
+ * @see java.sql.Timestamp
+ * @model instanceClass="java.sql.Timestamp"
+ * @generated
+ */
+ EDataType getTimestamp();
+
+ /**
+ * 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
+ */
+ SmmFactory getSmmFactory();
+
+ /**
+ * <!-- 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.modisco.omg.smm.impl.AbstractMeasureElementImpl <em>Abstract Measure Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.AbstractMeasureElementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAbstractMeasureElement()
+ * @generated
+ */
+ EClass ABSTRACT_MEASURE_ELEMENT = eINSTANCE.getAbstractMeasureElement();
+
+ /**
+ * The meta object literal for the '<em><b>In Category</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY = eINSTANCE.getAbstractMeasureElement_InCategory();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.AnnotationImpl <em>Annotation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.AnnotationImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAnnotation()
+ * @generated
+ */
+ EClass ANNOTATION = eINSTANCE.getAnnotation();
+
+ /**
+ * The meta object literal for the '<em><b>Text</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANNOTATION__TEXT = eINSTANCE.getAnnotation_Text();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.ArgumentImpl <em>Argument</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ArgumentImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getArgument()
+ * @generated
+ */
+ EClass ARGUMENT = eINSTANCE.getArgument();
+
+ /**
+ * The meta object literal for the '<em><b>Type</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ARGUMENT__TYPE = eINSTANCE.getArgument_Type();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ARGUMENT__VALUE = eINSTANCE.getArgument_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.AttributeImpl <em>Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.AttributeImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAttribute()
+ * @generated
+ */
+ EClass ATTRIBUTE = eINSTANCE.getAttribute();
+
+ /**
+ * The meta object literal for the '<em><b>Tag</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE__TAG = eINSTANCE.getAttribute_Tag();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE__VALUE = eINSTANCE.getAttribute_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.AggregatedMeasurementImpl <em>Aggregated Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.AggregatedMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAggregatedMeasurement()
+ * @generated
+ */
+ EClass AGGREGATED_MEASUREMENT = eINSTANCE.getAggregatedMeasurement();
+
+ /**
+ * The meta object literal for the '<em><b>Is Base Suppled</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute AGGREGATED_MEASUREMENT__IS_BASE_SUPPLED = eINSTANCE.getAggregatedMeasurement_IsBaseSuppled();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measurement</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference AGGREGATED_MEASUREMENT__BASE_MEASUREMENT = eINSTANCE.getAggregatedMeasurement_BaseMeasurement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.Base1MeasurementRelationshipImpl <em>Base1 Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.Base1MeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBase1MeasurementRelationship()
+ * @generated
+ */
+ EClass BASE1_MEASUREMENT_RELATIONSHIP = eINSTANCE.getBase1MeasurementRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE1_MEASUREMENT_RELATIONSHIP__FROM = eINSTANCE.getBase1MeasurementRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE1_MEASUREMENT_RELATIONSHIP__TO = eINSTANCE.getBase1MeasurementRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.Base1MeasureRelationshipImpl <em>Base1 Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.Base1MeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBase1MeasureRelationship()
+ * @generated
+ */
+ EClass BASE1_MEASURE_RELATIONSHIP = eINSTANCE.getBase1MeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE1_MEASURE_RELATIONSHIP__FROM = eINSTANCE.getBase1MeasureRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE1_MEASURE_RELATIONSHIP__TO = eINSTANCE.getBase1MeasureRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.Base2MeasurementRelationshipImpl <em>Base2 Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.Base2MeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBase2MeasurementRelationship()
+ * @generated
+ */
+ EClass BASE2_MEASUREMENT_RELATIONSHIP = eINSTANCE.getBase2MeasurementRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE2_MEASUREMENT_RELATIONSHIP__FROM = eINSTANCE.getBase2MeasurementRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE2_MEASUREMENT_RELATIONSHIP__TO = eINSTANCE.getBase2MeasurementRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.Base2MeasureRelationshipImpl <em>Base2 Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.Base2MeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBase2MeasureRelationship()
+ * @generated
+ */
+ EClass BASE2_MEASURE_RELATIONSHIP = eINSTANCE.getBase2MeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE2_MEASURE_RELATIONSHIP__FROM = eINSTANCE.getBase2MeasureRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE2_MEASURE_RELATIONSHIP__TO = eINSTANCE.getBase2MeasureRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.BaseMeasurementRelationshipImpl <em>Base Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.BaseMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBaseMeasurementRelationship()
+ * @generated
+ */
+ EClass BASE_MEASUREMENT_RELATIONSHIP = eINSTANCE.getBaseMeasurementRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE_MEASUREMENT_RELATIONSHIP__FROM = eINSTANCE.getBaseMeasurementRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE_MEASUREMENT_RELATIONSHIP__TO = eINSTANCE.getBaseMeasurementRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.BaseMeasureRelationshipImpl <em>Base Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.BaseMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBaseMeasureRelationship()
+ * @generated
+ */
+ EClass BASE_MEASURE_RELATIONSHIP = eINSTANCE.getBaseMeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE_MEASURE_RELATIONSHIP__FROM = eINSTANCE.getBaseMeasureRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BASE_MEASURE_RELATIONSHIP__TO = eINSTANCE.getBaseMeasureRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasureImpl <em>Binary Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.BinaryMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBinaryMeasure()
+ * @generated
+ */
+ EClass BINARY_MEASURE = eINSTANCE.getBinaryMeasure();
+
+ /**
+ * The meta object literal for the '<em><b>Functor</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BINARY_MEASURE__FUNCTOR = eINSTANCE.getBinaryMeasure_Functor();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measure1 To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BINARY_MEASURE__BASE_MEASURE1_TO = eINSTANCE.getBinaryMeasure_BaseMeasure1To();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measure2 To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BINARY_MEASURE__BASE_MEASURE2_TO = eINSTANCE.getBinaryMeasure_BaseMeasure2To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasurementImpl <em>Binary Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.BinaryMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getBinaryMeasurement()
+ * @generated
+ */
+ EClass BINARY_MEASUREMENT = eINSTANCE.getBinaryMeasurement();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measurement1 To</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO = eINSTANCE.getBinaryMeasurement_BaseMeasurement1To();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measurement2 To</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO = eINSTANCE.getBinaryMeasurement_BaseMeasurement2To();
+
+ /**
+ * The meta object literal for the '<em><b>Is Base Supplied</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute BINARY_MEASUREMENT__IS_BASE_SUPPLIED = eINSTANCE.getBinaryMeasurement_IsBaseSupplied();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.CategoryRelationshipImpl <em>Category Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CategoryRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCategoryRelationship()
+ * @generated
+ */
+ EClass CATEGORY_RELATIONSHIP = eINSTANCE.getCategoryRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CATEGORY_RELATIONSHIP__FROM = eINSTANCE.getCategoryRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CATEGORY_RELATIONSHIP__TO = eINSTANCE.getCategoryRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.CharacteristicImpl <em>Characteristic</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CharacteristicImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCharacteristic()
+ * @generated
+ */
+ EClass CHARACTERISTIC = eINSTANCE.getCharacteristic();
+
+ /**
+ * The meta object literal for the '<em><b>Parent</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference CHARACTERISTIC__PARENT = eINSTANCE.getCharacteristic_Parent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasureImpl <em>Collective Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CollectiveMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCollectiveMeasure()
+ * @generated
+ */
+ EClass COLLECTIVE_MEASURE = eINSTANCE.getCollectiveMeasure();
+
+ /**
+ * The meta object literal for the '<em><b>Accumulator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLLECTIVE_MEASURE__ACCUMULATOR = eINSTANCE.getCollectiveMeasure_Accumulator();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measure To</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COLLECTIVE_MEASURE__BASE_MEASURE_TO = eINSTANCE.getCollectiveMeasure_BaseMeasureTo();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasurementImpl <em>Collective Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CollectiveMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCollectiveMeasurement()
+ * @generated
+ */
+ EClass COLLECTIVE_MEASUREMENT = eINSTANCE.getCollectiveMeasurement();
+
+ /**
+ * The meta object literal for the '<em><b>Accumulator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLLECTIVE_MEASUREMENT__ACCUMULATOR = eINSTANCE.getCollectiveMeasurement_Accumulator();
+
+ /**
+ * The meta object literal for the '<em><b>Is Base Supplied</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COLLECTIVE_MEASUREMENT__IS_BASE_SUPPLIED = eINSTANCE.getCollectiveMeasurement_IsBaseSupplied();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measurement To</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO = eINSTANCE.getCollectiveMeasurement_BaseMeasurementTo();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.CountImpl <em>Count</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CountImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCount()
+ * @generated
+ */
+ EClass COUNT = eINSTANCE.getCount();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.CountingImpl <em>Counting</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.CountingImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getCounting()
+ * @generated
+ */
+ EClass COUNTING = eINSTANCE.getCounting();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl <em>Dimensional Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDimensionalMeasure()
+ * @generated
+ */
+ EClass DIMENSIONAL_MEASURE = eINSTANCE.getDimensionalMeasure();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DIMENSIONAL_MEASURE__UNIT = eINSTANCE.getDimensionalMeasure_Unit();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measure From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASURE__BASE_MEASURE_FROM = eINSTANCE.getDimensionalMeasure_BaseMeasureFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measure1 From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM = eINSTANCE.getDimensionalMeasure_BaseMeasure1From();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measure2 From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM = eINSTANCE.getDimensionalMeasure_BaseMeasure2From();
+
+ /**
+ * The meta object literal for the '<em><b>Rescale To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASURE__RESCALE_TO = eINSTANCE.getDimensionalMeasure_RescaleTo();
+
+ /**
+ * The meta object literal for the '<em><b>Ranking From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASURE__RANKING_FROM = eINSTANCE.getDimensionalMeasure_RankingFrom();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl <em>Dimensional Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDimensionalMeasurement()
+ * @generated
+ */
+ EClass DIMENSIONAL_MEASUREMENT = eINSTANCE.getDimensionalMeasurement();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DIMENSIONAL_MEASUREMENT__VALUE = eINSTANCE.getDimensionalMeasurement_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measurement From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM = eINSTANCE.getDimensionalMeasurement_BaseMeasurementFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measurement1 From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM = eINSTANCE.getDimensionalMeasurement_BaseMeasurement1From();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measurement2 From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM = eINSTANCE.getDimensionalMeasurement_BaseMeasurement2From();
+
+ /**
+ * The meta object literal for the '<em><b>Rescale To</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASUREMENT__RESCALE_TO = eINSTANCE.getDimensionalMeasurement_RescaleTo();
+
+ /**
+ * The meta object literal for the '<em><b>Ranking From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIMENSIONAL_MEASUREMENT__RANKING_FROM = eINSTANCE.getDimensionalMeasurement_RankingFrom();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.DirectMeasureImpl <em>Direct Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.DirectMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDirectMeasure()
+ * @generated
+ */
+ EClass DIRECT_MEASURE = eINSTANCE.getDirectMeasure();
+
+ /**
+ * The meta object literal for the '<em><b>Operation</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DIRECT_MEASURE__OPERATION = eINSTANCE.getDirectMeasure_Operation();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.DirectMeasurementImpl <em>Direct Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.DirectMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDirectMeasurement()
+ * @generated
+ */
+ EClass DIRECT_MEASUREMENT = eINSTANCE.getDirectMeasurement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasureRelationshipImpl <em>Equivalent Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.EquivalentMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getEquivalentMeasureRelationship()
+ * @generated
+ */
+ EClass EQUIVALENT_MEASURE_RELATIONSHIP = eINSTANCE.getEquivalentMeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>Mapping</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING = eINSTANCE.getEquivalentMeasureRelationship_Mapping();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EQUIVALENT_MEASURE_RELATIONSHIP__FROM = eINSTANCE.getEquivalentMeasureRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EQUIVALENT_MEASURE_RELATIONSHIP__TO = eINSTANCE.getEquivalentMeasureRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasurementRelationshipImpl <em>Equivalent Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.EquivalentMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getEquivalentMeasurementRelationship()
+ * @generated
+ */
+ EClass EQUIVALENT_MEASUREMENT_RELATIONSHIP = eINSTANCE.getEquivalentMeasurementRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM = eINSTANCE.getEquivalentMeasurementRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO = eINSTANCE.getEquivalentMeasurementRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.GradeImpl <em>Grade</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.GradeImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getGrade()
+ * @generated
+ */
+ EClass GRADE = eINSTANCE.getGrade();
+
+ /**
+ * The meta object literal for the '<em><b>Base Measurement</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GRADE__BASE_MEASUREMENT = eINSTANCE.getGrade_BaseMeasurement();
+
+ /**
+ * The meta object literal for the '<em><b>Is Base Supplied</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GRADE__IS_BASE_SUPPLIED = eINSTANCE.getGrade_IsBaseSupplied();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute GRADE__VALUE = eINSTANCE.getGrade_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Ranking To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference GRADE__RANKING_TO = eINSTANCE.getGrade_RankingTo();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl <em>Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasure()
+ * @generated
+ */
+ EClass MEASURE = eINSTANCE.getMeasure();
+
+ /**
+ * The meta object literal for the '<em><b>Category</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__CATEGORY = eINSTANCE.getMeasure_Category();
+
+ /**
+ * The meta object literal for the '<em><b>Trait</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__TRAIT = eINSTANCE.getMeasure_Trait();
+
+ /**
+ * The meta object literal for the '<em><b>Scope</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__SCOPE = eINSTANCE.getMeasure_Scope();
+
+ /**
+ * The meta object literal for the '<em><b>Measure Label Format</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MEASURE__MEASURE_LABEL_FORMAT = eINSTANCE.getMeasure_MeasureLabelFormat();
+
+ /**
+ * The meta object literal for the '<em><b>Refinement To</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__REFINEMENT_TO = eINSTANCE.getMeasure_RefinementTo();
+
+ /**
+ * The meta object literal for the '<em><b>Refinement From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__REFINEMENT_FROM = eINSTANCE.getMeasure_RefinementFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Equivalent To</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__EQUIVALENT_TO = eINSTANCE.getMeasure_EquivalentTo();
+
+ /**
+ * The meta object literal for the '<em><b>Equivalent From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__EQUIVALENT_FROM = eINSTANCE.getMeasure_EquivalentFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Recursive To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__RECURSIVE_TO = eINSTANCE.getMeasure_RecursiveTo();
+
+ /**
+ * The meta object literal for the '<em><b>Recursive From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__RECURSIVE_FROM = eINSTANCE.getMeasure_RecursiveFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Measurement Label Format</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MEASURE__MEASUREMENT_LABEL_FORMAT = eINSTANCE.getMeasure_MeasurementLabelFormat();
+
+ /**
+ * The meta object literal for the '<em><b>Visible</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MEASURE__VISIBLE = eINSTANCE.getMeasure_Visible();
+
+ /**
+ * The meta object literal for the '<em><b>Measure Relationships</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__MEASURE_RELATIONSHIPS = eINSTANCE.getMeasure_MeasureRelationships();
+
+ /**
+ * The meta object literal for the '<em><b>Default Query</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE__DEFAULT_QUERY = eINSTANCE.getMeasure_DefaultQuery();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.MeasureCategoryImpl <em>Measure Category</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasureCategoryImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasureCategory()
+ * @generated
+ */
+ EClass MEASURE_CATEGORY = eINSTANCE.getMeasureCategory();
+
+ /**
+ * The meta object literal for the '<em><b>Category</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE_CATEGORY__CATEGORY = eINSTANCE.getMeasureCategory_Category();
+
+ /**
+ * The meta object literal for the '<em><b>Category Element</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE_CATEGORY__CATEGORY_ELEMENT = eINSTANCE.getMeasureCategory_CategoryElement();
+
+ /**
+ * The meta object literal for the '<em><b>Category Measure</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE_CATEGORY__CATEGORY_MEASURE = eINSTANCE.getMeasureCategory_CategoryMeasure();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.MeasureLibraryImpl <em>Measure Library</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasureLibraryImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasureLibrary()
+ * @generated
+ */
+ EClass MEASURE_LIBRARY = eINSTANCE.getMeasureLibrary();
+
+ /**
+ * The meta object literal for the '<em><b>Measure Elements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE_LIBRARY__MEASURE_ELEMENTS = eINSTANCE.getMeasureLibrary_MeasureElements();
+
+ /**
+ * The meta object literal for the '<em><b>Category Relationships</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS = eINSTANCE.getMeasureLibrary_CategoryRelationships();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.MeasureRelationshipImpl <em>Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasureRelationship()
+ * @generated
+ */
+ EClass MEASURE_RELATIONSHIP = eINSTANCE.getMeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>Measurand Query</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASURE_RELATIONSHIP__MEASURAND_QUERY = eINSTANCE.getMeasureRelationship_MeasurandQuery();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl <em>Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasurement()
+ * @generated
+ */
+ EClass MEASUREMENT = eINSTANCE.getMeasurement();
+
+ /**
+ * The meta object literal for the '<em><b>Error</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MEASUREMENT__ERROR = eINSTANCE.getMeasurement_Error();
+
+ /**
+ * The meta object literal for the '<em><b>Measurand</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASUREMENT__MEASURAND = eINSTANCE.getMeasurement_Measurand();
+
+ /**
+ * The meta object literal for the '<em><b>Break Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MEASUREMENT__BREAK_VALUE = eINSTANCE.getMeasurement_BreakValue();
+
+ /**
+ * The meta object literal for the '<em><b>Refinement To</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASUREMENT__REFINEMENT_TO = eINSTANCE.getMeasurement_RefinementTo();
+
+ /**
+ * The meta object literal for the '<em><b>Refinement From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASUREMENT__REFINEMENT_FROM = eINSTANCE.getMeasurement_RefinementFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Equivalent To</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASUREMENT__EQUIVALENT_TO = eINSTANCE.getMeasurement_EquivalentTo();
+
+ /**
+ * The meta object literal for the '<em><b>Equivalent From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASUREMENT__EQUIVALENT_FROM = eINSTANCE.getMeasurement_EquivalentFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Recursive To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASUREMENT__RECURSIVE_TO = eINSTANCE.getMeasurement_RecursiveTo();
+
+ /**
+ * The meta object literal for the '<em><b>Recursive From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASUREMENT__RECURSIVE_FROM = eINSTANCE.getMeasurement_RecursiveFrom();
+
+ /**
+ * The meta object literal for the '<em><b>Measurement Relationships</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEASUREMENT__MEASUREMENT_RELATIONSHIPS = eINSTANCE.getMeasurement_MeasurementRelationships();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.MeasurementRelationshipImpl <em>Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.MeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getMeasurementRelationship()
+ * @generated
+ */
+ EClass MEASUREMENT_RELATIONSHIP = eINSTANCE.getMeasurementRelationship();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.NamedMeasureImpl <em>Named Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.NamedMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getNamedMeasure()
+ * @generated
+ */
+ EClass NAMED_MEASURE = eINSTANCE.getNamedMeasure();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.NamedMeasurementImpl <em>Named Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.NamedMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getNamedMeasurement()
+ * @generated
+ */
+ EClass NAMED_MEASUREMENT = eINSTANCE.getNamedMeasurement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl <em>Observation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ObservationImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getObservation()
+ * @generated
+ */
+ EClass OBSERVATION = eINSTANCE.getObservation();
+
+ /**
+ * The meta object literal for the '<em><b>Observer</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OBSERVATION__OBSERVER = eINSTANCE.getObservation_Observer();
+
+ /**
+ * The meta object literal for the '<em><b>Tool</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OBSERVATION__TOOL = eINSTANCE.getObservation_Tool();
+
+ /**
+ * The meta object literal for the '<em><b>When Observed</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OBSERVATION__WHEN_OBSERVED = eINSTANCE.getObservation_WhenObserved();
+
+ /**
+ * The meta object literal for the '<em><b>Scopes</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBSERVATION__SCOPES = eINSTANCE.getObservation_Scopes();
+
+ /**
+ * The meta object literal for the '<em><b>Observed Measures</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBSERVATION__OBSERVED_MEASURES = eINSTANCE.getObservation_ObservedMeasures();
+
+ /**
+ * The meta object literal for the '<em><b>Requested Measures</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBSERVATION__REQUESTED_MEASURES = eINSTANCE.getObservation_RequestedMeasures();
+
+ /**
+ * The meta object literal for the '<em><b>Measurement Relations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBSERVATION__MEASUREMENT_RELATIONS = eINSTANCE.getObservation_MeasurementRelations();
+
+ /**
+ * The meta object literal for the '<em><b>Arguments</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBSERVATION__ARGUMENTS = eINSTANCE.getObservation_Arguments();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.ObservationScopeImpl <em>Observation Scope</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ObservationScopeImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getObservationScope()
+ * @generated
+ */
+ EClass OBSERVATION_SCOPE = eINSTANCE.getObservationScope();
+
+ /**
+ * The meta object literal for the '<em><b>Scope Uri</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OBSERVATION_SCOPE__SCOPE_URI = eINSTANCE.getObservationScope_ScopeUri();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.ObservedMeasureImpl <em>Observed Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ObservedMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getObservedMeasure()
+ * @generated
+ */
+ EClass OBSERVED_MEASURE = eINSTANCE.getObservedMeasure();
+
+ /**
+ * The meta object literal for the '<em><b>Measure</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBSERVED_MEASURE__MEASURE = eINSTANCE.getObservedMeasure_Measure();
+
+ /**
+ * The meta object literal for the '<em><b>Measurements</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference OBSERVED_MEASURE__MEASUREMENTS = eINSTANCE.getObservedMeasure_Measurements();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.OCLOperationImpl <em>OCL Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.OCLOperationImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getOCLOperation()
+ * @generated
+ */
+ EClass OCL_OPERATION = eINSTANCE.getOCLOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Context</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OCL_OPERATION__CONTEXT = eINSTANCE.getOCLOperation_Context();
+
+ /**
+ * The meta object literal for the '<em><b>Body</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OCL_OPERATION__BODY = eINSTANCE.getOCLOperation_Body();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.OperationImpl <em>Operation</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.OperationImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getOperation()
+ * @generated
+ */
+ EClass OPERATION = eINSTANCE.getOperation();
+
+ /**
+ * The meta object literal for the '<em><b>Language</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPERATION__LANGUAGE = eINSTANCE.getOperation_Language();
+
+ /**
+ * The meta object literal for the '<em><b>Body</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute OPERATION__BODY = eINSTANCE.getOperation_Body();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RankingImpl <em>Ranking</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RankingImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRanking()
+ * @generated
+ */
+ EClass RANKING = eINSTANCE.getRanking();
+
+ /**
+ * The meta object literal for the '<em><b>Interval</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RANKING__INTERVAL = eINSTANCE.getRanking_Interval();
+
+ /**
+ * The meta object literal for the '<em><b>Ranking To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RANKING__RANKING_TO = eINSTANCE.getRanking_RankingTo();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl <em>Ranking Interval</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRankingInterval()
+ * @generated
+ */
+ EClass RANKING_INTERVAL = eINSTANCE.getRankingInterval();
+
+ /**
+ * The meta object literal for the '<em><b>Rank</b></em>' container reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RANKING_INTERVAL__RANK = eINSTANCE.getRankingInterval_Rank();
+
+ /**
+ * The meta object literal for the '<em><b>Maximum Endpoint</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANKING_INTERVAL__MAXIMUM_ENDPOINT = eINSTANCE.getRankingInterval_MaximumEndpoint();
+
+ /**
+ * The meta object literal for the '<em><b>Maximum Open</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANKING_INTERVAL__MAXIMUM_OPEN = eINSTANCE.getRankingInterval_MaximumOpen();
+
+ /**
+ * The meta object literal for the '<em><b>Minimum Endpoint</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANKING_INTERVAL__MINIMUM_ENDPOINT = eINSTANCE.getRankingInterval_MinimumEndpoint();
+
+ /**
+ * The meta object literal for the '<em><b>Minimum Open</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANKING_INTERVAL__MINIMUM_OPEN = eINSTANCE.getRankingInterval_MinimumOpen();
+
+ /**
+ * The meta object literal for the '<em><b>Symbol</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RANKING_INTERVAL__SYMBOL = eINSTANCE.getRankingInterval_Symbol();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RankingMeasureRelationshipImpl <em>Ranking Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RankingMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRankingMeasureRelationship()
+ * @generated
+ */
+ EClass RANKING_MEASURE_RELATIONSHIP = eINSTANCE.getRankingMeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RANKING_MEASURE_RELATIONSHIP__FROM = eINSTANCE.getRankingMeasureRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RANKING_MEASURE_RELATIONSHIP__TO = eINSTANCE.getRankingMeasureRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RankingMeasurementRelationshipImpl <em>Ranking Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RankingMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRankingMeasurementRelationship()
+ * @generated
+ */
+ EClass RANKING_MEASUREMENT_RELATIONSHIP = eINSTANCE.getRankingMeasurementRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RANKING_MEASUREMENT_RELATIONSHIP__FROM = eINSTANCE.getRankingMeasurementRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RANKING_MEASUREMENT_RELATIONSHIP__TO = eINSTANCE.getRankingMeasurementRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RatioMeasureImpl <em>Ratio Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RatioMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRatioMeasure()
+ * @generated
+ */
+ EClass RATIO_MEASURE = eINSTANCE.getRatioMeasure();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RatioMeasurementImpl <em>Ratio Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RatioMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRatioMeasurement()
+ * @generated
+ */
+ EClass RATIO_MEASUREMENT = eINSTANCE.getRatioMeasurement();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RecursiveMeasureRelationshipImpl <em>Recursive Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RecursiveMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRecursiveMeasureRelationship()
+ * @generated
+ */
+ EClass RECURSIVE_MEASURE_RELATIONSHIP = eINSTANCE.getRecursiveMeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RECURSIVE_MEASURE_RELATIONSHIP__FROM = eINSTANCE.getRecursiveMeasureRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RECURSIVE_MEASURE_RELATIONSHIP__TO = eINSTANCE.getRecursiveMeasureRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RecursiveMeasurementRelationshipImpl <em>Recursive Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RecursiveMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRecursiveMeasurementRelationship()
+ * @generated
+ */
+ EClass RECURSIVE_MEASUREMENT_RELATIONSHIP = eINSTANCE.getRecursiveMeasurementRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM = eINSTANCE.getRecursiveMeasurementRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RECURSIVE_MEASUREMENT_RELATIONSHIP__TO = eINSTANCE.getRecursiveMeasurementRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RefinementMeasureRelationshipImpl <em>Refinement Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RefinementMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRefinementMeasureRelationship()
+ * @generated
+ */
+ EClass REFINEMENT_MEASURE_RELATIONSHIP = eINSTANCE.getRefinementMeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFINEMENT_MEASURE_RELATIONSHIP__FROM = eINSTANCE.getRefinementMeasureRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFINEMENT_MEASURE_RELATIONSHIP__TO = eINSTANCE.getRefinementMeasureRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RefinementMeasurementRelationshipImpl <em>Refinement Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RefinementMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRefinementMeasurementRelationship()
+ * @generated
+ */
+ EClass REFINEMENT_MEASUREMENT_RELATIONSHIP = eINSTANCE.getRefinementMeasurementRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM = eINSTANCE.getRefinementMeasurementRelationship_From();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference REFINEMENT_MEASUREMENT_RELATIONSHIP__TO = eINSTANCE.getRefinementMeasurementRelationship_To();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RescaledMeasureImpl <em>Rescaled Measure</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RescaledMeasureImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRescaledMeasure()
+ * @generated
+ */
+ EClass RESCALED_MEASURE = eINSTANCE.getRescaledMeasure();
+
+ /**
+ * The meta object literal for the '<em><b>Formula</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RESCALED_MEASURE__FORMULA = eINSTANCE.getRescaledMeasure_Formula();
+
+ /**
+ * The meta object literal for the '<em><b>Rescale From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RESCALED_MEASURE__RESCALE_FROM = eINSTANCE.getRescaledMeasure_RescaleFrom();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RescaleMeasureRelationshipImpl <em>Rescale Measure Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RescaleMeasureRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRescaleMeasureRelationship()
+ * @generated
+ */
+ EClass RESCALE_MEASURE_RELATIONSHIP = eINSTANCE.getRescaleMeasureRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RESCALE_MEASURE_RELATIONSHIP__TO = eINSTANCE.getRescaleMeasureRelationship_To();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RESCALE_MEASURE_RELATIONSHIP__FROM = eINSTANCE.getRescaleMeasureRelationship_From();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RescaledMeasurementImpl <em>Rescaled Measurement</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RescaledMeasurementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRescaledMeasurement()
+ * @generated
+ */
+ EClass RESCALED_MEASUREMENT = eINSTANCE.getRescaledMeasurement();
+
+ /**
+ * The meta object literal for the '<em><b>Is Base Supplied</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute RESCALED_MEASUREMENT__IS_BASE_SUPPLIED = eINSTANCE.getRescaledMeasurement_IsBaseSupplied();
+
+ /**
+ * The meta object literal for the '<em><b>Rescale From</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RESCALED_MEASUREMENT__RESCALE_FROM = eINSTANCE.getRescaledMeasurement_RescaleFrom();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.RescaleMeasurementRelationshipImpl <em>Rescale Measurement Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.RescaleMeasurementRelationshipImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getRescaleMeasurementRelationship()
+ * @generated
+ */
+ EClass RESCALE_MEASUREMENT_RELATIONSHIP = eINSTANCE.getRescaleMeasurementRelationship();
+
+ /**
+ * The meta object literal for the '<em><b>To</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RESCALE_MEASUREMENT_RELATIONSHIP__TO = eINSTANCE.getRescaleMeasurementRelationship_To();
+
+ /**
+ * The meta object literal for the '<em><b>From</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RESCALE_MEASUREMENT_RELATIONSHIP__FROM = eINSTANCE.getRescaleMeasurementRelationship_From();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.ScopeImpl <em>Scope</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.ScopeImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getScope()
+ * @generated
+ */
+ EClass SCOPE = eINSTANCE.getScope();
+
+ /**
+ * The meta object literal for the '<em><b>Class</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SCOPE__CLASS = eINSTANCE.getScope_Class();
+
+ /**
+ * The meta object literal for the '<em><b>Elements</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SCOPE__ELEMENTS = eINSTANCE.getScope_Elements();
+
+ /**
+ * The meta object literal for the '<em><b>Recognizer Query</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SCOPE__RECOGNIZER_QUERY = eINSTANCE.getScope_RecognizerQuery();
+
+ /**
+ * The meta object literal for the '<em><b>Break Condition</b></em>' reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SCOPE__BREAK_CONDITION = eINSTANCE.getScope_BreakCondition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.SmmElementImpl <em>Element</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.SmmElementImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getSmmElement()
+ * @generated
+ */
+ EClass SMM_ELEMENT = eINSTANCE.getSmmElement();
+
+ /**
+ * The meta object literal for the '<em><b>Attribute</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SMM_ELEMENT__ATTRIBUTE = eINSTANCE.getSmmElement_Attribute();
+
+ /**
+ * The meta object literal for the '<em><b>Annotation</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SMM_ELEMENT__ANNOTATION = eINSTANCE.getSmmElement_Annotation();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SMM_ELEMENT__NAME = eINSTANCE.getSmmElement_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Short Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SMM_ELEMENT__SHORT_DESCRIPTION = eINSTANCE.getSmmElement_ShortDescription();
+
+ /**
+ * The meta object literal for the '<em><b>Description</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SMM_ELEMENT__DESCRIPTION = eINSTANCE.getSmmElement_Description();
+
+ /**
+ * The meta object literal for the '<em><b>Requested Observations</b></em>' reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SMM_ELEMENT__REQUESTED_OBSERVATIONS = eINSTANCE.getSmmElement_RequestedObservations();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.impl.SmmModelImpl <em>Model</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.impl.SmmModelImpl
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getSmmModel()
+ * @generated
+ */
+ EClass SMM_MODEL = eINSTANCE.getSmmModel();
+
+ /**
+ * The meta object literal for the '<em><b>Observations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SMM_MODEL__OBSERVATIONS = eINSTANCE.getSmmModel_Observations();
+
+ /**
+ * The meta object literal for the '<em><b>Librairies</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SMM_MODEL__LIBRAIRIES = eINSTANCE.getSmmModel_Librairies();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.SmmRelationship <em>Relationship</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.SmmRelationship
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getSmmRelationship()
+ * @generated
+ */
+ EClass SMM_RELATIONSHIP = eINSTANCE.getSmmRelationship();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.modisco.omg.smm.Accumulator <em>Accumulator</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.modisco.omg.smm.Accumulator
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getAccumulator()
+ * @generated
+ */
+ EEnum ACCUMULATOR = eINSTANCE.getAccumulator();
+
+ /**
+ * The meta object literal for the '<em>Date</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.util.Date
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getDate()
+ * @generated
+ */
+ EDataType DATE = eINSTANCE.getDate();
+
+ /**
+ * The meta object literal for the '<em>Timestamp</em>' data type.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see java.sql.Timestamp
+ * @see org.eclipse.modisco.omg.smm.impl.SmmPackageImpl#getTimestamp()
+ * @generated
+ */
+ EDataType TIMESTAMP = eINSTANCE.getTimestamp();
+
+ }
+
+} //SmmPackage
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmRelationship.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmRelationship.java
new file mode 100644
index 000000000..d5c9e8827
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/SmmRelationship.java
@@ -0,0 +1,41 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.modisco.omg.smm.SmmPackage#getSmmRelationship()
+ * @model interface="true" abstract="true"
+ * @generated
+ */
+public interface SmmRelationship extends SmmElement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ SmmElement getTo();
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @model kind="operation" required="true"
+ * @generated
+ */
+ SmmElement getFrom();
+
+} // SmmRelationship
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AbstractMeasureElementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AbstractMeasureElementImpl.java
new file mode 100644
index 000000000..1c58eb508
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AbstractMeasureElementImpl.java
@@ -0,0 +1,140 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.modisco.omg.smm.AbstractMeasureElement;
+import org.eclipse.modisco.omg.smm.CategoryRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Abstract Measure Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.AbstractMeasureElementImpl#getInCategory <em>In Category</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class AbstractMeasureElementImpl extends SmmElementImpl implements AbstractMeasureElement {
+ /**
+ * The cached value of the '{@link #getInCategory() <em>In Category</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInCategory()
+ * @generated
+ * @ordered
+ */
+ protected EList<CategoryRelationship> inCategory;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AbstractMeasureElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.ABSTRACT_MEASURE_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CategoryRelationship> getInCategory() {
+ if (inCategory == null) {
+ inCategory = new EObjectResolvingEList<CategoryRelationship>(CategoryRelationship.class, this, SmmPackage.ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY);
+ }
+ return inCategory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY:
+ return getInCategory();
+ }
+ 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 SmmPackage.ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY:
+ getInCategory().clear();
+ getInCategory().addAll((Collection<? extends CategoryRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY:
+ getInCategory().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY:
+ return inCategory != null && !inCategory.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //AbstractMeasureElementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AggregatedMeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AggregatedMeasurementImpl.java
new file mode 100644
index 000000000..c597c72dd
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AggregatedMeasurementImpl.java
@@ -0,0 +1,212 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.modisco.omg.smm.AggregatedMeasurement;
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Aggregated Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.AggregatedMeasurementImpl#isIsBaseSuppled <em>Is Base Suppled</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.AggregatedMeasurementImpl#getBaseMeasurement <em>Base Measurement</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AggregatedMeasurementImpl extends DimensionalMeasurementImpl implements AggregatedMeasurement {
+ /**
+ * The default value of the '{@link #isIsBaseSuppled() <em>Is Base Suppled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSuppled()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BASE_SUPPLED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBaseSuppled() <em>Is Base Suppled</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSuppled()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBaseSuppled = IS_BASE_SUPPLED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasurement() <em>Base Measurement</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasurement()
+ * @generated
+ * @ordered
+ */
+ protected EList<DimensionalMeasurement> baseMeasurement;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AggregatedMeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.AGGREGATED_MEASUREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBaseSuppled() {
+ return isBaseSuppled;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBaseSuppled(boolean newIsBaseSuppled) {
+ boolean oldIsBaseSuppled = isBaseSuppled;
+ isBaseSuppled = newIsBaseSuppled;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.AGGREGATED_MEASUREMENT__IS_BASE_SUPPLED, oldIsBaseSuppled, isBaseSuppled));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<DimensionalMeasurement> getBaseMeasurement() {
+ if (baseMeasurement == null) {
+ baseMeasurement = new EObjectResolvingEList<DimensionalMeasurement>(DimensionalMeasurement.class, this, SmmPackage.AGGREGATED_MEASUREMENT__BASE_MEASUREMENT);
+ }
+ return baseMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.AGGREGATED_MEASUREMENT__IS_BASE_SUPPLED:
+ return isIsBaseSuppled();
+ case SmmPackage.AGGREGATED_MEASUREMENT__BASE_MEASUREMENT:
+ return getBaseMeasurement();
+ }
+ 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 SmmPackage.AGGREGATED_MEASUREMENT__IS_BASE_SUPPLED:
+ setIsBaseSuppled((Boolean)newValue);
+ return;
+ case SmmPackage.AGGREGATED_MEASUREMENT__BASE_MEASUREMENT:
+ getBaseMeasurement().clear();
+ getBaseMeasurement().addAll((Collection<? extends DimensionalMeasurement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.AGGREGATED_MEASUREMENT__IS_BASE_SUPPLED:
+ setIsBaseSuppled(IS_BASE_SUPPLED_EDEFAULT);
+ return;
+ case SmmPackage.AGGREGATED_MEASUREMENT__BASE_MEASUREMENT:
+ getBaseMeasurement().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.AGGREGATED_MEASUREMENT__IS_BASE_SUPPLED:
+ return isBaseSuppled != IS_BASE_SUPPLED_EDEFAULT;
+ case SmmPackage.AGGREGATED_MEASUREMENT__BASE_MEASUREMENT:
+ return baseMeasurement != null && !baseMeasurement.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isBaseSuppled: ");
+ result.append(isBaseSuppled);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AggregatedMeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AnnotationImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AnnotationImpl.java
new file mode 100644
index 000000000..54fcc57c0
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AnnotationImpl.java
@@ -0,0 +1,170 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Annotation;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Annotation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.AnnotationImpl#getText <em>Text</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AnnotationImpl extends SmmElementImpl implements Annotation {
+ /**
+ * The default value of the '{@link #getText() <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getText()
+ * @generated
+ * @ordered
+ */
+ protected static final String TEXT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getText() <em>Text</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getText()
+ * @generated
+ * @ordered
+ */
+ protected String text = TEXT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AnnotationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.ANNOTATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getText() {
+ return text;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setText(String newText) {
+ String oldText = text;
+ text = newText;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.ANNOTATION__TEXT, oldText, text));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.ANNOTATION__TEXT:
+ return getText();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.ANNOTATION__TEXT:
+ setText((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.ANNOTATION__TEXT:
+ setText(TEXT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.ANNOTATION__TEXT:
+ return TEXT_EDEFAULT == null ? text != null : !TEXT_EDEFAULT.equals(text);
+ }
+ 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(" (text: ");
+ result.append(text);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AnnotationImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ArgumentImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ArgumentImpl.java
new file mode 100644
index 000000000..2a4b6e360
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ArgumentImpl.java
@@ -0,0 +1,224 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Argument;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Argument</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ArgumentImpl#getType <em>Type</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ArgumentImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ArgumentImpl extends SmmElementImpl implements Argument {
+ /**
+ * The default value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected static final String TYPE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getType() <em>Type</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getType()
+ * @generated
+ * @ordered
+ */
+ protected String type = TYPE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ArgumentImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.ARGUMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getType() {
+ return type;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setType(String newType) {
+ String oldType = type;
+ type = newType;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.ARGUMENT__TYPE, oldType, type));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.ARGUMENT__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.ARGUMENT__TYPE:
+ return getType();
+ case SmmPackage.ARGUMENT__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.ARGUMENT__TYPE:
+ setType((String)newValue);
+ return;
+ case SmmPackage.ARGUMENT__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.ARGUMENT__TYPE:
+ setType(TYPE_EDEFAULT);
+ return;
+ case SmmPackage.ARGUMENT__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.ARGUMENT__TYPE:
+ return TYPE_EDEFAULT == null ? type != null : !TYPE_EDEFAULT.equals(type);
+ case SmmPackage.ARGUMENT__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (type: ");
+ result.append(type);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ArgumentImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AttributeImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AttributeImpl.java
new file mode 100644
index 000000000..3c6095360
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/AttributeImpl.java
@@ -0,0 +1,224 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Attribute;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.AttributeImpl#getTag <em>Tag</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.AttributeImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributeImpl extends SmmElementImpl implements Attribute {
+ /**
+ * The default value of the '{@link #getTag() <em>Tag</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTag()
+ * @generated
+ * @ordered
+ */
+ protected static final String TAG_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTag() <em>Tag</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTag()
+ * @generated
+ * @ordered
+ */
+ protected String tag = TAG_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AttributeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.ATTRIBUTE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTag() {
+ return tag;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTag(String newTag) {
+ String oldTag = tag;
+ tag = newTag;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.ATTRIBUTE__TAG, oldTag, tag));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.ATTRIBUTE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.ATTRIBUTE__TAG:
+ return getTag();
+ case SmmPackage.ATTRIBUTE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.ATTRIBUTE__TAG:
+ setTag((String)newValue);
+ return;
+ case SmmPackage.ATTRIBUTE__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.ATTRIBUTE__TAG:
+ setTag(TAG_EDEFAULT);
+ return;
+ case SmmPackage.ATTRIBUTE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.ATTRIBUTE__TAG:
+ return TAG_EDEFAULT == null ? tag != null : !TAG_EDEFAULT.equals(tag);
+ case SmmPackage.ATTRIBUTE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ 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(" (tag: ");
+ result.append(tag);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AttributeImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base1MeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base1MeasureRelationshipImpl.java
new file mode 100644
index 000000000..6b87dae8d
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base1MeasureRelationshipImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Base1MeasureRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasure;
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Base1 Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.Base1MeasureRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.Base1MeasureRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class Base1MeasureRelationshipImpl extends MeasureRelationshipImpl implements Base1MeasureRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected BinaryMeasure from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasure to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Base1MeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.BASE1_MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BinaryMeasure getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (BinaryMeasure)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BinaryMeasure basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(BinaryMeasure newFrom, NotificationChain msgs) {
+ BinaryMeasure oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(BinaryMeasure newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO, BinaryMeasure.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO, BinaryMeasure.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (DimensionalMeasure)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(DimensionalMeasure newTo, NotificationChain msgs) {
+ DimensionalMeasure oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(DimensionalMeasure newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM, DimensionalMeasure.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM, DimensionalMeasure.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO, BinaryMeasure.class, msgs);
+ return basicSetFrom((BinaryMeasure)otherEnd, msgs);
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM, DimensionalMeasure.class, msgs);
+ return basicSetTo((DimensionalMeasure)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM:
+ setFrom((BinaryMeasure)newValue);
+ return;
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO:
+ setTo((DimensionalMeasure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM:
+ setFrom((BinaryMeasure)null);
+ return;
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO:
+ setTo((DimensionalMeasure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //Base1MeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base1MeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base1MeasurementRelationshipImpl.java
new file mode 100644
index 000000000..f63df0348
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base1MeasurementRelationshipImpl.java
@@ -0,0 +1,292 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.modisco.omg.smm.Base1MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasurement;
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Base1 Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.Base1MeasurementRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.Base1MeasurementRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class Base1MeasurementRelationshipImpl extends MeasurementRelationshipImpl implements Base1MeasurementRelationship {
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasurement to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Base1MeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.BASE1_MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BinaryMeasurement getFrom() {
+ if (eContainerFeatureID() != SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM) return null;
+ return (BinaryMeasurement)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(BinaryMeasurement newFrom, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newFrom, SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(BinaryMeasurement newFrom) {
+ if (newFrom != eInternalContainer() || (eContainerFeatureID() != SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM && newFrom != null)) {
+ if (EcoreUtil.isAncestor(this, newFrom))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO, BinaryMeasurement.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (DimensionalMeasurement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(DimensionalMeasurement newTo, NotificationChain msgs) {
+ DimensionalMeasurement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(DimensionalMeasurement newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM, DimensionalMeasurement.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM, DimensionalMeasurement.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetFrom((BinaryMeasurement)otherEnd, msgs);
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM, DimensionalMeasurement.class, msgs);
+ return basicSetTo((DimensionalMeasurement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM:
+ return eInternalContainer().eInverseRemove(this, SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO, BinaryMeasurement.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM:
+ return getFrom();
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((BinaryMeasurement)newValue);
+ return;
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((DimensionalMeasurement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((BinaryMeasurement)null);
+ return;
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((DimensionalMeasurement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM:
+ return getFrom() != null;
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //Base1MeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base2MeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base2MeasureRelationshipImpl.java
new file mode 100644
index 000000000..df0fd2ec2
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base2MeasureRelationshipImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Base2MeasureRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasure;
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Base2 Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.Base2MeasureRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.Base2MeasureRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class Base2MeasureRelationshipImpl extends MeasureRelationshipImpl implements Base2MeasureRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected BinaryMeasure from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasure to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Base2MeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.BASE2_MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BinaryMeasure getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (BinaryMeasure)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BinaryMeasure basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(BinaryMeasure newFrom, NotificationChain msgs) {
+ BinaryMeasure oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(BinaryMeasure newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO, BinaryMeasure.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO, BinaryMeasure.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (DimensionalMeasure)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(DimensionalMeasure newTo, NotificationChain msgs) {
+ DimensionalMeasure oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(DimensionalMeasure newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM, DimensionalMeasure.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM, DimensionalMeasure.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO, BinaryMeasure.class, msgs);
+ return basicSetFrom((BinaryMeasure)otherEnd, msgs);
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM, DimensionalMeasure.class, msgs);
+ return basicSetTo((DimensionalMeasure)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM:
+ setFrom((BinaryMeasure)newValue);
+ return;
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO:
+ setTo((DimensionalMeasure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM:
+ setFrom((BinaryMeasure)null);
+ return;
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO:
+ setTo((DimensionalMeasure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //Base2MeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base2MeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base2MeasurementRelationshipImpl.java
new file mode 100644
index 000000000..eb1b20820
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/Base2MeasurementRelationshipImpl.java
@@ -0,0 +1,292 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.modisco.omg.smm.Base2MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasurement;
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Base2 Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.Base2MeasurementRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.Base2MeasurementRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class Base2MeasurementRelationshipImpl extends MeasurementRelationshipImpl implements Base2MeasurementRelationship {
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasurement to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected Base2MeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.BASE2_MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BinaryMeasurement getFrom() {
+ if (eContainerFeatureID() != SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM) return null;
+ return (BinaryMeasurement)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(BinaryMeasurement newFrom, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newFrom, SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(BinaryMeasurement newFrom) {
+ if (newFrom != eInternalContainer() || (eContainerFeatureID() != SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM && newFrom != null)) {
+ if (EcoreUtil.isAncestor(this, newFrom))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO, BinaryMeasurement.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (DimensionalMeasurement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(DimensionalMeasurement newTo, NotificationChain msgs) {
+ DimensionalMeasurement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(DimensionalMeasurement newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM, DimensionalMeasurement.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM, DimensionalMeasurement.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetFrom((BinaryMeasurement)otherEnd, msgs);
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM, DimensionalMeasurement.class, msgs);
+ return basicSetTo((DimensionalMeasurement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM:
+ return eInternalContainer().eInverseRemove(this, SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO, BinaryMeasurement.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM:
+ return getFrom();
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((BinaryMeasurement)newValue);
+ return;
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((DimensionalMeasurement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((BinaryMeasurement)null);
+ return;
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((DimensionalMeasurement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM:
+ return getFrom() != null;
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //Base2MeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BaseMeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BaseMeasureRelationshipImpl.java
new file mode 100644
index 000000000..9c02b4cfe
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BaseMeasureRelationshipImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.BaseMeasureRelationship;
+import org.eclipse.modisco.omg.smm.CollectiveMeasure;
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Base Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BaseMeasureRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BaseMeasureRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BaseMeasureRelationshipImpl extends MeasureRelationshipImpl implements BaseMeasureRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected CollectiveMeasure from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasure to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BaseMeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.BASE_MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectiveMeasure getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (CollectiveMeasure)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectiveMeasure basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(CollectiveMeasure newFrom, NotificationChain msgs) {
+ CollectiveMeasure oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(CollectiveMeasure newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO, CollectiveMeasure.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO, CollectiveMeasure.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (DimensionalMeasure)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE_MEASURE_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(DimensionalMeasure newTo, NotificationChain msgs) {
+ DimensionalMeasure oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE_MEASURE_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(DimensionalMeasure newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM, DimensionalMeasure.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM, DimensionalMeasure.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE_MEASURE_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO, CollectiveMeasure.class, msgs);
+ return basicSetFrom((CollectiveMeasure)otherEnd, msgs);
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM, DimensionalMeasure.class, msgs);
+ return basicSetTo((DimensionalMeasure)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM:
+ setFrom((CollectiveMeasure)newValue);
+ return;
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__TO:
+ setTo((DimensionalMeasure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM:
+ setFrom((CollectiveMeasure)null);
+ return;
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__TO:
+ setTo((DimensionalMeasure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BaseMeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BaseMeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BaseMeasurementRelationshipImpl.java
new file mode 100644
index 000000000..791c823ae
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BaseMeasurementRelationshipImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.BaseMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.CollectiveMeasurement;
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Base Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BaseMeasurementRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BaseMeasurementRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BaseMeasurementRelationshipImpl extends MeasurementRelationshipImpl implements BaseMeasurementRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected CollectiveMeasurement from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasurement to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BaseMeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.BASE_MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectiveMeasurement getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (CollectiveMeasurement)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectiveMeasurement basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(CollectiveMeasurement newFrom, NotificationChain msgs) {
+ CollectiveMeasurement oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(CollectiveMeasurement newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO, CollectiveMeasurement.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO, CollectiveMeasurement.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (DimensionalMeasurement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(DimensionalMeasurement newTo, NotificationChain msgs) {
+ DimensionalMeasurement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(DimensionalMeasurement newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM, DimensionalMeasurement.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM, DimensionalMeasurement.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO, CollectiveMeasurement.class, msgs);
+ return basicSetFrom((CollectiveMeasurement)otherEnd, msgs);
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM, DimensionalMeasurement.class, msgs);
+ return basicSetTo((DimensionalMeasurement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((CollectiveMeasurement)newValue);
+ return;
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((DimensionalMeasurement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((CollectiveMeasurement)null);
+ return;
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((DimensionalMeasurement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //BaseMeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BinaryMeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BinaryMeasureImpl.java
new file mode 100644
index 000000000..007b89f2e
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BinaryMeasureImpl.java
@@ -0,0 +1,374 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Base1MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasureRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Binary Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasureImpl#getFunctor <em>Functor</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasureImpl#getBaseMeasure1To <em>Base Measure1 To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasureImpl#getBaseMeasure2To <em>Base Measure2 To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BinaryMeasureImpl extends DimensionalMeasureImpl implements BinaryMeasure {
+ /**
+ * The default value of the '{@link #getFunctor() <em>Functor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctor()
+ * @generated
+ * @ordered
+ */
+ protected static final String FUNCTOR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFunctor() <em>Functor</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFunctor()
+ * @generated
+ * @ordered
+ */
+ protected String functor = FUNCTOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasure1To() <em>Base Measure1 To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasure1To()
+ * @generated
+ * @ordered
+ */
+ protected Base1MeasureRelationship baseMeasure1To;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasure2To() <em>Base Measure2 To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasure2To()
+ * @generated
+ * @ordered
+ */
+ protected Base2MeasureRelationship baseMeasure2To;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BinaryMeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.BINARY_MEASURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFunctor() {
+ return functor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFunctor(String newFunctor) {
+ String oldFunctor = functor;
+ functor = newFunctor;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASURE__FUNCTOR, oldFunctor, functor));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base1MeasureRelationship getBaseMeasure1To() {
+ if (baseMeasure1To != null && baseMeasure1To.eIsProxy()) {
+ InternalEObject oldBaseMeasure1To = (InternalEObject)baseMeasure1To;
+ baseMeasure1To = (Base1MeasureRelationship)eResolveProxy(oldBaseMeasure1To);
+ if (baseMeasure1To != oldBaseMeasure1To) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO, oldBaseMeasure1To, baseMeasure1To));
+ }
+ }
+ return baseMeasure1To;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base1MeasureRelationship basicGetBaseMeasure1To() {
+ return baseMeasure1To;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBaseMeasure1To(Base1MeasureRelationship newBaseMeasure1To, NotificationChain msgs) {
+ Base1MeasureRelationship oldBaseMeasure1To = baseMeasure1To;
+ baseMeasure1To = newBaseMeasure1To;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO, oldBaseMeasure1To, newBaseMeasure1To);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBaseMeasure1To(Base1MeasureRelationship newBaseMeasure1To) {
+ if (newBaseMeasure1To != baseMeasure1To) {
+ NotificationChain msgs = null;
+ if (baseMeasure1To != null)
+ msgs = ((InternalEObject)baseMeasure1To).eInverseRemove(this, SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM, Base1MeasureRelationship.class, msgs);
+ if (newBaseMeasure1To != null)
+ msgs = ((InternalEObject)newBaseMeasure1To).eInverseAdd(this, SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM, Base1MeasureRelationship.class, msgs);
+ msgs = basicSetBaseMeasure1To(newBaseMeasure1To, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO, newBaseMeasure1To, newBaseMeasure1To));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base2MeasureRelationship getBaseMeasure2To() {
+ if (baseMeasure2To != null && baseMeasure2To.eIsProxy()) {
+ InternalEObject oldBaseMeasure2To = (InternalEObject)baseMeasure2To;
+ baseMeasure2To = (Base2MeasureRelationship)eResolveProxy(oldBaseMeasure2To);
+ if (baseMeasure2To != oldBaseMeasure2To) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO, oldBaseMeasure2To, baseMeasure2To));
+ }
+ }
+ return baseMeasure2To;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base2MeasureRelationship basicGetBaseMeasure2To() {
+ return baseMeasure2To;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBaseMeasure2To(Base2MeasureRelationship newBaseMeasure2To, NotificationChain msgs) {
+ Base2MeasureRelationship oldBaseMeasure2To = baseMeasure2To;
+ baseMeasure2To = newBaseMeasure2To;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO, oldBaseMeasure2To, newBaseMeasure2To);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBaseMeasure2To(Base2MeasureRelationship newBaseMeasure2To) {
+ if (newBaseMeasure2To != baseMeasure2To) {
+ NotificationChain msgs = null;
+ if (baseMeasure2To != null)
+ msgs = ((InternalEObject)baseMeasure2To).eInverseRemove(this, SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM, Base2MeasureRelationship.class, msgs);
+ if (newBaseMeasure2To != null)
+ msgs = ((InternalEObject)newBaseMeasure2To).eInverseAdd(this, SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM, Base2MeasureRelationship.class, msgs);
+ msgs = basicSetBaseMeasure2To(newBaseMeasure2To, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO, newBaseMeasure2To, newBaseMeasure2To));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO:
+ if (baseMeasure1To != null)
+ msgs = ((InternalEObject)baseMeasure1To).eInverseRemove(this, SmmPackage.BASE1_MEASURE_RELATIONSHIP__FROM, Base1MeasureRelationship.class, msgs);
+ return basicSetBaseMeasure1To((Base1MeasureRelationship)otherEnd, msgs);
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO:
+ if (baseMeasure2To != null)
+ msgs = ((InternalEObject)baseMeasure2To).eInverseRemove(this, SmmPackage.BASE2_MEASURE_RELATIONSHIP__FROM, Base2MeasureRelationship.class, msgs);
+ return basicSetBaseMeasure2To((Base2MeasureRelationship)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO:
+ return basicSetBaseMeasure1To(null, msgs);
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO:
+ return basicSetBaseMeasure2To(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASURE__FUNCTOR:
+ return getFunctor();
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO:
+ if (resolve) return getBaseMeasure1To();
+ return basicGetBaseMeasure1To();
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO:
+ if (resolve) return getBaseMeasure2To();
+ return basicGetBaseMeasure2To();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASURE__FUNCTOR:
+ setFunctor((String)newValue);
+ return;
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO:
+ setBaseMeasure1To((Base1MeasureRelationship)newValue);
+ return;
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO:
+ setBaseMeasure2To((Base2MeasureRelationship)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASURE__FUNCTOR:
+ setFunctor(FUNCTOR_EDEFAULT);
+ return;
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO:
+ setBaseMeasure1To((Base1MeasureRelationship)null);
+ return;
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO:
+ setBaseMeasure2To((Base2MeasureRelationship)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASURE__FUNCTOR:
+ return FUNCTOR_EDEFAULT == null ? functor != null : !FUNCTOR_EDEFAULT.equals(functor);
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE1_TO:
+ return baseMeasure1To != null;
+ case SmmPackage.BINARY_MEASURE__BASE_MEASURE2_TO:
+ return baseMeasure2To != 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(" (functor: ");
+ result.append(functor);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BinaryMeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BinaryMeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BinaryMeasurementImpl.java
new file mode 100644
index 000000000..2bd6bd0ac
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/BinaryMeasurementImpl.java
@@ -0,0 +1,338 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Base1MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Binary Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasurementImpl#getBaseMeasurement1To <em>Base Measurement1 To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasurementImpl#getBaseMeasurement2To <em>Base Measurement2 To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.BinaryMeasurementImpl#isIsBaseSupplied <em>Is Base Supplied</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class BinaryMeasurementImpl extends DimensionalMeasurementImpl implements BinaryMeasurement {
+ /**
+ * The cached value of the '{@link #getBaseMeasurement1To() <em>Base Measurement1 To</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasurement1To()
+ * @generated
+ * @ordered
+ */
+ protected Base1MeasurementRelationship baseMeasurement1To;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasurement2To() <em>Base Measurement2 To</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasurement2To()
+ * @generated
+ * @ordered
+ */
+ protected Base2MeasurementRelationship baseMeasurement2To;
+
+ /**
+ * The default value of the '{@link #isIsBaseSupplied() <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSupplied()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BASE_SUPPLIED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBaseSupplied() <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSupplied()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBaseSupplied = IS_BASE_SUPPLIED_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected BinaryMeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.BINARY_MEASUREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base1MeasurementRelationship getBaseMeasurement1To() {
+ return baseMeasurement1To;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBaseMeasurement1To(Base1MeasurementRelationship newBaseMeasurement1To, NotificationChain msgs) {
+ Base1MeasurementRelationship oldBaseMeasurement1To = baseMeasurement1To;
+ baseMeasurement1To = newBaseMeasurement1To;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO, oldBaseMeasurement1To, newBaseMeasurement1To);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBaseMeasurement1To(Base1MeasurementRelationship newBaseMeasurement1To) {
+ if (newBaseMeasurement1To != baseMeasurement1To) {
+ NotificationChain msgs = null;
+ if (baseMeasurement1To != null)
+ msgs = ((InternalEObject)baseMeasurement1To).eInverseRemove(this, SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM, Base1MeasurementRelationship.class, msgs);
+ if (newBaseMeasurement1To != null)
+ msgs = ((InternalEObject)newBaseMeasurement1To).eInverseAdd(this, SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__FROM, Base1MeasurementRelationship.class, msgs);
+ msgs = basicSetBaseMeasurement1To(newBaseMeasurement1To, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO, newBaseMeasurement1To, newBaseMeasurement1To));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base2MeasurementRelationship getBaseMeasurement2To() {
+ return baseMeasurement2To;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetBaseMeasurement2To(Base2MeasurementRelationship newBaseMeasurement2To, NotificationChain msgs) {
+ Base2MeasurementRelationship oldBaseMeasurement2To = baseMeasurement2To;
+ baseMeasurement2To = newBaseMeasurement2To;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO, oldBaseMeasurement2To, newBaseMeasurement2To);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBaseMeasurement2To(Base2MeasurementRelationship newBaseMeasurement2To) {
+ if (newBaseMeasurement2To != baseMeasurement2To) {
+ NotificationChain msgs = null;
+ if (baseMeasurement2To != null)
+ msgs = ((InternalEObject)baseMeasurement2To).eInverseRemove(this, SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM, Base2MeasurementRelationship.class, msgs);
+ if (newBaseMeasurement2To != null)
+ msgs = ((InternalEObject)newBaseMeasurement2To).eInverseAdd(this, SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__FROM, Base2MeasurementRelationship.class, msgs);
+ msgs = basicSetBaseMeasurement2To(newBaseMeasurement2To, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO, newBaseMeasurement2To, newBaseMeasurement2To));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBaseSupplied() {
+ return isBaseSupplied;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBaseSupplied(boolean newIsBaseSupplied) {
+ boolean oldIsBaseSupplied = isBaseSupplied;
+ isBaseSupplied = newIsBaseSupplied;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.BINARY_MEASUREMENT__IS_BASE_SUPPLIED, oldIsBaseSupplied, isBaseSupplied));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO:
+ if (baseMeasurement1To != null)
+ msgs = ((InternalEObject)baseMeasurement1To).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO, null, msgs);
+ return basicSetBaseMeasurement1To((Base1MeasurementRelationship)otherEnd, msgs);
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO:
+ if (baseMeasurement2To != null)
+ msgs = ((InternalEObject)baseMeasurement2To).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO, null, msgs);
+ return basicSetBaseMeasurement2To((Base2MeasurementRelationship)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO:
+ return basicSetBaseMeasurement1To(null, msgs);
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO:
+ return basicSetBaseMeasurement2To(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO:
+ return getBaseMeasurement1To();
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO:
+ return getBaseMeasurement2To();
+ case SmmPackage.BINARY_MEASUREMENT__IS_BASE_SUPPLIED:
+ return isIsBaseSupplied();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO:
+ setBaseMeasurement1To((Base1MeasurementRelationship)newValue);
+ return;
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO:
+ setBaseMeasurement2To((Base2MeasurementRelationship)newValue);
+ return;
+ case SmmPackage.BINARY_MEASUREMENT__IS_BASE_SUPPLIED:
+ setIsBaseSupplied((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO:
+ setBaseMeasurement1To((Base1MeasurementRelationship)null);
+ return;
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO:
+ setBaseMeasurement2To((Base2MeasurementRelationship)null);
+ return;
+ case SmmPackage.BINARY_MEASUREMENT__IS_BASE_SUPPLIED:
+ setIsBaseSupplied(IS_BASE_SUPPLIED_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO:
+ return baseMeasurement1To != null;
+ case SmmPackage.BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO:
+ return baseMeasurement2To != null;
+ case SmmPackage.BINARY_MEASUREMENT__IS_BASE_SUPPLIED:
+ return isBaseSupplied != IS_BASE_SUPPLIED_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isBaseSupplied: ");
+ result.append(isBaseSupplied);
+ result.append(')');
+ return result.toString();
+ }
+
+} //BinaryMeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CategoryRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CategoryRelationshipImpl.java
new file mode 100644
index 000000000..9d0aa5d8a
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CategoryRelationshipImpl.java
@@ -0,0 +1,225 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.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.modisco.omg.smm.AbstractMeasureElement;
+import org.eclipse.modisco.omg.smm.CategoryRelationship;
+import org.eclipse.modisco.omg.smm.MeasureCategory;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Category Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.CategoryRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.CategoryRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CategoryRelationshipImpl extends SmmElementImpl implements CategoryRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected MeasureCategory from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected AbstractMeasureElement to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CategoryRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.CATEGORY_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MeasureCategory getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (MeasureCategory)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.CATEGORY_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MeasureCategory basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(MeasureCategory newFrom) {
+ MeasureCategory oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.CATEGORY_RELATIONSHIP__FROM, oldFrom, from));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractMeasureElement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (AbstractMeasureElement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.CATEGORY_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AbstractMeasureElement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(AbstractMeasureElement newTo) {
+ AbstractMeasureElement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.CATEGORY_RELATIONSHIP__TO, oldTo, to));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.CATEGORY_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.CATEGORY_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.CATEGORY_RELATIONSHIP__FROM:
+ setFrom((MeasureCategory)newValue);
+ return;
+ case SmmPackage.CATEGORY_RELATIONSHIP__TO:
+ setTo((AbstractMeasureElement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.CATEGORY_RELATIONSHIP__FROM:
+ setFrom((MeasureCategory)null);
+ return;
+ case SmmPackage.CATEGORY_RELATIONSHIP__TO:
+ setTo((AbstractMeasureElement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.CATEGORY_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.CATEGORY_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CategoryRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CharacteristicImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CharacteristicImpl.java
new file mode 100644
index 000000000..0655b8eb1
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CharacteristicImpl.java
@@ -0,0 +1,163 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.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.modisco.omg.smm.Characteristic;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Characteristic</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.CharacteristicImpl#getParent <em>Parent</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CharacteristicImpl extends AbstractMeasureElementImpl implements Characteristic {
+ /**
+ * The cached value of the '{@link #getParent() <em>Parent</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getParent()
+ * @generated
+ * @ordered
+ */
+ protected Characteristic parent;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CharacteristicImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.CHARACTERISTIC;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Characteristic getParent() {
+ if (parent != null && parent.eIsProxy()) {
+ InternalEObject oldParent = (InternalEObject)parent;
+ parent = (Characteristic)eResolveProxy(oldParent);
+ if (parent != oldParent) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.CHARACTERISTIC__PARENT, oldParent, parent));
+ }
+ }
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Characteristic basicGetParent() {
+ return parent;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setParent(Characteristic newParent) {
+ Characteristic oldParent = parent;
+ parent = newParent;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.CHARACTERISTIC__PARENT, oldParent, parent));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.CHARACTERISTIC__PARENT:
+ if (resolve) return getParent();
+ return basicGetParent();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.CHARACTERISTIC__PARENT:
+ setParent((Characteristic)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.CHARACTERISTIC__PARENT:
+ setParent((Characteristic)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.CHARACTERISTIC__PARENT:
+ return parent != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CharacteristicImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CollectiveMeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CollectiveMeasureImpl.java
new file mode 100644
index 000000000..c88d3e78a
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CollectiveMeasureImpl.java
@@ -0,0 +1,245 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Accumulator;
+import org.eclipse.modisco.omg.smm.BaseMeasureRelationship;
+import org.eclipse.modisco.omg.smm.CollectiveMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collective Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasureImpl#getAccumulator <em>Accumulator</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasureImpl#getBaseMeasureTo <em>Base Measure To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CollectiveMeasureImpl extends DimensionalMeasureImpl implements CollectiveMeasure {
+ /**
+ * The default value of the '{@link #getAccumulator() <em>Accumulator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccumulator()
+ * @generated
+ * @ordered
+ */
+ protected static final Accumulator ACCUMULATOR_EDEFAULT = Accumulator.SUM;
+
+ /**
+ * The cached value of the '{@link #getAccumulator() <em>Accumulator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccumulator()
+ * @generated
+ * @ordered
+ */
+ protected Accumulator accumulator = ACCUMULATOR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasureTo() <em>Base Measure To</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasureTo()
+ * @generated
+ * @ordered
+ */
+ protected EList<BaseMeasureRelationship> baseMeasureTo;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollectiveMeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.COLLECTIVE_MEASURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Accumulator getAccumulator() {
+ return accumulator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccumulator(Accumulator newAccumulator) {
+ Accumulator oldAccumulator = accumulator;
+ accumulator = newAccumulator == null ? ACCUMULATOR_EDEFAULT : newAccumulator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.COLLECTIVE_MEASURE__ACCUMULATOR, oldAccumulator, accumulator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BaseMeasureRelationship> getBaseMeasureTo() {
+ if (baseMeasureTo == null) {
+ baseMeasureTo = new EObjectWithInverseResolvingEList<BaseMeasureRelationship>(BaseMeasureRelationship.class, this, SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO, SmmPackage.BASE_MEASURE_RELATIONSHIP__FROM);
+ }
+ return baseMeasureTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBaseMeasureTo()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO:
+ return ((InternalEList<?>)getBaseMeasureTo()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASURE__ACCUMULATOR:
+ return getAccumulator();
+ case SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO:
+ return getBaseMeasureTo();
+ }
+ 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 SmmPackage.COLLECTIVE_MEASURE__ACCUMULATOR:
+ setAccumulator((Accumulator)newValue);
+ return;
+ case SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO:
+ getBaseMeasureTo().clear();
+ getBaseMeasureTo().addAll((Collection<? extends BaseMeasureRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASURE__ACCUMULATOR:
+ setAccumulator(ACCUMULATOR_EDEFAULT);
+ return;
+ case SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO:
+ getBaseMeasureTo().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASURE__ACCUMULATOR:
+ return accumulator != ACCUMULATOR_EDEFAULT;
+ case SmmPackage.COLLECTIVE_MEASURE__BASE_MEASURE_TO:
+ return baseMeasureTo != null && !baseMeasureTo.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (accumulator: ");
+ result.append(accumulator);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CollectiveMeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CollectiveMeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CollectiveMeasurementImpl.java
new file mode 100644
index 000000000..0bc775456
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CollectiveMeasurementImpl.java
@@ -0,0 +1,299 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Accumulator;
+import org.eclipse.modisco.omg.smm.BaseMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.CollectiveMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Collective Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasurementImpl#getAccumulator <em>Accumulator</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasurementImpl#isIsBaseSupplied <em>Is Base Supplied</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.CollectiveMeasurementImpl#getBaseMeasurementTo <em>Base Measurement To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CollectiveMeasurementImpl extends DimensionalMeasurementImpl implements CollectiveMeasurement {
+ /**
+ * The default value of the '{@link #getAccumulator() <em>Accumulator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccumulator()
+ * @generated
+ * @ordered
+ */
+ protected static final Accumulator ACCUMULATOR_EDEFAULT = Accumulator.SUM;
+
+ /**
+ * The cached value of the '{@link #getAccumulator() <em>Accumulator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAccumulator()
+ * @generated
+ * @ordered
+ */
+ protected Accumulator accumulator = ACCUMULATOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isIsBaseSupplied() <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSupplied()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BASE_SUPPLIED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBaseSupplied() <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSupplied()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBaseSupplied = IS_BASE_SUPPLIED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasurementTo() <em>Base Measurement To</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasurementTo()
+ * @generated
+ * @ordered
+ */
+ protected EList<BaseMeasurementRelationship> baseMeasurementTo;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CollectiveMeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.COLLECTIVE_MEASUREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Accumulator getAccumulator() {
+ return accumulator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setAccumulator(Accumulator newAccumulator) {
+ Accumulator oldAccumulator = accumulator;
+ accumulator = newAccumulator == null ? ACCUMULATOR_EDEFAULT : newAccumulator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.COLLECTIVE_MEASUREMENT__ACCUMULATOR, oldAccumulator, accumulator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBaseSupplied() {
+ return isBaseSupplied;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBaseSupplied(boolean newIsBaseSupplied) {
+ boolean oldIsBaseSupplied = isBaseSupplied;
+ isBaseSupplied = newIsBaseSupplied;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.COLLECTIVE_MEASUREMENT__IS_BASE_SUPPLIED, oldIsBaseSupplied, isBaseSupplied));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BaseMeasurementRelationship> getBaseMeasurementTo() {
+ if (baseMeasurementTo == null) {
+ baseMeasurementTo = new EObjectWithInverseResolvingEList<BaseMeasurementRelationship>(BaseMeasurementRelationship.class, this, SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO, SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__FROM);
+ }
+ return baseMeasurementTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBaseMeasurementTo()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO:
+ return ((InternalEList<?>)getBaseMeasurementTo()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASUREMENT__ACCUMULATOR:
+ return getAccumulator();
+ case SmmPackage.COLLECTIVE_MEASUREMENT__IS_BASE_SUPPLIED:
+ return isIsBaseSupplied();
+ case SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO:
+ return getBaseMeasurementTo();
+ }
+ 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 SmmPackage.COLLECTIVE_MEASUREMENT__ACCUMULATOR:
+ setAccumulator((Accumulator)newValue);
+ return;
+ case SmmPackage.COLLECTIVE_MEASUREMENT__IS_BASE_SUPPLIED:
+ setIsBaseSupplied((Boolean)newValue);
+ return;
+ case SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO:
+ getBaseMeasurementTo().clear();
+ getBaseMeasurementTo().addAll((Collection<? extends BaseMeasurementRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASUREMENT__ACCUMULATOR:
+ setAccumulator(ACCUMULATOR_EDEFAULT);
+ return;
+ case SmmPackage.COLLECTIVE_MEASUREMENT__IS_BASE_SUPPLIED:
+ setIsBaseSupplied(IS_BASE_SUPPLIED_EDEFAULT);
+ return;
+ case SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO:
+ getBaseMeasurementTo().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.COLLECTIVE_MEASUREMENT__ACCUMULATOR:
+ return accumulator != ACCUMULATOR_EDEFAULT;
+ case SmmPackage.COLLECTIVE_MEASUREMENT__IS_BASE_SUPPLIED:
+ return isBaseSupplied != IS_BASE_SUPPLIED_EDEFAULT;
+ case SmmPackage.COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO:
+ return baseMeasurementTo != null && !baseMeasurementTo.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (accumulator: ");
+ result.append(accumulator);
+ result.append(", isBaseSupplied: ");
+ result.append(isBaseSupplied);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CollectiveMeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CountImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CountImpl.java
new file mode 100644
index 000000000..8c0d9bfbb
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CountImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.modisco.omg.smm.Count;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Count</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CountImpl extends DirectMeasurementImpl implements Count {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CountImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.COUNT;
+ }
+
+} //CountImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CountingImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CountingImpl.java
new file mode 100644
index 000000000..ef695e68f
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/CountingImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.modisco.omg.smm.Counting;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Counting</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class CountingImpl extends DirectMeasureImpl implements Counting {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CountingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.COUNTING;
+ }
+
+} //CountingImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DimensionalMeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DimensionalMeasureImpl.java
new file mode 100644
index 000000000..f36a8775f
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DimensionalMeasureImpl.java
@@ -0,0 +1,450 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Base1MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasureRelationship;
+import org.eclipse.modisco.omg.smm.BaseMeasureRelationship;
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.RankingMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RescaleMeasureRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dimensional Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl#getUnit <em>Unit</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl#getBaseMeasureFrom <em>Base Measure From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl#getBaseMeasure1From <em>Base Measure1 From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl#getBaseMeasure2From <em>Base Measure2 From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl#getRescaleTo <em>Rescale To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasureImpl#getRankingFrom <em>Ranking From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DimensionalMeasureImpl extends MeasureImpl implements DimensionalMeasure {
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasureFrom() <em>Base Measure From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasureFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<BaseMeasureRelationship> baseMeasureFrom;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasure1From() <em>Base Measure1 From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasure1From()
+ * @generated
+ * @ordered
+ */
+ protected EList<Base1MeasureRelationship> baseMeasure1From;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasure2From() <em>Base Measure2 From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasure2From()
+ * @generated
+ * @ordered
+ */
+ protected EList<Base2MeasureRelationship> baseMeasure2From;
+
+ /**
+ * The cached value of the '{@link #getRescaleTo() <em>Rescale To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRescaleTo()
+ * @generated
+ * @ordered
+ */
+ protected RescaleMeasureRelationship rescaleTo;
+
+ /**
+ * The cached value of the '{@link #getRankingFrom() <em>Ranking From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRankingFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<RankingMeasureRelationship> rankingFrom;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DimensionalMeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.DIMENSIONAL_MEASURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit() {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit) {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.DIMENSIONAL_MEASURE__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BaseMeasureRelationship> getBaseMeasureFrom() {
+ if (baseMeasureFrom == null) {
+ baseMeasureFrom = new EObjectWithInverseResolvingEList<BaseMeasureRelationship>(BaseMeasureRelationship.class, this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM, SmmPackage.BASE_MEASURE_RELATIONSHIP__TO);
+ }
+ return baseMeasureFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Base1MeasureRelationship> getBaseMeasure1From() {
+ if (baseMeasure1From == null) {
+ baseMeasure1From = new EObjectWithInverseResolvingEList<Base1MeasureRelationship>(Base1MeasureRelationship.class, this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM, SmmPackage.BASE1_MEASURE_RELATIONSHIP__TO);
+ }
+ return baseMeasure1From;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Base2MeasureRelationship> getBaseMeasure2From() {
+ if (baseMeasure2From == null) {
+ baseMeasure2From = new EObjectWithInverseResolvingEList<Base2MeasureRelationship>(Base2MeasureRelationship.class, this, SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM, SmmPackage.BASE2_MEASURE_RELATIONSHIP__TO);
+ }
+ return baseMeasure2From;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaleMeasureRelationship getRescaleTo() {
+ if (rescaleTo != null && rescaleTo.eIsProxy()) {
+ InternalEObject oldRescaleTo = (InternalEObject)rescaleTo;
+ rescaleTo = (RescaleMeasureRelationship)eResolveProxy(oldRescaleTo);
+ if (rescaleTo != oldRescaleTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO, oldRescaleTo, rescaleTo));
+ }
+ }
+ return rescaleTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaleMeasureRelationship basicGetRescaleTo() {
+ return rescaleTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRescaleTo(RescaleMeasureRelationship newRescaleTo, NotificationChain msgs) {
+ RescaleMeasureRelationship oldRescaleTo = rescaleTo;
+ rescaleTo = newRescaleTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO, oldRescaleTo, newRescaleTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRescaleTo(RescaleMeasureRelationship newRescaleTo) {
+ if (newRescaleTo != rescaleTo) {
+ NotificationChain msgs = null;
+ if (rescaleTo != null)
+ msgs = ((InternalEObject)rescaleTo).eInverseRemove(this, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM, RescaleMeasureRelationship.class, msgs);
+ if (newRescaleTo != null)
+ msgs = ((InternalEObject)newRescaleTo).eInverseAdd(this, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM, RescaleMeasureRelationship.class, msgs);
+ msgs = basicSetRescaleTo(newRescaleTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO, newRescaleTo, newRescaleTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RankingMeasureRelationship> getRankingFrom() {
+ if (rankingFrom == null) {
+ rankingFrom = new EObjectWithInverseResolvingEList<RankingMeasureRelationship>(RankingMeasureRelationship.class, this, SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM, SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO);
+ }
+ return rankingFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBaseMeasureFrom()).basicAdd(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBaseMeasure1From()).basicAdd(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBaseMeasure2From()).basicAdd(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO:
+ if (rescaleTo != null)
+ msgs = ((InternalEObject)rescaleTo).eInverseRemove(this, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM, RescaleMeasureRelationship.class, msgs);
+ return basicSetRescaleTo((RescaleMeasureRelationship)otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRankingFrom()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM:
+ return ((InternalEList<?>)getBaseMeasureFrom()).basicRemove(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM:
+ return ((InternalEList<?>)getBaseMeasure1From()).basicRemove(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM:
+ return ((InternalEList<?>)getBaseMeasure2From()).basicRemove(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO:
+ return basicSetRescaleTo(null, msgs);
+ case SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM:
+ return ((InternalEList<?>)getRankingFrom()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASURE__UNIT:
+ return getUnit();
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM:
+ return getBaseMeasureFrom();
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM:
+ return getBaseMeasure1From();
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM:
+ return getBaseMeasure2From();
+ case SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO:
+ if (resolve) return getRescaleTo();
+ return basicGetRescaleTo();
+ case SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM:
+ return getRankingFrom();
+ }
+ 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 SmmPackage.DIMENSIONAL_MEASURE__UNIT:
+ setUnit((String)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM:
+ getBaseMeasureFrom().clear();
+ getBaseMeasureFrom().addAll((Collection<? extends BaseMeasureRelationship>)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM:
+ getBaseMeasure1From().clear();
+ getBaseMeasure1From().addAll((Collection<? extends Base1MeasureRelationship>)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM:
+ getBaseMeasure2From().clear();
+ getBaseMeasure2From().addAll((Collection<? extends Base2MeasureRelationship>)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO:
+ setRescaleTo((RescaleMeasureRelationship)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM:
+ getRankingFrom().clear();
+ getRankingFrom().addAll((Collection<? extends RankingMeasureRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASURE__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM:
+ getBaseMeasureFrom().clear();
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM:
+ getBaseMeasure1From().clear();
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM:
+ getBaseMeasure2From().clear();
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO:
+ setRescaleTo((RescaleMeasureRelationship)null);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM:
+ getRankingFrom().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASURE__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE_FROM:
+ return baseMeasureFrom != null && !baseMeasureFrom.isEmpty();
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM:
+ return baseMeasure1From != null && !baseMeasure1From.isEmpty();
+ case SmmPackage.DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM:
+ return baseMeasure2From != null && !baseMeasure2From.isEmpty();
+ case SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO:
+ return rescaleTo != null;
+ case SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM:
+ return rankingFrom != null && !rankingFrom.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DimensionalMeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DimensionalMeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DimensionalMeasurementImpl.java
new file mode 100644
index 000000000..25074f456
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DimensionalMeasurementImpl.java
@@ -0,0 +1,400 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Base1MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BaseMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.RankingMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Dimensional Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl#getBaseMeasurementFrom <em>Base Measurement From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl#getBaseMeasurement1From <em>Base Measurement1 From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl#getBaseMeasurement2From <em>Base Measurement2 From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl#getRescaleTo <em>Rescale To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DimensionalMeasurementImpl#getRankingFrom <em>Ranking From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class DimensionalMeasurementImpl extends MeasurementImpl implements DimensionalMeasurement {
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final double VALUE_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected double value = VALUE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasurementFrom() <em>Base Measurement From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasurementFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<BaseMeasurementRelationship> baseMeasurementFrom;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasurement1From() <em>Base Measurement1 From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasurement1From()
+ * @generated
+ * @ordered
+ */
+ protected EList<Base1MeasurementRelationship> baseMeasurement1From;
+
+ /**
+ * The cached value of the '{@link #getBaseMeasurement2From() <em>Base Measurement2 From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasurement2From()
+ * @generated
+ * @ordered
+ */
+ protected EList<Base2MeasurementRelationship> baseMeasurement2From;
+
+ /**
+ * The cached value of the '{@link #getRescaleTo() <em>Rescale To</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRescaleTo()
+ * @generated
+ * @ordered
+ */
+ protected EList<RescaleMeasurementRelationship> rescaleTo;
+
+ /**
+ * The cached value of the '{@link #getRankingFrom() <em>Ranking From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRankingFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<RankingMeasurementRelationship> rankingFrom;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DimensionalMeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.DIMENSIONAL_MEASUREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(double newValue) {
+ double oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.DIMENSIONAL_MEASUREMENT__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<BaseMeasurementRelationship> getBaseMeasurementFrom() {
+ if (baseMeasurementFrom == null) {
+ baseMeasurementFrom = new EObjectWithInverseResolvingEList<BaseMeasurementRelationship>(BaseMeasurementRelationship.class, this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM, SmmPackage.BASE_MEASUREMENT_RELATIONSHIP__TO);
+ }
+ return baseMeasurementFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Base1MeasurementRelationship> getBaseMeasurement1From() {
+ if (baseMeasurement1From == null) {
+ baseMeasurement1From = new EObjectWithInverseResolvingEList<Base1MeasurementRelationship>(Base1MeasurementRelationship.class, this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM, SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP__TO);
+ }
+ return baseMeasurement1From;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Base2MeasurementRelationship> getBaseMeasurement2From() {
+ if (baseMeasurement2From == null) {
+ baseMeasurement2From = new EObjectWithInverseResolvingEList<Base2MeasurementRelationship>(Base2MeasurementRelationship.class, this, SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM, SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP__TO);
+ }
+ return baseMeasurement2From;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RescaleMeasurementRelationship> getRescaleTo() {
+ if (rescaleTo == null) {
+ rescaleTo = new EObjectWithInverseResolvingEList<RescaleMeasurementRelationship>(RescaleMeasurementRelationship.class, this, SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO, SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM);
+ }
+ return rescaleTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RankingMeasurementRelationship> getRankingFrom() {
+ if (rankingFrom == null) {
+ rankingFrom = new EObjectWithInverseResolvingEList<RankingMeasurementRelationship>(RankingMeasurementRelationship.class, this, SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO);
+ }
+ return rankingFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBaseMeasurementFrom()).basicAdd(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBaseMeasurement1From()).basicAdd(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getBaseMeasurement2From()).basicAdd(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRescaleTo()).basicAdd(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRankingFrom()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM:
+ return ((InternalEList<?>)getBaseMeasurementFrom()).basicRemove(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM:
+ return ((InternalEList<?>)getBaseMeasurement1From()).basicRemove(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM:
+ return ((InternalEList<?>)getBaseMeasurement2From()).basicRemove(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO:
+ return ((InternalEList<?>)getRescaleTo()).basicRemove(otherEnd, msgs);
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM:
+ return ((InternalEList<?>)getRankingFrom()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__VALUE:
+ return getValue();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM:
+ return getBaseMeasurementFrom();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM:
+ return getBaseMeasurement1From();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM:
+ return getBaseMeasurement2From();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO:
+ return getRescaleTo();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM:
+ return getRankingFrom();
+ }
+ 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 SmmPackage.DIMENSIONAL_MEASUREMENT__VALUE:
+ setValue((Double)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM:
+ getBaseMeasurementFrom().clear();
+ getBaseMeasurementFrom().addAll((Collection<? extends BaseMeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM:
+ getBaseMeasurement1From().clear();
+ getBaseMeasurement1From().addAll((Collection<? extends Base1MeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM:
+ getBaseMeasurement2From().clear();
+ getBaseMeasurement2From().addAll((Collection<? extends Base2MeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO:
+ getRescaleTo().clear();
+ getRescaleTo().addAll((Collection<? extends RescaleMeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM:
+ getRankingFrom().clear();
+ getRankingFrom().addAll((Collection<? extends RankingMeasurementRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM:
+ getBaseMeasurementFrom().clear();
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM:
+ getBaseMeasurement1From().clear();
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM:
+ getBaseMeasurement2From().clear();
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO:
+ getRescaleTo().clear();
+ return;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM:
+ getRankingFrom().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__VALUE:
+ return value != VALUE_EDEFAULT;
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM:
+ return baseMeasurementFrom != null && !baseMeasurementFrom.isEmpty();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM:
+ return baseMeasurement1From != null && !baseMeasurement1From.isEmpty();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM:
+ return baseMeasurement2From != null && !baseMeasurement2From.isEmpty();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO:
+ return rescaleTo != null && !rescaleTo.isEmpty();
+ case SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM:
+ return rankingFrom != null && !rankingFrom.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DimensionalMeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DirectMeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DirectMeasureImpl.java
new file mode 100644
index 000000000..cc7cd3f01
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DirectMeasureImpl.java
@@ -0,0 +1,164 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.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.modisco.omg.smm.DirectMeasure;
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Direct Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.DirectMeasureImpl#getOperation <em>Operation</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DirectMeasureImpl extends DimensionalMeasureImpl implements DirectMeasure {
+ /**
+ * The cached value of the '{@link #getOperation() <em>Operation</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperation()
+ * @generated
+ * @ordered
+ */
+ protected Operation operation;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DirectMeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.DIRECT_MEASURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getOperation() {
+ if (operation != null && operation.eIsProxy()) {
+ InternalEObject oldOperation = (InternalEObject)operation;
+ operation = (Operation)eResolveProxy(oldOperation);
+ if (operation != oldOperation) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.DIRECT_MEASURE__OPERATION, oldOperation, operation));
+ }
+ }
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetOperation() {
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperation(Operation newOperation) {
+ Operation oldOperation = operation;
+ operation = newOperation;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.DIRECT_MEASURE__OPERATION, oldOperation, operation));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.DIRECT_MEASURE__OPERATION:
+ if (resolve) return getOperation();
+ return basicGetOperation();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.DIRECT_MEASURE__OPERATION:
+ setOperation((Operation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.DIRECT_MEASURE__OPERATION:
+ setOperation((Operation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.DIRECT_MEASURE__OPERATION:
+ return operation != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //DirectMeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DirectMeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DirectMeasurementImpl.java
new file mode 100644
index 000000000..404ab9032
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/DirectMeasurementImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.modisco.omg.smm.DirectMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Direct Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class DirectMeasurementImpl extends DimensionalMeasurementImpl implements DirectMeasurement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DirectMeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.DIRECT_MEASUREMENT;
+ }
+
+} //DirectMeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/EquivalentMeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/EquivalentMeasureRelationshipImpl.java
new file mode 100644
index 000000000..e7a083b1d
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/EquivalentMeasureRelationshipImpl.java
@@ -0,0 +1,366 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship;
+import org.eclipse.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Equivalent Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasureRelationshipImpl#getMapping <em>Mapping</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasureRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasureRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EquivalentMeasureRelationshipImpl extends MeasureRelationshipImpl implements EquivalentMeasureRelationship {
+ /**
+ * The cached value of the '{@link #getMapping() <em>Mapping</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMapping()
+ * @generated
+ * @ordered
+ */
+ protected Operation mapping;
+
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected Measure from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected Measure to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EquivalentMeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.EQUIVALENT_MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getMapping() {
+ if (mapping != null && mapping.eIsProxy()) {
+ InternalEObject oldMapping = (InternalEObject)mapping;
+ mapping = (Operation)eResolveProxy(oldMapping);
+ if (mapping != oldMapping) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING, oldMapping, mapping));
+ }
+ }
+ return mapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetMapping() {
+ return mapping;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMapping(Operation newMapping) {
+ Operation oldMapping = mapping;
+ mapping = newMapping;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING, oldMapping, mapping));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (Measure)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(Measure newFrom, NotificationChain msgs) {
+ Measure oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(Measure newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASURE__EQUIVALENT_TO, Measure.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.MEASURE__EQUIVALENT_TO, Measure.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (Measure)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(Measure newTo, NotificationChain msgs) {
+ Measure oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(Measure newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASURE__EQUIVALENT_FROM, Measure.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.MEASURE__EQUIVALENT_FROM, Measure.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASURE__EQUIVALENT_TO, Measure.class, msgs);
+ return basicSetFrom((Measure)otherEnd, msgs);
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASURE__EQUIVALENT_FROM, Measure.class, msgs);
+ return basicSetTo((Measure)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING:
+ if (resolve) return getMapping();
+ return basicGetMapping();
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING:
+ setMapping((Operation)newValue);
+ return;
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM:
+ setFrom((Measure)newValue);
+ return;
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO:
+ setTo((Measure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING:
+ setMapping((Operation)null);
+ return;
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM:
+ setFrom((Measure)null);
+ return;
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO:
+ setTo((Measure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING:
+ return mapping != null;
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EquivalentMeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/EquivalentMeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/EquivalentMeasurementRelationshipImpl.java
new file mode 100644
index 000000000..a5554cd22
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/EquivalentMeasurementRelationshipImpl.java
@@ -0,0 +1,305 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Measurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Equivalent Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasurementRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.EquivalentMeasurementRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EquivalentMeasurementRelationshipImpl extends MeasurementRelationshipImpl implements EquivalentMeasurementRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected Measurement from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected Measurement to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EquivalentMeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.EQUIVALENT_MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (Measurement)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(Measurement newFrom, NotificationChain msgs) {
+ Measurement oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(Measurement newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASUREMENT__EQUIVALENT_TO, Measurement.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.MEASUREMENT__EQUIVALENT_TO, Measurement.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (Measurement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(Measurement newTo, NotificationChain msgs) {
+ Measurement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(Measurement newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASUREMENT__EQUIVALENT_FROM, Measurement.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.MEASUREMENT__EQUIVALENT_FROM, Measurement.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASUREMENT__EQUIVALENT_TO, Measurement.class, msgs);
+ return basicSetFrom((Measurement)otherEnd, msgs);
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASUREMENT__EQUIVALENT_FROM, Measurement.class, msgs);
+ return basicSetTo((Measurement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((Measurement)newValue);
+ return;
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((Measurement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((Measurement)null);
+ return;
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((Measurement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //EquivalentMeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/GradeImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/GradeImpl.java
new file mode 100644
index 000000000..a73443243
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/GradeImpl.java
@@ -0,0 +1,400 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.Grade;
+import org.eclipse.modisco.omg.smm.RankingMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Grade</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.GradeImpl#getBaseMeasurement <em>Base Measurement</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.GradeImpl#isIsBaseSupplied <em>Is Base Supplied</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.GradeImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.GradeImpl#getRankingTo <em>Ranking To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class GradeImpl extends MeasurementImpl implements Grade {
+ /**
+ * The cached value of the '{@link #getBaseMeasurement() <em>Base Measurement</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBaseMeasurement()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasurement baseMeasurement;
+
+ /**
+ * The default value of the '{@link #isIsBaseSupplied() <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSupplied()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BASE_SUPPLIED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBaseSupplied() <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSupplied()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBaseSupplied = IS_BASE_SUPPLIED_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRankingTo() <em>Ranking To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRankingTo()
+ * @generated
+ * @ordered
+ */
+ protected RankingMeasurementRelationship rankingTo;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected GradeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.GRADE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement getBaseMeasurement() {
+ if (baseMeasurement != null && baseMeasurement.eIsProxy()) {
+ InternalEObject oldBaseMeasurement = (InternalEObject)baseMeasurement;
+ baseMeasurement = (DimensionalMeasurement)eResolveProxy(oldBaseMeasurement);
+ if (baseMeasurement != oldBaseMeasurement) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.GRADE__BASE_MEASUREMENT, oldBaseMeasurement, baseMeasurement));
+ }
+ }
+ return baseMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement basicGetBaseMeasurement() {
+ return baseMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBaseMeasurement(DimensionalMeasurement newBaseMeasurement) {
+ DimensionalMeasurement oldBaseMeasurement = baseMeasurement;
+ baseMeasurement = newBaseMeasurement;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.GRADE__BASE_MEASUREMENT, oldBaseMeasurement, baseMeasurement));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBaseSupplied() {
+ return isBaseSupplied;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBaseSupplied(boolean newIsBaseSupplied) {
+ boolean oldIsBaseSupplied = isBaseSupplied;
+ isBaseSupplied = newIsBaseSupplied;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.GRADE__IS_BASE_SUPPLIED, oldIsBaseSupplied, isBaseSupplied));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue() {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue) {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.GRADE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RankingMeasurementRelationship getRankingTo() {
+ if (rankingTo != null && rankingTo.eIsProxy()) {
+ InternalEObject oldRankingTo = (InternalEObject)rankingTo;
+ rankingTo = (RankingMeasurementRelationship)eResolveProxy(oldRankingTo);
+ if (rankingTo != oldRankingTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.GRADE__RANKING_TO, oldRankingTo, rankingTo));
+ }
+ }
+ return rankingTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RankingMeasurementRelationship basicGetRankingTo() {
+ return rankingTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRankingTo(RankingMeasurementRelationship newRankingTo, NotificationChain msgs) {
+ RankingMeasurementRelationship oldRankingTo = rankingTo;
+ rankingTo = newRankingTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.GRADE__RANKING_TO, oldRankingTo, newRankingTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRankingTo(RankingMeasurementRelationship newRankingTo) {
+ if (newRankingTo != rankingTo) {
+ NotificationChain msgs = null;
+ if (rankingTo != null)
+ msgs = ((InternalEObject)rankingTo).eInverseRemove(this, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM, RankingMeasurementRelationship.class, msgs);
+ if (newRankingTo != null)
+ msgs = ((InternalEObject)newRankingTo).eInverseAdd(this, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM, RankingMeasurementRelationship.class, msgs);
+ msgs = basicSetRankingTo(newRankingTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.GRADE__RANKING_TO, newRankingTo, newRankingTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.GRADE__RANKING_TO:
+ if (rankingTo != null)
+ msgs = ((InternalEObject)rankingTo).eInverseRemove(this, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM, RankingMeasurementRelationship.class, msgs);
+ return basicSetRankingTo((RankingMeasurementRelationship)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.GRADE__RANKING_TO:
+ return basicSetRankingTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.GRADE__BASE_MEASUREMENT:
+ if (resolve) return getBaseMeasurement();
+ return basicGetBaseMeasurement();
+ case SmmPackage.GRADE__IS_BASE_SUPPLIED:
+ return isIsBaseSupplied();
+ case SmmPackage.GRADE__VALUE:
+ return getValue();
+ case SmmPackage.GRADE__RANKING_TO:
+ if (resolve) return getRankingTo();
+ return basicGetRankingTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.GRADE__BASE_MEASUREMENT:
+ setBaseMeasurement((DimensionalMeasurement)newValue);
+ return;
+ case SmmPackage.GRADE__IS_BASE_SUPPLIED:
+ setIsBaseSupplied((Boolean)newValue);
+ return;
+ case SmmPackage.GRADE__VALUE:
+ setValue((String)newValue);
+ return;
+ case SmmPackage.GRADE__RANKING_TO:
+ setRankingTo((RankingMeasurementRelationship)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.GRADE__BASE_MEASUREMENT:
+ setBaseMeasurement((DimensionalMeasurement)null);
+ return;
+ case SmmPackage.GRADE__IS_BASE_SUPPLIED:
+ setIsBaseSupplied(IS_BASE_SUPPLIED_EDEFAULT);
+ return;
+ case SmmPackage.GRADE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case SmmPackage.GRADE__RANKING_TO:
+ setRankingTo((RankingMeasurementRelationship)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.GRADE__BASE_MEASUREMENT:
+ return baseMeasurement != null;
+ case SmmPackage.GRADE__IS_BASE_SUPPLIED:
+ return isBaseSupplied != IS_BASE_SUPPLIED_EDEFAULT;
+ case SmmPackage.GRADE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case SmmPackage.GRADE__RANKING_TO:
+ return rankingTo != 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(" (isBaseSupplied: ");
+ result.append(isBaseSupplied);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //GradeImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureCategoryImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureCategoryImpl.java
new file mode 100644
index 000000000..d87044759
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureCategoryImpl.java
@@ -0,0 +1,249 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.MeasureCategory;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Measure Category</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureCategoryImpl#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureCategoryImpl#getCategoryElement <em>Category Element</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureCategoryImpl#getCategoryMeasure <em>Category Measure</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MeasureCategoryImpl extends AbstractMeasureElementImpl implements MeasureCategory {
+ /**
+ * The cached value of the '{@link #getCategory() <em>Category</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategory()
+ * @generated
+ * @ordered
+ */
+ protected EList<MeasureCategory> category;
+
+ /**
+ * The cached value of the '{@link #getCategoryElement() <em>Category Element</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategoryElement()
+ * @generated
+ * @ordered
+ */
+ protected EList<MeasureCategory> categoryElement;
+
+ /**
+ * The cached value of the '{@link #getCategoryMeasure() <em>Category Measure</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategoryMeasure()
+ * @generated
+ * @ordered
+ */
+ protected EList<Measure> categoryMeasure;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MeasureCategoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.MEASURE_CATEGORY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MeasureCategory> getCategory() {
+ if (category == null) {
+ category = new EObjectWithInverseResolvingEList.ManyInverse<MeasureCategory>(MeasureCategory.class, this, SmmPackage.MEASURE_CATEGORY__CATEGORY, SmmPackage.MEASURE_CATEGORY__CATEGORY_ELEMENT);
+ }
+ return category;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MeasureCategory> getCategoryElement() {
+ if (categoryElement == null) {
+ categoryElement = new EObjectWithInverseResolvingEList.ManyInverse<MeasureCategory>(MeasureCategory.class, this, SmmPackage.MEASURE_CATEGORY__CATEGORY_ELEMENT, SmmPackage.MEASURE_CATEGORY__CATEGORY);
+ }
+ return categoryElement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Measure> getCategoryMeasure() {
+ if (categoryMeasure == null) {
+ categoryMeasure = new EObjectWithInverseResolvingEList.ManyInverse<Measure>(Measure.class, this, SmmPackage.MEASURE_CATEGORY__CATEGORY_MEASURE, SmmPackage.MEASURE__CATEGORY);
+ }
+ return categoryMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getCategory()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_ELEMENT:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getCategoryElement()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_MEASURE:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getCategoryMeasure()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY:
+ return ((InternalEList<?>)getCategory()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_ELEMENT:
+ return ((InternalEList<?>)getCategoryElement()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_MEASURE:
+ return ((InternalEList<?>)getCategoryMeasure()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY:
+ return getCategory();
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_ELEMENT:
+ return getCategoryElement();
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_MEASURE:
+ return getCategoryMeasure();
+ }
+ 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 SmmPackage.MEASURE_CATEGORY__CATEGORY:
+ getCategory().clear();
+ getCategory().addAll((Collection<? extends MeasureCategory>)newValue);
+ return;
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_ELEMENT:
+ getCategoryElement().clear();
+ getCategoryElement().addAll((Collection<? extends MeasureCategory>)newValue);
+ return;
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_MEASURE:
+ getCategoryMeasure().clear();
+ getCategoryMeasure().addAll((Collection<? extends Measure>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY:
+ getCategory().clear();
+ return;
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_ELEMENT:
+ getCategoryElement().clear();
+ return;
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_MEASURE:
+ getCategoryMeasure().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY:
+ return category != null && !category.isEmpty();
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_ELEMENT:
+ return categoryElement != null && !categoryElement.isEmpty();
+ case SmmPackage.MEASURE_CATEGORY__CATEGORY_MEASURE:
+ return categoryMeasure != null && !categoryMeasure.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MeasureCategoryImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureImpl.java
new file mode 100644
index 000000000..74bd0c8ed
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureImpl.java
@@ -0,0 +1,928 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ * Nicolas Payneau (Mia-Software) - Bug 328610 - Remove of the code allowing to emulate an eOpposite link in the plug-in org.eclipse.modisco.omg.smm
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Argument;
+import org.eclipse.modisco.omg.smm.Characteristic;
+import org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship;
+import org.eclipse.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.MeasureCategory;
+import org.eclipse.modisco.omg.smm.MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RefinementMeasureRelationship;
+import org.eclipse.modisco.omg.smm.Scope;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getCategory <em>Category</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getTrait <em>Trait</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getScope <em>Scope</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getMeasureLabelFormat <em>Measure Label Format</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getRefinementTo <em>Refinement To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getRefinementFrom <em>Refinement From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getEquivalentTo <em>Equivalent To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getEquivalentFrom <em>Equivalent From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getRecursiveTo <em>Recursive To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getRecursiveFrom <em>Recursive From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getMeasurementLabelFormat <em>Measurement Label Format</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#isVisible <em>Visible</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getMeasureRelationships <em>Measure Relationships</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureImpl#getDefaultQuery <em>Default Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MeasureImpl extends AbstractMeasureElementImpl implements Measure {
+ /**
+ * The cached value of the '{@link #getCategory() <em>Category</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategory()
+ * @generated
+ * @ordered
+ */
+ protected EList<MeasureCategory> category;
+
+ /**
+ * The cached value of the '{@link #getTrait() <em>Trait</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTrait()
+ * @generated
+ * @ordered
+ */
+ protected Characteristic trait;
+
+ /**
+ * The cached value of the '{@link #getScope() <em>Scope</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScope()
+ * @generated
+ * @ordered
+ */
+ protected Scope scope;
+
+ /**
+ * The default value of the '{@link #getMeasureLabelFormat() <em>Measure Label Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasureLabelFormat()
+ * @generated
+ * @ordered
+ */
+ protected static final String MEASURE_LABEL_FORMAT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMeasureLabelFormat() <em>Measure Label Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasureLabelFormat()
+ * @generated
+ * @ordered
+ */
+ protected String measureLabelFormat = MEASURE_LABEL_FORMAT_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRefinementTo() <em>Refinement To</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRefinementTo()
+ * @generated
+ * @ordered
+ */
+ protected EList<RefinementMeasureRelationship> refinementTo;
+
+ /**
+ * The cached value of the '{@link #getRefinementFrom() <em>Refinement From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRefinementFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<RefinementMeasureRelationship> refinementFrom;
+
+ /**
+ * The cached value of the '{@link #getEquivalentTo() <em>Equivalent To</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEquivalentTo()
+ * @generated
+ * @ordered
+ */
+ protected EList<EquivalentMeasureRelationship> equivalentTo;
+
+ /**
+ * The cached value of the '{@link #getEquivalentFrom() <em>Equivalent From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEquivalentFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<EquivalentMeasureRelationship> equivalentFrom;
+
+ /**
+ * The cached value of the '{@link #getRecursiveTo() <em>Recursive To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRecursiveTo()
+ * @generated
+ * @ordered
+ */
+ protected RecursiveMeasureRelationship recursiveTo;
+
+ /**
+ * The cached value of the '{@link #getRecursiveFrom() <em>Recursive From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRecursiveFrom()
+ * @generated
+ * @ordered
+ */
+ protected RecursiveMeasureRelationship recursiveFrom;
+
+ /**
+ * The default value of the '{@link #getMeasurementLabelFormat() <em>Measurement Label Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasurementLabelFormat()
+ * @generated
+ * @ordered
+ */
+ protected static final String MEASUREMENT_LABEL_FORMAT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getMeasurementLabelFormat() <em>Measurement Label Format</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasurementLabelFormat()
+ * @generated
+ * @ordered
+ */
+ protected String measurementLabelFormat = MEASUREMENT_LABEL_FORMAT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isVisible() <em>Visible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isVisible()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean VISIBLE_EDEFAULT = true;
+
+ /**
+ * The cached value of the '{@link #isVisible() <em>Visible</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isVisible()
+ * @generated
+ * @ordered
+ */
+ protected boolean visible = VISIBLE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMeasureRelationships() <em>Measure Relationships</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasureRelationships()
+ * @generated
+ * @ordered
+ */
+ protected EList<MeasureRelationship> measureRelationships;
+
+ /**
+ * The cached value of the '{@link #getDefaultQuery() <em>Default Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDefaultQuery()
+ * @generated
+ * @ordered
+ */
+ protected Operation defaultQuery;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.MEASURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MeasureCategory> getCategory() {
+ if (category == null) {
+ category = new EObjectWithInverseResolvingEList.ManyInverse<MeasureCategory>(MeasureCategory.class, this, SmmPackage.MEASURE__CATEGORY, SmmPackage.MEASURE_CATEGORY__CATEGORY_MEASURE);
+ }
+ return category;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Characteristic getTrait() {
+ if (trait != null && trait.eIsProxy()) {
+ InternalEObject oldTrait = (InternalEObject)trait;
+ trait = (Characteristic)eResolveProxy(oldTrait);
+ if (trait != oldTrait) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.MEASURE__TRAIT, oldTrait, trait));
+ }
+ }
+ return trait;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Characteristic basicGetTrait() {
+ return trait;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTrait(Characteristic newTrait) {
+ Characteristic oldTrait = trait;
+ trait = newTrait;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__TRAIT, oldTrait, trait));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scope getScope() {
+ if (scope != null && scope.eIsProxy()) {
+ InternalEObject oldScope = (InternalEObject)scope;
+ scope = (Scope)eResolveProxy(oldScope);
+ if (scope != oldScope) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.MEASURE__SCOPE, oldScope, scope));
+ }
+ }
+ return scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scope basicGetScope() {
+ return scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setScope(Scope newScope) {
+ Scope oldScope = scope;
+ scope = newScope;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__SCOPE, oldScope, scope));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMeasureLabelFormat() {
+ return measureLabelFormat;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMeasureLabelFormat(String newMeasureLabelFormat) {
+ String oldMeasureLabelFormat = measureLabelFormat;
+ measureLabelFormat = newMeasureLabelFormat;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__MEASURE_LABEL_FORMAT, oldMeasureLabelFormat, measureLabelFormat));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RefinementMeasureRelationship> getRefinementTo() {
+ if (refinementTo == null) {
+ refinementTo = new EObjectWithInverseResolvingEList<RefinementMeasureRelationship>(RefinementMeasureRelationship.class, this, SmmPackage.MEASURE__REFINEMENT_TO, SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM);
+ }
+ return refinementTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RefinementMeasureRelationship> getRefinementFrom() {
+ if (refinementFrom == null) {
+ refinementFrom = new EObjectWithInverseResolvingEList<RefinementMeasureRelationship>(RefinementMeasureRelationship.class, this, SmmPackage.MEASURE__REFINEMENT_FROM, SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO);
+ }
+ return refinementFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EquivalentMeasureRelationship> getEquivalentTo() {
+ if (equivalentTo == null) {
+ equivalentTo = new EObjectWithInverseResolvingEList<EquivalentMeasureRelationship>(EquivalentMeasureRelationship.class, this, SmmPackage.MEASURE__EQUIVALENT_TO, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__FROM);
+ }
+ return equivalentTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EquivalentMeasureRelationship> getEquivalentFrom() {
+ if (equivalentFrom == null) {
+ equivalentFrom = new EObjectWithInverseResolvingEList<EquivalentMeasureRelationship>(EquivalentMeasureRelationship.class, this, SmmPackage.MEASURE__EQUIVALENT_FROM, SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP__TO);
+ }
+ return equivalentFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RecursiveMeasureRelationship getRecursiveTo() {
+ if (recursiveTo != null && recursiveTo.eIsProxy()) {
+ InternalEObject oldRecursiveTo = (InternalEObject)recursiveTo;
+ recursiveTo = (RecursiveMeasureRelationship)eResolveProxy(oldRecursiveTo);
+ if (recursiveTo != oldRecursiveTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.MEASURE__RECURSIVE_TO, oldRecursiveTo, recursiveTo));
+ }
+ }
+ return recursiveTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RecursiveMeasureRelationship basicGetRecursiveTo() {
+ return recursiveTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRecursiveTo(RecursiveMeasureRelationship newRecursiveTo, NotificationChain msgs) {
+ RecursiveMeasureRelationship oldRecursiveTo = recursiveTo;
+ recursiveTo = newRecursiveTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__RECURSIVE_TO, oldRecursiveTo, newRecursiveTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRecursiveTo(RecursiveMeasureRelationship newRecursiveTo) {
+ if (newRecursiveTo != recursiveTo) {
+ NotificationChain msgs = null;
+ if (recursiveTo != null)
+ msgs = ((InternalEObject)recursiveTo).eInverseRemove(this, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM, RecursiveMeasureRelationship.class, msgs);
+ if (newRecursiveTo != null)
+ msgs = ((InternalEObject)newRecursiveTo).eInverseAdd(this, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM, RecursiveMeasureRelationship.class, msgs);
+ msgs = basicSetRecursiveTo(newRecursiveTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__RECURSIVE_TO, newRecursiveTo, newRecursiveTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RecursiveMeasureRelationship getRecursiveFrom() {
+ if (recursiveFrom != null && recursiveFrom.eIsProxy()) {
+ InternalEObject oldRecursiveFrom = (InternalEObject)recursiveFrom;
+ recursiveFrom = (RecursiveMeasureRelationship)eResolveProxy(oldRecursiveFrom);
+ if (recursiveFrom != oldRecursiveFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.MEASURE__RECURSIVE_FROM, oldRecursiveFrom, recursiveFrom));
+ }
+ }
+ return recursiveFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RecursiveMeasureRelationship basicGetRecursiveFrom() {
+ return recursiveFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRecursiveFrom(RecursiveMeasureRelationship newRecursiveFrom, NotificationChain msgs) {
+ RecursiveMeasureRelationship oldRecursiveFrom = recursiveFrom;
+ recursiveFrom = newRecursiveFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__RECURSIVE_FROM, oldRecursiveFrom, newRecursiveFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRecursiveFrom(RecursiveMeasureRelationship newRecursiveFrom) {
+ if (newRecursiveFrom != recursiveFrom) {
+ NotificationChain msgs = null;
+ if (recursiveFrom != null)
+ msgs = ((InternalEObject)recursiveFrom).eInverseRemove(this, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO, RecursiveMeasureRelationship.class, msgs);
+ if (newRecursiveFrom != null)
+ msgs = ((InternalEObject)newRecursiveFrom).eInverseAdd(this, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO, RecursiveMeasureRelationship.class, msgs);
+ msgs = basicSetRecursiveFrom(newRecursiveFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__RECURSIVE_FROM, newRecursiveFrom, newRecursiveFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMeasurementLabelFormat() {
+ return measurementLabelFormat;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMeasurementLabelFormat(String newMeasurementLabelFormat) {
+ String oldMeasurementLabelFormat = measurementLabelFormat;
+ measurementLabelFormat = newMeasurementLabelFormat;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__MEASUREMENT_LABEL_FORMAT, oldMeasurementLabelFormat, measurementLabelFormat));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isVisible() {
+ return visible;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setVisible(boolean newVisible) {
+ boolean oldVisible = visible;
+ visible = newVisible;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__VISIBLE, oldVisible, visible));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MeasureRelationship> getMeasureRelationships() {
+ if (measureRelationships == null) {
+ measureRelationships = new EObjectContainmentEList<MeasureRelationship>(MeasureRelationship.class, this, SmmPackage.MEASURE__MEASURE_RELATIONSHIPS);
+ }
+ return measureRelationships;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getDefaultQuery() {
+ if (defaultQuery != null && defaultQuery.eIsProxy()) {
+ InternalEObject oldDefaultQuery = (InternalEObject)defaultQuery;
+ defaultQuery = (Operation)eResolveProxy(oldDefaultQuery);
+ if (defaultQuery != oldDefaultQuery) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.MEASURE__DEFAULT_QUERY, oldDefaultQuery, defaultQuery));
+ }
+ }
+ return defaultQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetDefaultQuery() {
+ return defaultQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDefaultQuery(Operation newDefaultQuery) {
+ Operation oldDefaultQuery = defaultQuery;
+ defaultQuery = newDefaultQuery;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE__DEFAULT_QUERY, oldDefaultQuery, defaultQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Argument> getArguments() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Argument> getAllArguments() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.MEASURE__CATEGORY:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getCategory()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASURE__REFINEMENT_TO:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRefinementTo()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASURE__REFINEMENT_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRefinementFrom()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASURE__EQUIVALENT_TO:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getEquivalentTo()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASURE__EQUIVALENT_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getEquivalentFrom()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASURE__RECURSIVE_TO:
+ if (recursiveTo != null)
+ msgs = ((InternalEObject)recursiveTo).eInverseRemove(this, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM, RecursiveMeasureRelationship.class, msgs);
+ return basicSetRecursiveTo((RecursiveMeasureRelationship)otherEnd, msgs);
+ case SmmPackage.MEASURE__RECURSIVE_FROM:
+ if (recursiveFrom != null)
+ msgs = ((InternalEObject)recursiveFrom).eInverseRemove(this, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO, RecursiveMeasureRelationship.class, msgs);
+ return basicSetRecursiveFrom((RecursiveMeasureRelationship)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.MEASURE__CATEGORY:
+ return ((InternalEList<?>)getCategory()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASURE__REFINEMENT_TO:
+ return ((InternalEList<?>)getRefinementTo()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASURE__REFINEMENT_FROM:
+ return ((InternalEList<?>)getRefinementFrom()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASURE__EQUIVALENT_TO:
+ return ((InternalEList<?>)getEquivalentTo()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASURE__EQUIVALENT_FROM:
+ return ((InternalEList<?>)getEquivalentFrom()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASURE__RECURSIVE_TO:
+ return basicSetRecursiveTo(null, msgs);
+ case SmmPackage.MEASURE__RECURSIVE_FROM:
+ return basicSetRecursiveFrom(null, msgs);
+ case SmmPackage.MEASURE__MEASURE_RELATIONSHIPS:
+ return ((InternalEList<?>)getMeasureRelationships()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.MEASURE__CATEGORY:
+ return getCategory();
+ case SmmPackage.MEASURE__TRAIT:
+ if (resolve) return getTrait();
+ return basicGetTrait();
+ case SmmPackage.MEASURE__SCOPE:
+ if (resolve) return getScope();
+ return basicGetScope();
+ case SmmPackage.MEASURE__MEASURE_LABEL_FORMAT:
+ return getMeasureLabelFormat();
+ case SmmPackage.MEASURE__REFINEMENT_TO:
+ return getRefinementTo();
+ case SmmPackage.MEASURE__REFINEMENT_FROM:
+ return getRefinementFrom();
+ case SmmPackage.MEASURE__EQUIVALENT_TO:
+ return getEquivalentTo();
+ case SmmPackage.MEASURE__EQUIVALENT_FROM:
+ return getEquivalentFrom();
+ case SmmPackage.MEASURE__RECURSIVE_TO:
+ if (resolve) return getRecursiveTo();
+ return basicGetRecursiveTo();
+ case SmmPackage.MEASURE__RECURSIVE_FROM:
+ if (resolve) return getRecursiveFrom();
+ return basicGetRecursiveFrom();
+ case SmmPackage.MEASURE__MEASUREMENT_LABEL_FORMAT:
+ return getMeasurementLabelFormat();
+ case SmmPackage.MEASURE__VISIBLE:
+ return isVisible();
+ case SmmPackage.MEASURE__MEASURE_RELATIONSHIPS:
+ return getMeasureRelationships();
+ case SmmPackage.MEASURE__DEFAULT_QUERY:
+ if (resolve) return getDefaultQuery();
+ return basicGetDefaultQuery();
+ }
+ 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 SmmPackage.MEASURE__CATEGORY:
+ getCategory().clear();
+ getCategory().addAll((Collection<? extends MeasureCategory>)newValue);
+ return;
+ case SmmPackage.MEASURE__TRAIT:
+ setTrait((Characteristic)newValue);
+ return;
+ case SmmPackage.MEASURE__SCOPE:
+ setScope((Scope)newValue);
+ return;
+ case SmmPackage.MEASURE__MEASURE_LABEL_FORMAT:
+ setMeasureLabelFormat((String)newValue);
+ return;
+ case SmmPackage.MEASURE__REFINEMENT_TO:
+ getRefinementTo().clear();
+ getRefinementTo().addAll((Collection<? extends RefinementMeasureRelationship>)newValue);
+ return;
+ case SmmPackage.MEASURE__REFINEMENT_FROM:
+ getRefinementFrom().clear();
+ getRefinementFrom().addAll((Collection<? extends RefinementMeasureRelationship>)newValue);
+ return;
+ case SmmPackage.MEASURE__EQUIVALENT_TO:
+ getEquivalentTo().clear();
+ getEquivalentTo().addAll((Collection<? extends EquivalentMeasureRelationship>)newValue);
+ return;
+ case SmmPackage.MEASURE__EQUIVALENT_FROM:
+ getEquivalentFrom().clear();
+ getEquivalentFrom().addAll((Collection<? extends EquivalentMeasureRelationship>)newValue);
+ return;
+ case SmmPackage.MEASURE__RECURSIVE_TO:
+ setRecursiveTo((RecursiveMeasureRelationship)newValue);
+ return;
+ case SmmPackage.MEASURE__RECURSIVE_FROM:
+ setRecursiveFrom((RecursiveMeasureRelationship)newValue);
+ return;
+ case SmmPackage.MEASURE__MEASUREMENT_LABEL_FORMAT:
+ setMeasurementLabelFormat((String)newValue);
+ return;
+ case SmmPackage.MEASURE__VISIBLE:
+ setVisible((Boolean)newValue);
+ return;
+ case SmmPackage.MEASURE__MEASURE_RELATIONSHIPS:
+ getMeasureRelationships().clear();
+ getMeasureRelationships().addAll((Collection<? extends MeasureRelationship>)newValue);
+ return;
+ case SmmPackage.MEASURE__DEFAULT_QUERY:
+ setDefaultQuery((Operation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASURE__CATEGORY:
+ getCategory().clear();
+ return;
+ case SmmPackage.MEASURE__TRAIT:
+ setTrait((Characteristic)null);
+ return;
+ case SmmPackage.MEASURE__SCOPE:
+ setScope((Scope)null);
+ return;
+ case SmmPackage.MEASURE__MEASURE_LABEL_FORMAT:
+ setMeasureLabelFormat(MEASURE_LABEL_FORMAT_EDEFAULT);
+ return;
+ case SmmPackage.MEASURE__REFINEMENT_TO:
+ getRefinementTo().clear();
+ return;
+ case SmmPackage.MEASURE__REFINEMENT_FROM:
+ getRefinementFrom().clear();
+ return;
+ case SmmPackage.MEASURE__EQUIVALENT_TO:
+ getEquivalentTo().clear();
+ return;
+ case SmmPackage.MEASURE__EQUIVALENT_FROM:
+ getEquivalentFrom().clear();
+ return;
+ case SmmPackage.MEASURE__RECURSIVE_TO:
+ setRecursiveTo((RecursiveMeasureRelationship)null);
+ return;
+ case SmmPackage.MEASURE__RECURSIVE_FROM:
+ setRecursiveFrom((RecursiveMeasureRelationship)null);
+ return;
+ case SmmPackage.MEASURE__MEASUREMENT_LABEL_FORMAT:
+ setMeasurementLabelFormat(MEASUREMENT_LABEL_FORMAT_EDEFAULT);
+ return;
+ case SmmPackage.MEASURE__VISIBLE:
+ setVisible(VISIBLE_EDEFAULT);
+ return;
+ case SmmPackage.MEASURE__MEASURE_RELATIONSHIPS:
+ getMeasureRelationships().clear();
+ return;
+ case SmmPackage.MEASURE__DEFAULT_QUERY:
+ setDefaultQuery((Operation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASURE__CATEGORY:
+ return category != null && !category.isEmpty();
+ case SmmPackage.MEASURE__TRAIT:
+ return trait != null;
+ case SmmPackage.MEASURE__SCOPE:
+ return scope != null;
+ case SmmPackage.MEASURE__MEASURE_LABEL_FORMAT:
+ return MEASURE_LABEL_FORMAT_EDEFAULT == null ? measureLabelFormat != null : !MEASURE_LABEL_FORMAT_EDEFAULT.equals(measureLabelFormat);
+ case SmmPackage.MEASURE__REFINEMENT_TO:
+ return refinementTo != null && !refinementTo.isEmpty();
+ case SmmPackage.MEASURE__REFINEMENT_FROM:
+ return refinementFrom != null && !refinementFrom.isEmpty();
+ case SmmPackage.MEASURE__EQUIVALENT_TO:
+ return equivalentTo != null && !equivalentTo.isEmpty();
+ case SmmPackage.MEASURE__EQUIVALENT_FROM:
+ return equivalentFrom != null && !equivalentFrom.isEmpty();
+ case SmmPackage.MEASURE__RECURSIVE_TO:
+ return recursiveTo != null;
+ case SmmPackage.MEASURE__RECURSIVE_FROM:
+ return recursiveFrom != null;
+ case SmmPackage.MEASURE__MEASUREMENT_LABEL_FORMAT:
+ return MEASUREMENT_LABEL_FORMAT_EDEFAULT == null ? measurementLabelFormat != null : !MEASUREMENT_LABEL_FORMAT_EDEFAULT.equals(measurementLabelFormat);
+ case SmmPackage.MEASURE__VISIBLE:
+ return visible != VISIBLE_EDEFAULT;
+ case SmmPackage.MEASURE__MEASURE_RELATIONSHIPS:
+ return measureRelationships != null && !measureRelationships.isEmpty();
+ case SmmPackage.MEASURE__DEFAULT_QUERY:
+ return defaultQuery != 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(" (measureLabelFormat: ");
+ result.append(measureLabelFormat);
+ result.append(", measurementLabelFormat: ");
+ result.append(measurementLabelFormat);
+ result.append(", visible: ");
+ result.append(visible);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureLibraryImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureLibraryImpl.java
new file mode 100644
index 000000000..c9591407d
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureLibraryImpl.java
@@ -0,0 +1,217 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.AbstractMeasureElement;
+import org.eclipse.modisco.omg.smm.CategoryRelationship;
+import org.eclipse.modisco.omg.smm.MeasureLibrary;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Measure Library</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureLibraryImpl#getMeasureElements <em>Measure Elements</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureLibraryImpl#getCategoryRelationships <em>Category Relationships</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MeasureLibraryImpl extends SmmElementImpl implements MeasureLibrary {
+ /**
+ * The cached value of the '{@link #getMeasureElements() <em>Measure Elements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasureElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<AbstractMeasureElement> measureElements;
+
+ /**
+ * The cached value of the '{@link #getCategoryRelationships() <em>Category Relationships</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCategoryRelationships()
+ * @generated
+ * @ordered
+ */
+ protected EList<CategoryRelationship> categoryRelationships;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MeasureLibraryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.MEASURE_LIBRARY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractMeasureElement> getMeasureElements() {
+ if (measureElements == null) {
+ measureElements = new EObjectContainmentEList<AbstractMeasureElement>(AbstractMeasureElement.class, this, SmmPackage.MEASURE_LIBRARY__MEASURE_ELEMENTS);
+ }
+ return measureElements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<CategoryRelationship> getCategoryRelationships() {
+ if (categoryRelationships == null) {
+ categoryRelationships = new EObjectContainmentEList<CategoryRelationship>(CategoryRelationship.class, this, SmmPackage.MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS);
+ }
+ return categoryRelationships;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractMeasureElement> getOperations() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<AbstractMeasureElement> getOclOperations() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_LIBRARY__MEASURE_ELEMENTS:
+ return ((InternalEList<?>)getMeasureElements()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS:
+ return ((InternalEList<?>)getCategoryRelationships()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_LIBRARY__MEASURE_ELEMENTS:
+ return getMeasureElements();
+ case SmmPackage.MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS:
+ return getCategoryRelationships();
+ }
+ 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 SmmPackage.MEASURE_LIBRARY__MEASURE_ELEMENTS:
+ getMeasureElements().clear();
+ getMeasureElements().addAll((Collection<? extends AbstractMeasureElement>)newValue);
+ return;
+ case SmmPackage.MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS:
+ getCategoryRelationships().clear();
+ getCategoryRelationships().addAll((Collection<? extends CategoryRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_LIBRARY__MEASURE_ELEMENTS:
+ getMeasureElements().clear();
+ return;
+ case SmmPackage.MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS:
+ getCategoryRelationships().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_LIBRARY__MEASURE_ELEMENTS:
+ return measureElements != null && !measureElements.isEmpty();
+ case SmmPackage.MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS:
+ return categoryRelationships != null && !categoryRelationships.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MeasureLibraryImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureRelationshipImpl.java
new file mode 100644
index 000000000..e8d702782
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasureRelationshipImpl.java
@@ -0,0 +1,187 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.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.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasureRelationshipImpl#getMeasurandQuery <em>Measurand Query</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MeasureRelationshipImpl extends SmmElementImpl implements MeasureRelationship {
+ /**
+ * The cached value of the '{@link #getMeasurandQuery() <em>Measurand Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasurandQuery()
+ * @generated
+ * @ordered
+ */
+ protected Operation measurandQuery;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getMeasurandQuery() {
+ if (measurandQuery != null && measurandQuery.eIsProxy()) {
+ InternalEObject oldMeasurandQuery = (InternalEObject)measurandQuery;
+ measurandQuery = (Operation)eResolveProxy(oldMeasurandQuery);
+ if (measurandQuery != oldMeasurandQuery) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.MEASURE_RELATIONSHIP__MEASURAND_QUERY, oldMeasurandQuery, measurandQuery));
+ }
+ }
+ return measurandQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetMeasurandQuery() {
+ return measurandQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMeasurandQuery(Operation newMeasurandQuery) {
+ Operation oldMeasurandQuery = measurandQuery;
+ measurandQuery = newMeasurandQuery;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASURE_RELATIONSHIP__MEASURAND_QUERY, oldMeasurandQuery, measurandQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getTo() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getFrom() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_RELATIONSHIP__MEASURAND_QUERY:
+ if (resolve) return getMeasurandQuery();
+ return basicGetMeasurandQuery();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_RELATIONSHIP__MEASURAND_QUERY:
+ setMeasurandQuery((Operation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_RELATIONSHIP__MEASURAND_QUERY:
+ setMeasurandQuery((Operation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASURE_RELATIONSHIP__MEASURAND_QUERY:
+ return measurandQuery != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //MeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasurementImpl.java
new file mode 100644
index 000000000..8048d6346
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasurementImpl.java
@@ -0,0 +1,661 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Measurement;
+import org.eclipse.modisco.omg.smm.MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getError <em>Error</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getMeasurand <em>Measurand</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getBreakValue <em>Break Value</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getRefinementTo <em>Refinement To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getRefinementFrom <em>Refinement From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getEquivalentTo <em>Equivalent To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getEquivalentFrom <em>Equivalent From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getRecursiveTo <em>Recursive To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getRecursiveFrom <em>Recursive From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.MeasurementImpl#getMeasurementRelationships <em>Measurement Relationships</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MeasurementImpl extends SmmElementImpl implements Measurement {
+ /**
+ * The default value of the '{@link #getError() <em>Error</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getError()
+ * @generated
+ * @ordered
+ */
+ protected static final String ERROR_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getError() <em>Error</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getError()
+ * @generated
+ * @ordered
+ */
+ protected String error = ERROR_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getMeasurand() <em>Measurand</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasurand()
+ * @generated
+ * @ordered
+ */
+ protected EObject measurand;
+
+ /**
+ * The default value of the '{@link #getBreakValue() <em>Break Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBreakValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String BREAK_VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBreakValue() <em>Break Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBreakValue()
+ * @generated
+ * @ordered
+ */
+ protected String breakValue = BREAK_VALUE_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRefinementTo() <em>Refinement To</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRefinementTo()
+ * @generated
+ * @ordered
+ */
+ protected EList<RefinementMeasurementRelationship> refinementTo;
+
+ /**
+ * The cached value of the '{@link #getRefinementFrom() <em>Refinement From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRefinementFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<RefinementMeasurementRelationship> refinementFrom;
+
+ /**
+ * The cached value of the '{@link #getEquivalentTo() <em>Equivalent To</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEquivalentTo()
+ * @generated
+ * @ordered
+ */
+ protected EList<EquivalentMeasurementRelationship> equivalentTo;
+
+ /**
+ * The cached value of the '{@link #getEquivalentFrom() <em>Equivalent From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getEquivalentFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<EquivalentMeasurementRelationship> equivalentFrom;
+
+ /**
+ * The cached value of the '{@link #getRecursiveTo() <em>Recursive To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRecursiveTo()
+ * @generated
+ * @ordered
+ */
+ protected RecursiveMeasurementRelationship recursiveTo;
+
+ /**
+ * The cached value of the '{@link #getRecursiveFrom() <em>Recursive From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRecursiveFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<RecursiveMeasurementRelationship> recursiveFrom;
+
+ /**
+ * The cached value of the '{@link #getMeasurementRelationships() <em>Measurement Relationships</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasurementRelationships()
+ * @generated
+ * @ordered
+ */
+ protected EList<MeasurementRelationship> measurementRelationships;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.MEASUREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getError() {
+ return error;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setError(String newError) {
+ String oldError = error;
+ error = newError;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASUREMENT__ERROR, oldError, error));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject getMeasurand() {
+ if (measurand != null && measurand.eIsProxy()) {
+ InternalEObject oldMeasurand = (InternalEObject)measurand;
+ measurand = eResolveProxy(oldMeasurand);
+ if (measurand != oldMeasurand) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.MEASUREMENT__MEASURAND, oldMeasurand, measurand));
+ }
+ }
+ return measurand;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EObject basicGetMeasurand() {
+ return measurand;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMeasurand(EObject newMeasurand) {
+ EObject oldMeasurand = measurand;
+ measurand = newMeasurand;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASUREMENT__MEASURAND, oldMeasurand, measurand));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBreakValue() {
+ return breakValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBreakValue(String newBreakValue) {
+ String oldBreakValue = breakValue;
+ breakValue = newBreakValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASUREMENT__BREAK_VALUE, oldBreakValue, breakValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RefinementMeasurementRelationship> getRefinementTo() {
+ if (refinementTo == null) {
+ refinementTo = new EObjectWithInverseResolvingEList<RefinementMeasurementRelationship>(RefinementMeasurementRelationship.class, this, SmmPackage.MEASUREMENT__REFINEMENT_TO, SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM);
+ }
+ return refinementTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RefinementMeasurementRelationship> getRefinementFrom() {
+ if (refinementFrom == null) {
+ refinementFrom = new EObjectWithInverseResolvingEList<RefinementMeasurementRelationship>(RefinementMeasurementRelationship.class, this, SmmPackage.MEASUREMENT__REFINEMENT_FROM, SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO);
+ }
+ return refinementFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EquivalentMeasurementRelationship> getEquivalentTo() {
+ if (equivalentTo == null) {
+ equivalentTo = new EObjectWithInverseResolvingEList<EquivalentMeasurementRelationship>(EquivalentMeasurementRelationship.class, this, SmmPackage.MEASUREMENT__EQUIVALENT_TO, SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM);
+ }
+ return equivalentTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EquivalentMeasurementRelationship> getEquivalentFrom() {
+ if (equivalentFrom == null) {
+ equivalentFrom = new EObjectWithInverseResolvingEList<EquivalentMeasurementRelationship>(EquivalentMeasurementRelationship.class, this, SmmPackage.MEASUREMENT__EQUIVALENT_FROM, SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO);
+ }
+ return equivalentFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RecursiveMeasurementRelationship getRecursiveTo() {
+ if (recursiveTo != null && recursiveTo.eIsProxy()) {
+ InternalEObject oldRecursiveTo = (InternalEObject)recursiveTo;
+ recursiveTo = (RecursiveMeasurementRelationship)eResolveProxy(oldRecursiveTo);
+ if (recursiveTo != oldRecursiveTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.MEASUREMENT__RECURSIVE_TO, oldRecursiveTo, recursiveTo));
+ }
+ }
+ return recursiveTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RecursiveMeasurementRelationship basicGetRecursiveTo() {
+ return recursiveTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRecursiveTo(RecursiveMeasurementRelationship newRecursiveTo, NotificationChain msgs) {
+ RecursiveMeasurementRelationship oldRecursiveTo = recursiveTo;
+ recursiveTo = newRecursiveTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.MEASUREMENT__RECURSIVE_TO, oldRecursiveTo, newRecursiveTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRecursiveTo(RecursiveMeasurementRelationship newRecursiveTo) {
+ if (newRecursiveTo != recursiveTo) {
+ NotificationChain msgs = null;
+ if (recursiveTo != null)
+ msgs = ((InternalEObject)recursiveTo).eInverseRemove(this, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM, RecursiveMeasurementRelationship.class, msgs);
+ if (newRecursiveTo != null)
+ msgs = ((InternalEObject)newRecursiveTo).eInverseAdd(this, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM, RecursiveMeasurementRelationship.class, msgs);
+ msgs = basicSetRecursiveTo(newRecursiveTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.MEASUREMENT__RECURSIVE_TO, newRecursiveTo, newRecursiveTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RecursiveMeasurementRelationship> getRecursiveFrom() {
+ if (recursiveFrom == null) {
+ recursiveFrom = new EObjectWithInverseResolvingEList<RecursiveMeasurementRelationship>(RecursiveMeasurementRelationship.class, this, SmmPackage.MEASUREMENT__RECURSIVE_FROM, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO);
+ }
+ return recursiveFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MeasurementRelationship> getMeasurementRelationships() {
+ if (measurementRelationships == null) {
+ measurementRelationships = new EObjectContainmentEList<MeasurementRelationship>(MeasurementRelationship.class, this, SmmPackage.MEASUREMENT__MEASUREMENT_RELATIONSHIPS);
+ }
+ return measurementRelationships;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMeasureLabel() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getMeasurementLabel() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.MEASUREMENT__REFINEMENT_TO:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRefinementTo()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__REFINEMENT_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRefinementFrom()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__EQUIVALENT_TO:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getEquivalentTo()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__EQUIVALENT_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getEquivalentFrom()).basicAdd(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__RECURSIVE_TO:
+ if (recursiveTo != null)
+ msgs = ((InternalEObject)recursiveTo).eInverseRemove(this, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM, RecursiveMeasurementRelationship.class, msgs);
+ return basicSetRecursiveTo((RecursiveMeasurementRelationship)otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__RECURSIVE_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRecursiveFrom()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.MEASUREMENT__REFINEMENT_TO:
+ return ((InternalEList<?>)getRefinementTo()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__REFINEMENT_FROM:
+ return ((InternalEList<?>)getRefinementFrom()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__EQUIVALENT_TO:
+ return ((InternalEList<?>)getEquivalentTo()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__EQUIVALENT_FROM:
+ return ((InternalEList<?>)getEquivalentFrom()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__RECURSIVE_TO:
+ return basicSetRecursiveTo(null, msgs);
+ case SmmPackage.MEASUREMENT__RECURSIVE_FROM:
+ return ((InternalEList<?>)getRecursiveFrom()).basicRemove(otherEnd, msgs);
+ case SmmPackage.MEASUREMENT__MEASUREMENT_RELATIONSHIPS:
+ return ((InternalEList<?>)getMeasurementRelationships()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.MEASUREMENT__ERROR:
+ return getError();
+ case SmmPackage.MEASUREMENT__MEASURAND:
+ if (resolve) return getMeasurand();
+ return basicGetMeasurand();
+ case SmmPackage.MEASUREMENT__BREAK_VALUE:
+ return getBreakValue();
+ case SmmPackage.MEASUREMENT__REFINEMENT_TO:
+ return getRefinementTo();
+ case SmmPackage.MEASUREMENT__REFINEMENT_FROM:
+ return getRefinementFrom();
+ case SmmPackage.MEASUREMENT__EQUIVALENT_TO:
+ return getEquivalentTo();
+ case SmmPackage.MEASUREMENT__EQUIVALENT_FROM:
+ return getEquivalentFrom();
+ case SmmPackage.MEASUREMENT__RECURSIVE_TO:
+ if (resolve) return getRecursiveTo();
+ return basicGetRecursiveTo();
+ case SmmPackage.MEASUREMENT__RECURSIVE_FROM:
+ return getRecursiveFrom();
+ case SmmPackage.MEASUREMENT__MEASUREMENT_RELATIONSHIPS:
+ return getMeasurementRelationships();
+ }
+ 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 SmmPackage.MEASUREMENT__ERROR:
+ setError((String)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__MEASURAND:
+ setMeasurand((EObject)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__BREAK_VALUE:
+ setBreakValue((String)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__REFINEMENT_TO:
+ getRefinementTo().clear();
+ getRefinementTo().addAll((Collection<? extends RefinementMeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__REFINEMENT_FROM:
+ getRefinementFrom().clear();
+ getRefinementFrom().addAll((Collection<? extends RefinementMeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__EQUIVALENT_TO:
+ getEquivalentTo().clear();
+ getEquivalentTo().addAll((Collection<? extends EquivalentMeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__EQUIVALENT_FROM:
+ getEquivalentFrom().clear();
+ getEquivalentFrom().addAll((Collection<? extends EquivalentMeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__RECURSIVE_TO:
+ setRecursiveTo((RecursiveMeasurementRelationship)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__RECURSIVE_FROM:
+ getRecursiveFrom().clear();
+ getRecursiveFrom().addAll((Collection<? extends RecursiveMeasurementRelationship>)newValue);
+ return;
+ case SmmPackage.MEASUREMENT__MEASUREMENT_RELATIONSHIPS:
+ getMeasurementRelationships().clear();
+ getMeasurementRelationships().addAll((Collection<? extends MeasurementRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASUREMENT__ERROR:
+ setError(ERROR_EDEFAULT);
+ return;
+ case SmmPackage.MEASUREMENT__MEASURAND:
+ setMeasurand((EObject)null);
+ return;
+ case SmmPackage.MEASUREMENT__BREAK_VALUE:
+ setBreakValue(BREAK_VALUE_EDEFAULT);
+ return;
+ case SmmPackage.MEASUREMENT__REFINEMENT_TO:
+ getRefinementTo().clear();
+ return;
+ case SmmPackage.MEASUREMENT__REFINEMENT_FROM:
+ getRefinementFrom().clear();
+ return;
+ case SmmPackage.MEASUREMENT__EQUIVALENT_TO:
+ getEquivalentTo().clear();
+ return;
+ case SmmPackage.MEASUREMENT__EQUIVALENT_FROM:
+ getEquivalentFrom().clear();
+ return;
+ case SmmPackage.MEASUREMENT__RECURSIVE_TO:
+ setRecursiveTo((RecursiveMeasurementRelationship)null);
+ return;
+ case SmmPackage.MEASUREMENT__RECURSIVE_FROM:
+ getRecursiveFrom().clear();
+ return;
+ case SmmPackage.MEASUREMENT__MEASUREMENT_RELATIONSHIPS:
+ getMeasurementRelationships().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.MEASUREMENT__ERROR:
+ return ERROR_EDEFAULT == null ? error != null : !ERROR_EDEFAULT.equals(error);
+ case SmmPackage.MEASUREMENT__MEASURAND:
+ return measurand != null;
+ case SmmPackage.MEASUREMENT__BREAK_VALUE:
+ return BREAK_VALUE_EDEFAULT == null ? breakValue != null : !BREAK_VALUE_EDEFAULT.equals(breakValue);
+ case SmmPackage.MEASUREMENT__REFINEMENT_TO:
+ return refinementTo != null && !refinementTo.isEmpty();
+ case SmmPackage.MEASUREMENT__REFINEMENT_FROM:
+ return refinementFrom != null && !refinementFrom.isEmpty();
+ case SmmPackage.MEASUREMENT__EQUIVALENT_TO:
+ return equivalentTo != null && !equivalentTo.isEmpty();
+ case SmmPackage.MEASUREMENT__EQUIVALENT_FROM:
+ return equivalentFrom != null && !equivalentFrom.isEmpty();
+ case SmmPackage.MEASUREMENT__RECURSIVE_TO:
+ return recursiveTo != null;
+ case SmmPackage.MEASUREMENT__RECURSIVE_FROM:
+ return recursiveFrom != null && !recursiveFrom.isEmpty();
+ case SmmPackage.MEASUREMENT__MEASUREMENT_RELATIONSHIPS:
+ return measurementRelationships != null && !measurementRelationships.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (error: ");
+ result.append(error);
+ result.append(", breakValue: ");
+ result.append(breakValue);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasurementRelationshipImpl.java
new file mode 100644
index 000000000..af39883a4
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/MeasurementRelationshipImpl.java
@@ -0,0 +1,70 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.modisco.omg.smm.Measurement;
+import org.eclipse.modisco.omg.smm.MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class MeasurementRelationshipImpl extends SmmElementImpl implements MeasurementRelationship {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement getTo() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement getFrom() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+} //MeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/NamedMeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/NamedMeasureImpl.java
new file mode 100644
index 000000000..4f9731076
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/NamedMeasureImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.modisco.omg.smm.NamedMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class NamedMeasureImpl extends DimensionalMeasureImpl implements NamedMeasure {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NamedMeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.NAMED_MEASURE;
+ }
+
+} //NamedMeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/NamedMeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/NamedMeasurementImpl.java
new file mode 100644
index 000000000..7e739366f
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/NamedMeasurementImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.modisco.omg.smm.NamedMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Named Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class NamedMeasurementImpl extends DimensionalMeasurementImpl implements NamedMeasurement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NamedMeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.NAMED_MEASUREMENT;
+ }
+
+} //NamedMeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/OCLOperationImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/OCLOperationImpl.java
new file mode 100644
index 000000000..f7ac013d4
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/OCLOperationImpl.java
@@ -0,0 +1,224 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.OCLOperation;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>OCL Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.OCLOperationImpl#getContext <em>Context</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.OCLOperationImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OCLOperationImpl extends AbstractMeasureElementImpl implements OCLOperation {
+ /**
+ * The default value of the '{@link #getContext() <em>Context</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContext()
+ * @generated
+ * @ordered
+ */
+ protected static final String CONTEXT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getContext() <em>Context</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getContext()
+ * @generated
+ * @ordered
+ */
+ protected String context = CONTEXT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected static final String BODY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected String body = BODY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OCLOperationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.OCL_OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getContext() {
+ return context;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setContext(String newContext) {
+ String oldContext = context;
+ context = newContext;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OCL_OPERATION__CONTEXT, oldContext, context));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBody() {
+ return body;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBody(String newBody) {
+ String oldBody = body;
+ body = newBody;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OCL_OPERATION__BODY, oldBody, body));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.OCL_OPERATION__CONTEXT:
+ return getContext();
+ case SmmPackage.OCL_OPERATION__BODY:
+ return getBody();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.OCL_OPERATION__CONTEXT:
+ setContext((String)newValue);
+ return;
+ case SmmPackage.OCL_OPERATION__BODY:
+ setBody((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OCL_OPERATION__CONTEXT:
+ setContext(CONTEXT_EDEFAULT);
+ return;
+ case SmmPackage.OCL_OPERATION__BODY:
+ setBody(BODY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OCL_OPERATION__CONTEXT:
+ return CONTEXT_EDEFAULT == null ? context != null : !CONTEXT_EDEFAULT.equals(context);
+ case SmmPackage.OCL_OPERATION__BODY:
+ return BODY_EDEFAULT == null ? body != null : !BODY_EDEFAULT.equals(body);
+ }
+ 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(" (context: ");
+ result.append(context);
+ result.append(", body: ");
+ result.append(body);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OCLOperationImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservationImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservationImpl.java
new file mode 100644
index 000000000..7802468c3
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservationImpl.java
@@ -0,0 +1,502 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+import java.util.Date;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Argument;
+import org.eclipse.modisco.omg.smm.Observation;
+import org.eclipse.modisco.omg.smm.ObservationScope;
+import org.eclipse.modisco.omg.smm.ObservedMeasure;
+import org.eclipse.modisco.omg.smm.SmmElement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+import org.eclipse.modisco.omg.smm.SmmRelationship;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Observation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl#getObserver <em>Observer</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl#getTool <em>Tool</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl#getWhenObserved <em>When Observed</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl#getScopes <em>Scopes</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl#getObservedMeasures <em>Observed Measures</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl#getRequestedMeasures <em>Requested Measures</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl#getMeasurementRelations <em>Measurement Relations</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationImpl#getArguments <em>Arguments</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ObservationImpl extends SmmElementImpl implements Observation {
+ /**
+ * The default value of the '{@link #getObserver() <em>Observer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObserver()
+ * @generated
+ * @ordered
+ */
+ protected static final String OBSERVER_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getObserver() <em>Observer</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObserver()
+ * @generated
+ * @ordered
+ */
+ protected String observer = OBSERVER_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getTool() <em>Tool</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTool()
+ * @generated
+ * @ordered
+ */
+ protected static final String TOOL_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getTool() <em>Tool</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTool()
+ * @generated
+ * @ordered
+ */
+ protected String tool = TOOL_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getWhenObserved() <em>When Observed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhenObserved()
+ * @generated
+ * @ordered
+ */
+ protected static final Date WHEN_OBSERVED_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getWhenObserved() <em>When Observed</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getWhenObserved()
+ * @generated
+ * @ordered
+ */
+ protected Date whenObserved = WHEN_OBSERVED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getScopes() <em>Scopes</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScopes()
+ * @generated
+ * @ordered
+ */
+ protected EList<ObservationScope> scopes;
+
+ /**
+ * The cached value of the '{@link #getObservedMeasures() <em>Observed Measures</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObservedMeasures()
+ * @generated
+ * @ordered
+ */
+ protected EList<ObservedMeasure> observedMeasures;
+
+ /**
+ * The cached value of the '{@link #getRequestedMeasures() <em>Requested Measures</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequestedMeasures()
+ * @generated
+ * @ordered
+ */
+ protected EList<SmmElement> requestedMeasures;
+
+ /**
+ * The cached value of the '{@link #getMeasurementRelations() <em>Measurement Relations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasurementRelations()
+ * @generated
+ * @ordered
+ */
+ protected EList<SmmRelationship> measurementRelations;
+
+ /**
+ * The cached value of the '{@link #getArguments() <em>Arguments</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArguments()
+ * @generated
+ * @ordered
+ */
+ protected EList<Argument> arguments;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObservationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.OBSERVATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getObserver() {
+ return observer;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setObserver(String newObserver) {
+ String oldObserver = observer;
+ observer = newObserver;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OBSERVATION__OBSERVER, oldObserver, observer));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getTool() {
+ return tool;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTool(String newTool) {
+ String oldTool = tool;
+ tool = newTool;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OBSERVATION__TOOL, oldTool, tool));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date getWhenObserved() {
+ return whenObserved;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setWhenObserved(Date newWhenObserved) {
+ Date oldWhenObserved = whenObserved;
+ whenObserved = newWhenObserved;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OBSERVATION__WHEN_OBSERVED, oldWhenObserved, whenObserved));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ObservationScope> getScopes() {
+ if (scopes == null) {
+ scopes = new EObjectContainmentEList<ObservationScope>(ObservationScope.class, this, SmmPackage.OBSERVATION__SCOPES);
+ }
+ return scopes;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<ObservedMeasure> getObservedMeasures() {
+ if (observedMeasures == null) {
+ observedMeasures = new EObjectContainmentEList<ObservedMeasure>(ObservedMeasure.class, this, SmmPackage.OBSERVATION__OBSERVED_MEASURES);
+ }
+ return observedMeasures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SmmElement> getRequestedMeasures() {
+ if (requestedMeasures == null) {
+ requestedMeasures = new EObjectWithInverseResolvingEList.ManyInverse<SmmElement>(SmmElement.class, this, SmmPackage.OBSERVATION__REQUESTED_MEASURES, SmmPackage.SMM_ELEMENT__REQUESTED_OBSERVATIONS);
+ }
+ return requestedMeasures;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SmmRelationship> getMeasurementRelations() {
+ if (measurementRelations == null) {
+ measurementRelations = new EObjectContainmentEList<SmmRelationship>(SmmRelationship.class, this, SmmPackage.OBSERVATION__MEASUREMENT_RELATIONS);
+ }
+ return measurementRelations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Argument> getArguments() {
+ if (arguments == null) {
+ arguments = new EObjectContainmentEList<Argument>(Argument.class, this, SmmPackage.OBSERVATION__ARGUMENTS);
+ }
+ return arguments;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION__REQUESTED_MEASURES:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRequestedMeasures()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION__SCOPES:
+ return ((InternalEList<?>)getScopes()).basicRemove(otherEnd, msgs);
+ case SmmPackage.OBSERVATION__OBSERVED_MEASURES:
+ return ((InternalEList<?>)getObservedMeasures()).basicRemove(otherEnd, msgs);
+ case SmmPackage.OBSERVATION__REQUESTED_MEASURES:
+ return ((InternalEList<?>)getRequestedMeasures()).basicRemove(otherEnd, msgs);
+ case SmmPackage.OBSERVATION__MEASUREMENT_RELATIONS:
+ return ((InternalEList<?>)getMeasurementRelations()).basicRemove(otherEnd, msgs);
+ case SmmPackage.OBSERVATION__ARGUMENTS:
+ return ((InternalEList<?>)getArguments()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION__OBSERVER:
+ return getObserver();
+ case SmmPackage.OBSERVATION__TOOL:
+ return getTool();
+ case SmmPackage.OBSERVATION__WHEN_OBSERVED:
+ return getWhenObserved();
+ case SmmPackage.OBSERVATION__SCOPES:
+ return getScopes();
+ case SmmPackage.OBSERVATION__OBSERVED_MEASURES:
+ return getObservedMeasures();
+ case SmmPackage.OBSERVATION__REQUESTED_MEASURES:
+ return getRequestedMeasures();
+ case SmmPackage.OBSERVATION__MEASUREMENT_RELATIONS:
+ return getMeasurementRelations();
+ case SmmPackage.OBSERVATION__ARGUMENTS:
+ return getArguments();
+ }
+ 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 SmmPackage.OBSERVATION__OBSERVER:
+ setObserver((String)newValue);
+ return;
+ case SmmPackage.OBSERVATION__TOOL:
+ setTool((String)newValue);
+ return;
+ case SmmPackage.OBSERVATION__WHEN_OBSERVED:
+ setWhenObserved((Date)newValue);
+ return;
+ case SmmPackage.OBSERVATION__SCOPES:
+ getScopes().clear();
+ getScopes().addAll((Collection<? extends ObservationScope>)newValue);
+ return;
+ case SmmPackage.OBSERVATION__OBSERVED_MEASURES:
+ getObservedMeasures().clear();
+ getObservedMeasures().addAll((Collection<? extends ObservedMeasure>)newValue);
+ return;
+ case SmmPackage.OBSERVATION__REQUESTED_MEASURES:
+ getRequestedMeasures().clear();
+ getRequestedMeasures().addAll((Collection<? extends SmmElement>)newValue);
+ return;
+ case SmmPackage.OBSERVATION__MEASUREMENT_RELATIONS:
+ getMeasurementRelations().clear();
+ getMeasurementRelations().addAll((Collection<? extends SmmRelationship>)newValue);
+ return;
+ case SmmPackage.OBSERVATION__ARGUMENTS:
+ getArguments().clear();
+ getArguments().addAll((Collection<? extends Argument>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION__OBSERVER:
+ setObserver(OBSERVER_EDEFAULT);
+ return;
+ case SmmPackage.OBSERVATION__TOOL:
+ setTool(TOOL_EDEFAULT);
+ return;
+ case SmmPackage.OBSERVATION__WHEN_OBSERVED:
+ setWhenObserved(WHEN_OBSERVED_EDEFAULT);
+ return;
+ case SmmPackage.OBSERVATION__SCOPES:
+ getScopes().clear();
+ return;
+ case SmmPackage.OBSERVATION__OBSERVED_MEASURES:
+ getObservedMeasures().clear();
+ return;
+ case SmmPackage.OBSERVATION__REQUESTED_MEASURES:
+ getRequestedMeasures().clear();
+ return;
+ case SmmPackage.OBSERVATION__MEASUREMENT_RELATIONS:
+ getMeasurementRelations().clear();
+ return;
+ case SmmPackage.OBSERVATION__ARGUMENTS:
+ getArguments().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION__OBSERVER:
+ return OBSERVER_EDEFAULT == null ? observer != null : !OBSERVER_EDEFAULT.equals(observer);
+ case SmmPackage.OBSERVATION__TOOL:
+ return TOOL_EDEFAULT == null ? tool != null : !TOOL_EDEFAULT.equals(tool);
+ case SmmPackage.OBSERVATION__WHEN_OBSERVED:
+ return WHEN_OBSERVED_EDEFAULT == null ? whenObserved != null : !WHEN_OBSERVED_EDEFAULT.equals(whenObserved);
+ case SmmPackage.OBSERVATION__SCOPES:
+ return scopes != null && !scopes.isEmpty();
+ case SmmPackage.OBSERVATION__OBSERVED_MEASURES:
+ return observedMeasures != null && !observedMeasures.isEmpty();
+ case SmmPackage.OBSERVATION__REQUESTED_MEASURES:
+ return requestedMeasures != null && !requestedMeasures.isEmpty();
+ case SmmPackage.OBSERVATION__MEASUREMENT_RELATIONS:
+ return measurementRelations != null && !measurementRelations.isEmpty();
+ case SmmPackage.OBSERVATION__ARGUMENTS:
+ return arguments != null && !arguments.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (observer: ");
+ result.append(observer);
+ result.append(", tool: ");
+ result.append(tool);
+ result.append(", whenObserved: ");
+ result.append(whenObserved);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ObservationImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservationScopeImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservationScopeImpl.java
new file mode 100644
index 000000000..deb22fd6f
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservationScopeImpl.java
@@ -0,0 +1,170 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.ObservationScope;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Observation Scope</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservationScopeImpl#getScopeUri <em>Scope Uri</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ObservationScopeImpl extends SmmElementImpl implements ObservationScope {
+ /**
+ * The default value of the '{@link #getScopeUri() <em>Scope Uri</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScopeUri()
+ * @generated
+ * @ordered
+ */
+ protected static final String SCOPE_URI_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getScopeUri() <em>Scope Uri</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getScopeUri()
+ * @generated
+ * @ordered
+ */
+ protected String scopeUri = SCOPE_URI_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObservationScopeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.OBSERVATION_SCOPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getScopeUri() {
+ return scopeUri;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setScopeUri(String newScopeUri) {
+ String oldScopeUri = scopeUri;
+ scopeUri = newScopeUri;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OBSERVATION_SCOPE__SCOPE_URI, oldScopeUri, scopeUri));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION_SCOPE__SCOPE_URI:
+ return getScopeUri();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION_SCOPE__SCOPE_URI:
+ setScopeUri((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION_SCOPE__SCOPE_URI:
+ setScopeUri(SCOPE_URI_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OBSERVATION_SCOPE__SCOPE_URI:
+ return SCOPE_URI_EDEFAULT == null ? scopeUri != null : !SCOPE_URI_EDEFAULT.equals(scopeUri);
+ }
+ 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(" (scopeUri: ");
+ result.append(scopeUri);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ObservationScopeImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservedMeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservedMeasureImpl.java
new file mode 100644
index 000000000..58b4b94f8
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ObservedMeasureImpl.java
@@ -0,0 +1,257 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.Measurement;
+import org.eclipse.modisco.omg.smm.ObservedMeasure;
+import org.eclipse.modisco.omg.smm.SmmElement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Observed Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservedMeasureImpl#getMeasure <em>Measure</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ObservedMeasureImpl#getMeasurements <em>Measurements</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ObservedMeasureImpl extends SmmElementImpl implements ObservedMeasure {
+ /**
+ * The cached value of the '{@link #getMeasure() <em>Measure</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasure()
+ * @generated
+ * @ordered
+ */
+ protected Measure measure;
+
+ /**
+ * The cached value of the '{@link #getMeasurements() <em>Measurements</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMeasurements()
+ * @generated
+ * @ordered
+ */
+ protected EList<Measurement> measurements;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ObservedMeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.OBSERVED_MEASURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getMeasure() {
+ if (measure != null && measure.eIsProxy()) {
+ InternalEObject oldMeasure = (InternalEObject)measure;
+ measure = (Measure)eResolveProxy(oldMeasure);
+ if (measure != oldMeasure) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.OBSERVED_MEASURE__MEASURE, oldMeasure, measure));
+ }
+ }
+ return measure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure basicGetMeasure() {
+ return measure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMeasure(Measure newMeasure) {
+ Measure oldMeasure = measure;
+ measure = newMeasure;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OBSERVED_MEASURE__MEASURE, oldMeasure, measure));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Measurement> getMeasurements() {
+ if (measurements == null) {
+ measurements = new EObjectContainmentEList<Measurement>(Measurement.class, this, SmmPackage.OBSERVED_MEASURE__MEASUREMENTS);
+ }
+ return measurements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getMeasureRefimentsObservedMeasures() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SmmElement getTo() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SmmElement getFrom() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.OBSERVED_MEASURE__MEASUREMENTS:
+ return ((InternalEList<?>)getMeasurements()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.OBSERVED_MEASURE__MEASURE:
+ if (resolve) return getMeasure();
+ return basicGetMeasure();
+ case SmmPackage.OBSERVED_MEASURE__MEASUREMENTS:
+ return getMeasurements();
+ }
+ 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 SmmPackage.OBSERVED_MEASURE__MEASURE:
+ setMeasure((Measure)newValue);
+ return;
+ case SmmPackage.OBSERVED_MEASURE__MEASUREMENTS:
+ getMeasurements().clear();
+ getMeasurements().addAll((Collection<? extends Measurement>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OBSERVED_MEASURE__MEASURE:
+ setMeasure((Measure)null);
+ return;
+ case SmmPackage.OBSERVED_MEASURE__MEASUREMENTS:
+ getMeasurements().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OBSERVED_MEASURE__MEASURE:
+ return measure != null;
+ case SmmPackage.OBSERVED_MEASURE__MEASUREMENTS:
+ return measurements != null && !measurements.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ObservedMeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/OperationImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/OperationImpl.java
new file mode 100644
index 000000000..5451fe566
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/OperationImpl.java
@@ -0,0 +1,237 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.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.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Operation</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.OperationImpl#getLanguage <em>Language</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.OperationImpl#getBody <em>Body</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class OperationImpl extends AbstractMeasureElementImpl implements Operation {
+ /**
+ * The default value of the '{@link #getLanguage() <em>Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLanguage()
+ * @generated
+ * @ordered
+ */
+ protected static final String LANGUAGE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getLanguage() <em>Language</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLanguage()
+ * @generated
+ * @ordered
+ */
+ protected String language = LANGUAGE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected static final String BODY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getBody() <em>Body</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBody()
+ * @generated
+ * @ordered
+ */
+ protected String body = BODY_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected OperationImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.OPERATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLanguage() {
+ return language;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLanguage(String newLanguage) {
+ String oldLanguage = language;
+ language = newLanguage;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OPERATION__LANGUAGE, oldLanguage, language));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getBody() {
+ return body;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBody(String newBody) {
+ String oldBody = body;
+ body = newBody;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.OPERATION__BODY, oldBody, body));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getParamStrings() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.OPERATION__LANGUAGE:
+ return getLanguage();
+ case SmmPackage.OPERATION__BODY:
+ return getBody();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.OPERATION__LANGUAGE:
+ setLanguage((String)newValue);
+ return;
+ case SmmPackage.OPERATION__BODY:
+ setBody((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OPERATION__LANGUAGE:
+ setLanguage(LANGUAGE_EDEFAULT);
+ return;
+ case SmmPackage.OPERATION__BODY:
+ setBody(BODY_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.OPERATION__LANGUAGE:
+ return LANGUAGE_EDEFAULT == null ? language != null : !LANGUAGE_EDEFAULT.equals(language);
+ case SmmPackage.OPERATION__BODY:
+ return BODY_EDEFAULT == null ? body != null : !BODY_EDEFAULT.equals(body);
+ }
+ 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(" (language: ");
+ result.append(language);
+ result.append(", body: ");
+ result.append(body);
+ result.append(')');
+ return result.toString();
+ }
+
+} //OperationImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingImpl.java
new file mode 100644
index 000000000..da91364f0
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingImpl.java
@@ -0,0 +1,265 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentWithInverseEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Ranking;
+import org.eclipse.modisco.omg.smm.RankingInterval;
+import org.eclipse.modisco.omg.smm.RankingMeasureRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ranking</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingImpl#getInterval <em>Interval</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingImpl#getRankingTo <em>Ranking To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RankingImpl extends MeasureImpl implements Ranking {
+ /**
+ * The cached value of the '{@link #getInterval() <em>Interval</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getInterval()
+ * @generated
+ * @ordered
+ */
+ protected EList<RankingInterval> interval;
+
+ /**
+ * The cached value of the '{@link #getRankingTo() <em>Ranking To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRankingTo()
+ * @generated
+ * @ordered
+ */
+ protected RankingMeasureRelationship rankingTo;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RankingImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RANKING;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RankingInterval> getInterval() {
+ if (interval == null) {
+ interval = new EObjectContainmentWithInverseEList<RankingInterval>(RankingInterval.class, this, SmmPackage.RANKING__INTERVAL, SmmPackage.RANKING_INTERVAL__RANK);
+ }
+ return interval;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RankingMeasureRelationship getRankingTo() {
+ if (rankingTo != null && rankingTo.eIsProxy()) {
+ InternalEObject oldRankingTo = (InternalEObject)rankingTo;
+ rankingTo = (RankingMeasureRelationship)eResolveProxy(oldRankingTo);
+ if (rankingTo != oldRankingTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RANKING__RANKING_TO, oldRankingTo, rankingTo));
+ }
+ }
+ return rankingTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RankingMeasureRelationship basicGetRankingTo() {
+ return rankingTo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRankingTo(RankingMeasureRelationship newRankingTo, NotificationChain msgs) {
+ RankingMeasureRelationship oldRankingTo = rankingTo;
+ rankingTo = newRankingTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING__RANKING_TO, oldRankingTo, newRankingTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRankingTo(RankingMeasureRelationship newRankingTo) {
+ if (newRankingTo != rankingTo) {
+ NotificationChain msgs = null;
+ if (rankingTo != null)
+ msgs = ((InternalEObject)rankingTo).eInverseRemove(this, SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM, RankingMeasureRelationship.class, msgs);
+ if (newRankingTo != null)
+ msgs = ((InternalEObject)newRankingTo).eInverseAdd(this, SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM, RankingMeasureRelationship.class, msgs);
+ msgs = basicSetRankingTo(newRankingTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING__RANKING_TO, newRankingTo, newRankingTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RANKING__INTERVAL:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getInterval()).basicAdd(otherEnd, msgs);
+ case SmmPackage.RANKING__RANKING_TO:
+ if (rankingTo != null)
+ msgs = ((InternalEObject)rankingTo).eInverseRemove(this, SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM, RankingMeasureRelationship.class, msgs);
+ return basicSetRankingTo((RankingMeasureRelationship)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RANKING__INTERVAL:
+ return ((InternalEList<?>)getInterval()).basicRemove(otherEnd, msgs);
+ case SmmPackage.RANKING__RANKING_TO:
+ return basicSetRankingTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RANKING__INTERVAL:
+ return getInterval();
+ case SmmPackage.RANKING__RANKING_TO:
+ if (resolve) return getRankingTo();
+ return basicGetRankingTo();
+ }
+ 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 SmmPackage.RANKING__INTERVAL:
+ getInterval().clear();
+ getInterval().addAll((Collection<? extends RankingInterval>)newValue);
+ return;
+ case SmmPackage.RANKING__RANKING_TO:
+ setRankingTo((RankingMeasureRelationship)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RANKING__INTERVAL:
+ getInterval().clear();
+ return;
+ case SmmPackage.RANKING__RANKING_TO:
+ setRankingTo((RankingMeasureRelationship)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RANKING__INTERVAL:
+ return interval != null && !interval.isEmpty();
+ case SmmPackage.RANKING__RANKING_TO:
+ return rankingTo != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RankingImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingIntervalImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingIntervalImpl.java
new file mode 100644
index 000000000..9b1123889
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingIntervalImpl.java
@@ -0,0 +1,487 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EcoreUtil;
+
+import org.eclipse.modisco.omg.smm.Ranking;
+import org.eclipse.modisco.omg.smm.RankingInterval;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ranking Interval</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl#getRank <em>Rank</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl#getMaximumEndpoint <em>Maximum Endpoint</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl#isMaximumOpen <em>Maximum Open</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl#getMinimumEndpoint <em>Minimum Endpoint</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl#isMinimumOpen <em>Minimum Open</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingIntervalImpl#getSymbol <em>Symbol</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RankingIntervalImpl extends SmmElementImpl implements RankingInterval {
+ /**
+ * The default value of the '{@link #getMaximumEndpoint() <em>Maximum Endpoint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaximumEndpoint()
+ * @generated
+ * @ordered
+ */
+ protected static final double MAXIMUM_ENDPOINT_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getMaximumEndpoint() <em>Maximum Endpoint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMaximumEndpoint()
+ * @generated
+ * @ordered
+ */
+ protected double maximumEndpoint = MAXIMUM_ENDPOINT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isMaximumOpen() <em>Maximum Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMaximumOpen()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MAXIMUM_OPEN_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMaximumOpen() <em>Maximum Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMaximumOpen()
+ * @generated
+ * @ordered
+ */
+ protected boolean maximumOpen = MAXIMUM_OPEN_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getMinimumEndpoint() <em>Minimum Endpoint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinimumEndpoint()
+ * @generated
+ * @ordered
+ */
+ protected static final double MINIMUM_ENDPOINT_EDEFAULT = 0.0;
+
+ /**
+ * The cached value of the '{@link #getMinimumEndpoint() <em>Minimum Endpoint</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMinimumEndpoint()
+ * @generated
+ * @ordered
+ */
+ protected double minimumEndpoint = MINIMUM_ENDPOINT_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #isMinimumOpen() <em>Minimum Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMinimumOpen()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean MINIMUM_OPEN_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isMinimumOpen() <em>Minimum Open</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isMinimumOpen()
+ * @generated
+ * @ordered
+ */
+ protected boolean minimumOpen = MINIMUM_OPEN_EDEFAULT;
+
+ /**
+ * 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;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RankingIntervalImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RANKING_INTERVAL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ranking getRank() {
+ if (eContainerFeatureID() != SmmPackage.RANKING_INTERVAL__RANK) return null;
+ return (Ranking)eContainer();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRank(Ranking newRank, NotificationChain msgs) {
+ msgs = eBasicSetContainer((InternalEObject)newRank, SmmPackage.RANKING_INTERVAL__RANK, msgs);
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRank(Ranking newRank) {
+ if (newRank != eInternalContainer() || (eContainerFeatureID() != SmmPackage.RANKING_INTERVAL__RANK && newRank != null)) {
+ if (EcoreUtil.isAncestor(this, newRank))
+ throw new IllegalArgumentException("Recursive containment not allowed for " + toString());
+ NotificationChain msgs = null;
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ if (newRank != null)
+ msgs = ((InternalEObject)newRank).eInverseAdd(this, SmmPackage.RANKING__INTERVAL, Ranking.class, msgs);
+ msgs = basicSetRank(newRank, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_INTERVAL__RANK, newRank, newRank));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getMaximumEndpoint() {
+ return maximumEndpoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMaximumEndpoint(double newMaximumEndpoint) {
+ double oldMaximumEndpoint = maximumEndpoint;
+ maximumEndpoint = newMaximumEndpoint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_INTERVAL__MAXIMUM_ENDPOINT, oldMaximumEndpoint, maximumEndpoint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMaximumOpen() {
+ return maximumOpen;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMaximumOpen(boolean newMaximumOpen) {
+ boolean oldMaximumOpen = maximumOpen;
+ maximumOpen = newMaximumOpen;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_INTERVAL__MAXIMUM_OPEN, oldMaximumOpen, maximumOpen));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public double getMinimumEndpoint() {
+ return minimumEndpoint;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinimumEndpoint(double newMinimumEndpoint) {
+ double oldMinimumEndpoint = minimumEndpoint;
+ minimumEndpoint = newMinimumEndpoint;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_INTERVAL__MINIMUM_ENDPOINT, oldMinimumEndpoint, minimumEndpoint));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isMinimumOpen() {
+ return minimumOpen;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setMinimumOpen(boolean newMinimumOpen) {
+ boolean oldMinimumOpen = minimumOpen;
+ minimumOpen = newMinimumOpen;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_INTERVAL__MINIMUM_OPEN, oldMinimumOpen, minimumOpen));
+ }
+
+ /**
+ * <!-- 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, SmmPackage.RANKING_INTERVAL__SYMBOL, oldSymbol, symbol));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RANKING_INTERVAL__RANK:
+ if (eInternalContainer() != null)
+ msgs = eBasicRemoveFromContainer(msgs);
+ return basicSetRank((Ranking)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RANKING_INTERVAL__RANK:
+ return basicSetRank(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eBasicRemoveFromContainerFeature(NotificationChain msgs) {
+ switch (eContainerFeatureID()) {
+ case SmmPackage.RANKING_INTERVAL__RANK:
+ return eInternalContainer().eInverseRemove(this, SmmPackage.RANKING__INTERVAL, Ranking.class, msgs);
+ }
+ return super.eBasicRemoveFromContainerFeature(msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RANKING_INTERVAL__RANK:
+ return getRank();
+ case SmmPackage.RANKING_INTERVAL__MAXIMUM_ENDPOINT:
+ return getMaximumEndpoint();
+ case SmmPackage.RANKING_INTERVAL__MAXIMUM_OPEN:
+ return isMaximumOpen();
+ case SmmPackage.RANKING_INTERVAL__MINIMUM_ENDPOINT:
+ return getMinimumEndpoint();
+ case SmmPackage.RANKING_INTERVAL__MINIMUM_OPEN:
+ return isMinimumOpen();
+ case SmmPackage.RANKING_INTERVAL__SYMBOL:
+ return getSymbol();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.RANKING_INTERVAL__RANK:
+ setRank((Ranking)newValue);
+ return;
+ case SmmPackage.RANKING_INTERVAL__MAXIMUM_ENDPOINT:
+ setMaximumEndpoint((Double)newValue);
+ return;
+ case SmmPackage.RANKING_INTERVAL__MAXIMUM_OPEN:
+ setMaximumOpen((Boolean)newValue);
+ return;
+ case SmmPackage.RANKING_INTERVAL__MINIMUM_ENDPOINT:
+ setMinimumEndpoint((Double)newValue);
+ return;
+ case SmmPackage.RANKING_INTERVAL__MINIMUM_OPEN:
+ setMinimumOpen((Boolean)newValue);
+ return;
+ case SmmPackage.RANKING_INTERVAL__SYMBOL:
+ setSymbol((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RANKING_INTERVAL__RANK:
+ setRank((Ranking)null);
+ return;
+ case SmmPackage.RANKING_INTERVAL__MAXIMUM_ENDPOINT:
+ setMaximumEndpoint(MAXIMUM_ENDPOINT_EDEFAULT);
+ return;
+ case SmmPackage.RANKING_INTERVAL__MAXIMUM_OPEN:
+ setMaximumOpen(MAXIMUM_OPEN_EDEFAULT);
+ return;
+ case SmmPackage.RANKING_INTERVAL__MINIMUM_ENDPOINT:
+ setMinimumEndpoint(MINIMUM_ENDPOINT_EDEFAULT);
+ return;
+ case SmmPackage.RANKING_INTERVAL__MINIMUM_OPEN:
+ setMinimumOpen(MINIMUM_OPEN_EDEFAULT);
+ return;
+ case SmmPackage.RANKING_INTERVAL__SYMBOL:
+ setSymbol(SYMBOL_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RANKING_INTERVAL__RANK:
+ return getRank() != null;
+ case SmmPackage.RANKING_INTERVAL__MAXIMUM_ENDPOINT:
+ return maximumEndpoint != MAXIMUM_ENDPOINT_EDEFAULT;
+ case SmmPackage.RANKING_INTERVAL__MAXIMUM_OPEN:
+ return maximumOpen != MAXIMUM_OPEN_EDEFAULT;
+ case SmmPackage.RANKING_INTERVAL__MINIMUM_ENDPOINT:
+ return minimumEndpoint != MINIMUM_ENDPOINT_EDEFAULT;
+ case SmmPackage.RANKING_INTERVAL__MINIMUM_OPEN:
+ return minimumOpen != MINIMUM_OPEN_EDEFAULT;
+ case SmmPackage.RANKING_INTERVAL__SYMBOL:
+ return SYMBOL_EDEFAULT == null ? symbol != null : !SYMBOL_EDEFAULT.equals(symbol);
+ }
+ 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(" (maximumEndpoint: ");
+ result.append(maximumEndpoint);
+ result.append(", maximumOpen: ");
+ result.append(maximumOpen);
+ result.append(", minimumEndpoint: ");
+ result.append(minimumEndpoint);
+ result.append(", minimumOpen: ");
+ result.append(minimumOpen);
+ result.append(", symbol: ");
+ result.append(symbol);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RankingIntervalImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingMeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingMeasureRelationshipImpl.java
new file mode 100644
index 000000000..7bbf3ebb0
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingMeasureRelationshipImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.Ranking;
+import org.eclipse.modisco.omg.smm.RankingMeasureRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ranking Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingMeasureRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingMeasureRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RankingMeasureRelationshipImpl extends MeasureRelationshipImpl implements RankingMeasureRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected Ranking from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasure to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RankingMeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RANKING_MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ranking getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (Ranking)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ranking basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(Ranking newFrom, NotificationChain msgs) {
+ Ranking oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(Ranking newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.RANKING__RANKING_TO, Ranking.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.RANKING__RANKING_TO, Ranking.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (DimensionalMeasure)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(DimensionalMeasure newTo, NotificationChain msgs) {
+ DimensionalMeasure oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(DimensionalMeasure newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM, DimensionalMeasure.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM, DimensionalMeasure.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.RANKING__RANKING_TO, Ranking.class, msgs);
+ return basicSetFrom((Ranking)otherEnd, msgs);
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__RANKING_FROM, DimensionalMeasure.class, msgs);
+ return basicSetTo((DimensionalMeasure)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM:
+ setFrom((Ranking)newValue);
+ return;
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO:
+ setTo((DimensionalMeasure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM:
+ setFrom((Ranking)null);
+ return;
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO:
+ setTo((DimensionalMeasure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RankingMeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingMeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingMeasurementRelationshipImpl.java
new file mode 100644
index 000000000..b996bbb41
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RankingMeasurementRelationshipImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.Grade;
+import org.eclipse.modisco.omg.smm.RankingMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ranking Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingMeasurementRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RankingMeasurementRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RankingMeasurementRelationshipImpl extends MeasurementRelationshipImpl implements RankingMeasurementRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected Grade from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasurement to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RankingMeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RANKING_MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Grade getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (Grade)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Grade basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(Grade newFrom, NotificationChain msgs) {
+ Grade oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(Grade newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.GRADE__RANKING_TO, Grade.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.GRADE__RANKING_TO, Grade.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (DimensionalMeasurement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(DimensionalMeasurement newTo, NotificationChain msgs) {
+ DimensionalMeasurement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(DimensionalMeasurement newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM, DimensionalMeasurement.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM, DimensionalMeasurement.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.GRADE__RANKING_TO, Grade.class, msgs);
+ return basicSetFrom((Grade)otherEnd, msgs);
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__RANKING_FROM, DimensionalMeasurement.class, msgs);
+ return basicSetTo((DimensionalMeasurement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((Grade)newValue);
+ return;
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((DimensionalMeasurement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((Grade)null);
+ return;
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((DimensionalMeasurement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RankingMeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RatioMeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RatioMeasureImpl.java
new file mode 100644
index 000000000..876403c01
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RatioMeasureImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.modisco.omg.smm.RatioMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ratio Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class RatioMeasureImpl extends BinaryMeasureImpl implements RatioMeasure {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RatioMeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RATIO_MEASURE;
+ }
+
+} //RatioMeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RatioMeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RatioMeasurementImpl.java
new file mode 100644
index 000000000..e4a91b713
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RatioMeasurementImpl.java
@@ -0,0 +1,47 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.modisco.omg.smm.RatioMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ratio Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class RatioMeasurementImpl extends BinaryMeasurementImpl implements RatioMeasurement {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RatioMeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RATIO_MEASUREMENT;
+ }
+
+} //RatioMeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RecursiveMeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RecursiveMeasureRelationshipImpl.java
new file mode 100644
index 000000000..ffa3771a2
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RecursiveMeasureRelationshipImpl.java
@@ -0,0 +1,305 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Recursive Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RecursiveMeasureRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RecursiveMeasureRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RecursiveMeasureRelationshipImpl extends MeasureRelationshipImpl implements RecursiveMeasureRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected Measure from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected Measure to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RecursiveMeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RECURSIVE_MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (Measure)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(Measure newFrom, NotificationChain msgs) {
+ Measure oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(Measure newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASURE__RECURSIVE_TO, Measure.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.MEASURE__RECURSIVE_TO, Measure.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (Measure)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(Measure newTo, NotificationChain msgs) {
+ Measure oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(Measure newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASURE__RECURSIVE_FROM, Measure.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.MEASURE__RECURSIVE_FROM, Measure.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASURE__RECURSIVE_TO, Measure.class, msgs);
+ return basicSetFrom((Measure)otherEnd, msgs);
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASURE__RECURSIVE_FROM, Measure.class, msgs);
+ return basicSetTo((Measure)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM:
+ setFrom((Measure)newValue);
+ return;
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO:
+ setTo((Measure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM:
+ setFrom((Measure)null);
+ return;
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO:
+ setTo((Measure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RecursiveMeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RecursiveMeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RecursiveMeasurementRelationshipImpl.java
new file mode 100644
index 000000000..26c756592
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RecursiveMeasurementRelationshipImpl.java
@@ -0,0 +1,305 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Measurement;
+import org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Recursive Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RecursiveMeasurementRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RecursiveMeasurementRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RecursiveMeasurementRelationshipImpl extends MeasurementRelationshipImpl implements RecursiveMeasurementRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected Measurement from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected Measurement to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RecursiveMeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RECURSIVE_MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (Measurement)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(Measurement newFrom, NotificationChain msgs) {
+ Measurement oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(Measurement newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASUREMENT__RECURSIVE_TO, Measurement.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.MEASUREMENT__RECURSIVE_TO, Measurement.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (Measurement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(Measurement newTo, NotificationChain msgs) {
+ Measurement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(Measurement newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASUREMENT__RECURSIVE_FROM, Measurement.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.MEASUREMENT__RECURSIVE_FROM, Measurement.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASUREMENT__RECURSIVE_TO, Measurement.class, msgs);
+ return basicSetFrom((Measurement)otherEnd, msgs);
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASUREMENT__RECURSIVE_FROM, Measurement.class, msgs);
+ return basicSetTo((Measurement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((Measurement)newValue);
+ return;
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((Measurement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((Measurement)null);
+ return;
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((Measurement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RecursiveMeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RefinementMeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RefinementMeasureRelationshipImpl.java
new file mode 100644
index 000000000..39e7d0874
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RefinementMeasureRelationshipImpl.java
@@ -0,0 +1,305 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.RefinementMeasureRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Refinement Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RefinementMeasureRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RefinementMeasureRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefinementMeasureRelationshipImpl extends MeasureRelationshipImpl implements RefinementMeasureRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected Measure from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected Measure to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefinementMeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.REFINEMENT_MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (Measure)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(Measure newFrom, NotificationChain msgs) {
+ Measure oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(Measure newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASURE__REFINEMENT_TO, Measure.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.MEASURE__REFINEMENT_TO, Measure.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (Measure)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measure basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(Measure newTo, NotificationChain msgs) {
+ Measure oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(Measure newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASURE__REFINEMENT_FROM, Measure.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.MEASURE__REFINEMENT_FROM, Measure.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASURE__REFINEMENT_TO, Measure.class, msgs);
+ return basicSetFrom((Measure)otherEnd, msgs);
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASURE__REFINEMENT_FROM, Measure.class, msgs);
+ return basicSetTo((Measure)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM:
+ setFrom((Measure)newValue);
+ return;
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO:
+ setTo((Measure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM:
+ setFrom((Measure)null);
+ return;
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO:
+ setTo((Measure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RefinementMeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RefinementMeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RefinementMeasurementRelationshipImpl.java
new file mode 100644
index 000000000..0f62d3872
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RefinementMeasurementRelationshipImpl.java
@@ -0,0 +1,305 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.Measurement;
+import org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Refinement Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RefinementMeasurementRelationshipImpl#getFrom <em>From</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RefinementMeasurementRelationshipImpl#getTo <em>To</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RefinementMeasurementRelationshipImpl extends MeasurementRelationshipImpl implements RefinementMeasurementRelationship {
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected Measurement from;
+
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected Measurement to;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RefinementMeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.REFINEMENT_MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (Measurement)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(Measurement newFrom, NotificationChain msgs) {
+ Measurement oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(Measurement newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASUREMENT__REFINEMENT_TO, Measurement.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.MEASUREMENT__REFINEMENT_TO, Measurement.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (Measurement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Measurement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(Measurement newTo, NotificationChain msgs) {
+ Measurement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(Measurement newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASUREMENT__REFINEMENT_FROM, Measurement.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.MEASUREMENT__REFINEMENT_FROM, Measurement.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.MEASUREMENT__REFINEMENT_TO, Measurement.class, msgs);
+ return basicSetFrom((Measurement)otherEnd, msgs);
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.MEASUREMENT__REFINEMENT_FROM, Measurement.class, msgs);
+ return basicSetTo((Measurement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((Measurement)newValue);
+ return;
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((Measurement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((Measurement)null);
+ return;
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((Measurement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM:
+ return from != null;
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP__TO:
+ return to != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RefinementMeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaleMeasureRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaleMeasureRelationshipImpl.java
new file mode 100644
index 000000000..79b0a8d8d
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaleMeasureRelationshipImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.RescaleMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RescaledMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rescale Measure Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RescaleMeasureRelationshipImpl#getTo <em>To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RescaleMeasureRelationshipImpl#getFrom <em>From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RescaleMeasureRelationshipImpl extends MeasureRelationshipImpl implements RescaleMeasureRelationship {
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected RescaledMeasure to;
+
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasure from;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RescaleMeasureRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RESCALE_MEASURE_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaledMeasure getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (RescaledMeasure)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaledMeasure basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(RescaledMeasure newTo, NotificationChain msgs) {
+ RescaledMeasure oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(RescaledMeasure newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.RESCALED_MEASURE__RESCALE_FROM, RescaledMeasure.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.RESCALED_MEASURE__RESCALE_FROM, RescaledMeasure.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (DimensionalMeasure)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(DimensionalMeasure newFrom, NotificationChain msgs) {
+ DimensionalMeasure oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(DimensionalMeasure newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO, DimensionalMeasure.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO, DimensionalMeasure.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.RESCALED_MEASURE__RESCALE_FROM, RescaledMeasure.class, msgs);
+ return basicSetTo((RescaledMeasure)otherEnd, msgs);
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASURE__RESCALE_TO, DimensionalMeasure.class, msgs);
+ return basicSetFrom((DimensionalMeasure)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO:
+ setTo((RescaledMeasure)newValue);
+ return;
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM:
+ setFrom((DimensionalMeasure)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO:
+ setTo((RescaledMeasure)null);
+ return;
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM:
+ setFrom((DimensionalMeasure)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO:
+ return to != null;
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP__FROM:
+ return from != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RescaleMeasureRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaleMeasurementRelationshipImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaleMeasurementRelationshipImpl.java
new file mode 100644
index 000000000..d25b794af
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaleMeasurementRelationshipImpl.java
@@ -0,0 +1,306 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaledMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rescale Measurement Relationship</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RescaleMeasurementRelationshipImpl#getTo <em>To</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RescaleMeasurementRelationshipImpl#getFrom <em>From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RescaleMeasurementRelationshipImpl extends MeasurementRelationshipImpl implements RescaleMeasurementRelationship {
+ /**
+ * The cached value of the '{@link #getTo() <em>To</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTo()
+ * @generated
+ * @ordered
+ */
+ protected RescaledMeasurement to;
+
+ /**
+ * The cached value of the '{@link #getFrom() <em>From</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFrom()
+ * @generated
+ * @ordered
+ */
+ protected DimensionalMeasurement from;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RescaleMeasurementRelationshipImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RESCALE_MEASUREMENT_RELATIONSHIP;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaledMeasurement getTo() {
+ if (to != null && to.eIsProxy()) {
+ InternalEObject oldTo = (InternalEObject)to;
+ to = (RescaledMeasurement)eResolveProxy(oldTo);
+ if (to != oldTo) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO, oldTo, to));
+ }
+ }
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaledMeasurement basicGetTo() {
+ return to;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTo(RescaledMeasurement newTo, NotificationChain msgs) {
+ RescaledMeasurement oldTo = to;
+ to = newTo;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO, oldTo, newTo);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTo(RescaledMeasurement newTo) {
+ if (newTo != to) {
+ NotificationChain msgs = null;
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM, RescaledMeasurement.class, msgs);
+ if (newTo != null)
+ msgs = ((InternalEObject)newTo).eInverseAdd(this, SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM, RescaledMeasurement.class, msgs);
+ msgs = basicSetTo(newTo, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO, newTo, newTo));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement getFrom() {
+ if (from != null && from.eIsProxy()) {
+ InternalEObject oldFrom = (InternalEObject)from;
+ from = (DimensionalMeasurement)eResolveProxy(oldFrom);
+ if (from != oldFrom) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, from));
+ }
+ }
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasurement basicGetFrom() {
+ return from;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetFrom(DimensionalMeasurement newFrom, NotificationChain msgs) {
+ DimensionalMeasurement oldFrom = from;
+ from = newFrom;
+ if (eNotificationRequired()) {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM, oldFrom, newFrom);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFrom(DimensionalMeasurement newFrom) {
+ if (newFrom != from) {
+ NotificationChain msgs = null;
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO, DimensionalMeasurement.class, msgs);
+ if (newFrom != null)
+ msgs = ((InternalEObject)newFrom).eInverseAdd(this, SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO, DimensionalMeasurement.class, msgs);
+ msgs = basicSetFrom(newFrom, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM, newFrom, newFrom));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO:
+ if (to != null)
+ msgs = ((InternalEObject)to).eInverseRemove(this, SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM, RescaledMeasurement.class, msgs);
+ return basicSetTo((RescaledMeasurement)otherEnd, msgs);
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM:
+ if (from != null)
+ msgs = ((InternalEObject)from).eInverseRemove(this, SmmPackage.DIMENSIONAL_MEASUREMENT__RESCALE_TO, DimensionalMeasurement.class, msgs);
+ return basicSetFrom((DimensionalMeasurement)otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO:
+ return basicSetTo(null, msgs);
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM:
+ return basicSetFrom(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO:
+ if (resolve) return getTo();
+ return basicGetTo();
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM:
+ if (resolve) return getFrom();
+ return basicGetFrom();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((RescaledMeasurement)newValue);
+ return;
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((DimensionalMeasurement)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO:
+ setTo((RescaledMeasurement)null);
+ return;
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM:
+ setFrom((DimensionalMeasurement)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO:
+ return to != null;
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__FROM:
+ return from != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //RescaleMeasurementRelationshipImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaledMeasureImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaledMeasureImpl.java
new file mode 100644
index 000000000..b6aafe19b
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaledMeasureImpl.java
@@ -0,0 +1,244 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.RescaleMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RescaledMeasure;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rescaled Measure</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RescaledMeasureImpl#getFormula <em>Formula</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RescaledMeasureImpl#getRescaleFrom <em>Rescale From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RescaledMeasureImpl extends DimensionalMeasureImpl implements RescaledMeasure {
+ /**
+ * The default value of the '{@link #getFormula() <em>Formula</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormula()
+ * @generated
+ * @ordered
+ */
+ protected static final String FORMULA_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getFormula() <em>Formula</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getFormula()
+ * @generated
+ * @ordered
+ */
+ protected String formula = FORMULA_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRescaleFrom() <em>Rescale From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRescaleFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<RescaleMeasureRelationship> rescaleFrom;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RescaledMeasureImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RESCALED_MEASURE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getFormula() {
+ return formula;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setFormula(String newFormula) {
+ String oldFormula = formula;
+ formula = newFormula;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALED_MEASURE__FORMULA, oldFormula, formula));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RescaleMeasureRelationship> getRescaleFrom() {
+ if (rescaleFrom == null) {
+ rescaleFrom = new EObjectWithInverseResolvingEList<RescaleMeasureRelationship>(RescaleMeasureRelationship.class, this, SmmPackage.RESCALED_MEASURE__RESCALE_FROM, SmmPackage.RESCALE_MEASURE_RELATIONSHIP__TO);
+ }
+ return rescaleFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASURE__RESCALE_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRescaleFrom()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASURE__RESCALE_FROM:
+ return ((InternalEList<?>)getRescaleFrom()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASURE__FORMULA:
+ return getFormula();
+ case SmmPackage.RESCALED_MEASURE__RESCALE_FROM:
+ return getRescaleFrom();
+ }
+ 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 SmmPackage.RESCALED_MEASURE__FORMULA:
+ setFormula((String)newValue);
+ return;
+ case SmmPackage.RESCALED_MEASURE__RESCALE_FROM:
+ getRescaleFrom().clear();
+ getRescaleFrom().addAll((Collection<? extends RescaleMeasureRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASURE__FORMULA:
+ setFormula(FORMULA_EDEFAULT);
+ return;
+ case SmmPackage.RESCALED_MEASURE__RESCALE_FROM:
+ getRescaleFrom().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASURE__FORMULA:
+ return FORMULA_EDEFAULT == null ? formula != null : !FORMULA_EDEFAULT.equals(formula);
+ case SmmPackage.RESCALED_MEASURE__RESCALE_FROM:
+ return rescaleFrom != null && !rescaleFrom.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (formula: ");
+ result.append(formula);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RescaledMeasureImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaledMeasurementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaledMeasurementImpl.java
new file mode 100644
index 000000000..582d2aca7
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/RescaledMeasurementImpl.java
@@ -0,0 +1,244 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaledMeasurement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Rescaled Measurement</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RescaledMeasurementImpl#isIsBaseSupplied <em>Is Base Supplied</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.RescaledMeasurementImpl#getRescaleFrom <em>Rescale From</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class RescaledMeasurementImpl extends DimensionalMeasurementImpl implements RescaledMeasurement {
+ /**
+ * The default value of the '{@link #isIsBaseSupplied() <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSupplied()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IS_BASE_SUPPLIED_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isIsBaseSupplied() <em>Is Base Supplied</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isIsBaseSupplied()
+ * @generated
+ * @ordered
+ */
+ protected boolean isBaseSupplied = IS_BASE_SUPPLIED_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRescaleFrom() <em>Rescale From</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRescaleFrom()
+ * @generated
+ * @ordered
+ */
+ protected EList<RescaleMeasurementRelationship> rescaleFrom;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected RescaledMeasurementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.RESCALED_MEASUREMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isIsBaseSupplied() {
+ return isBaseSupplied;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setIsBaseSupplied(boolean newIsBaseSupplied) {
+ boolean oldIsBaseSupplied = isBaseSupplied;
+ isBaseSupplied = newIsBaseSupplied;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.RESCALED_MEASUREMENT__IS_BASE_SUPPLIED, oldIsBaseSupplied, isBaseSupplied));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<RescaleMeasurementRelationship> getRescaleFrom() {
+ if (rescaleFrom == null) {
+ rescaleFrom = new EObjectWithInverseResolvingEList<RescaleMeasurementRelationship>(RescaleMeasurementRelationship.class, this, SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM, SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP__TO);
+ }
+ return rescaleFrom;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRescaleFrom()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM:
+ return ((InternalEList<?>)getRescaleFrom()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASUREMENT__IS_BASE_SUPPLIED:
+ return isIsBaseSupplied();
+ case SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM:
+ return getRescaleFrom();
+ }
+ 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 SmmPackage.RESCALED_MEASUREMENT__IS_BASE_SUPPLIED:
+ setIsBaseSupplied((Boolean)newValue);
+ return;
+ case SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM:
+ getRescaleFrom().clear();
+ getRescaleFrom().addAll((Collection<? extends RescaleMeasurementRelationship>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASUREMENT__IS_BASE_SUPPLIED:
+ setIsBaseSupplied(IS_BASE_SUPPLIED_EDEFAULT);
+ return;
+ case SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM:
+ getRescaleFrom().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.RESCALED_MEASUREMENT__IS_BASE_SUPPLIED:
+ return isBaseSupplied != IS_BASE_SUPPLIED_EDEFAULT;
+ case SmmPackage.RESCALED_MEASUREMENT__RESCALE_FROM:
+ return rescaleFrom != null && !rescaleFrom.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (isBaseSupplied: ");
+ result.append(isBaseSupplied);
+ result.append(')');
+ return result.toString();
+ }
+
+} //RescaledMeasurementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ScopeImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ScopeImpl.java
new file mode 100644
index 000000000..8089c01e9
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/ScopeImpl.java
@@ -0,0 +1,334 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.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.EObject;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.emf.ecore.util.EObjectResolvingEList;
+
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.Scope;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Scope</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ScopeImpl#getClass_ <em>Class</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ScopeImpl#getElements <em>Elements</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ScopeImpl#getRecognizerQuery <em>Recognizer Query</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.ScopeImpl#getBreakCondition <em>Break Condition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ScopeImpl extends AbstractMeasureElementImpl implements Scope {
+ /**
+ * The default value of the '{@link #getClass_() <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClass_()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClass_() <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClass_()
+ * @generated
+ * @ordered
+ */
+ protected String class_ = CLASS_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getElements() <em>Elements</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getElements()
+ * @generated
+ * @ordered
+ */
+ protected EList<EObject> elements;
+
+ /**
+ * The cached value of the '{@link #getRecognizerQuery() <em>Recognizer Query</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRecognizerQuery()
+ * @generated
+ * @ordered
+ */
+ protected Operation recognizerQuery;
+
+ /**
+ * The cached value of the '{@link #getBreakCondition() <em>Break Condition</em>}' reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getBreakCondition()
+ * @generated
+ * @ordered
+ */
+ protected Operation breakCondition;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ScopeImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.SCOPE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClass_() {
+ return class_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClass(String newClass) {
+ String oldClass = class_;
+ class_ = newClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.SCOPE__CLASS, oldClass, class_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<EObject> getElements() {
+ if (elements == null) {
+ elements = new EObjectResolvingEList<EObject>(EObject.class, this, SmmPackage.SCOPE__ELEMENTS);
+ }
+ return elements;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getRecognizerQuery() {
+ if (recognizerQuery != null && recognizerQuery.eIsProxy()) {
+ InternalEObject oldRecognizerQuery = (InternalEObject)recognizerQuery;
+ recognizerQuery = (Operation)eResolveProxy(oldRecognizerQuery);
+ if (recognizerQuery != oldRecognizerQuery) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.SCOPE__RECOGNIZER_QUERY, oldRecognizerQuery, recognizerQuery));
+ }
+ }
+ return recognizerQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetRecognizerQuery() {
+ return recognizerQuery;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRecognizerQuery(Operation newRecognizerQuery) {
+ Operation oldRecognizerQuery = recognizerQuery;
+ recognizerQuery = newRecognizerQuery;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.SCOPE__RECOGNIZER_QUERY, oldRecognizerQuery, recognizerQuery));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation getBreakCondition() {
+ if (breakCondition != null && breakCondition.eIsProxy()) {
+ InternalEObject oldBreakCondition = (InternalEObject)breakCondition;
+ breakCondition = (Operation)eResolveProxy(oldBreakCondition);
+ if (breakCondition != oldBreakCondition) {
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.RESOLVE, SmmPackage.SCOPE__BREAK_CONDITION, oldBreakCondition, breakCondition));
+ }
+ }
+ return breakCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation basicGetBreakCondition() {
+ return breakCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setBreakCondition(Operation newBreakCondition) {
+ Operation oldBreakCondition = breakCondition;
+ breakCondition = newBreakCondition;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.SCOPE__BREAK_CONDITION, oldBreakCondition, breakCondition));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.SCOPE__CLASS:
+ return getClass_();
+ case SmmPackage.SCOPE__ELEMENTS:
+ return getElements();
+ case SmmPackage.SCOPE__RECOGNIZER_QUERY:
+ if (resolve) return getRecognizerQuery();
+ return basicGetRecognizerQuery();
+ case SmmPackage.SCOPE__BREAK_CONDITION:
+ if (resolve) return getBreakCondition();
+ return basicGetBreakCondition();
+ }
+ 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 SmmPackage.SCOPE__CLASS:
+ setClass((String)newValue);
+ return;
+ case SmmPackage.SCOPE__ELEMENTS:
+ getElements().clear();
+ getElements().addAll((Collection<? extends EObject>)newValue);
+ return;
+ case SmmPackage.SCOPE__RECOGNIZER_QUERY:
+ setRecognizerQuery((Operation)newValue);
+ return;
+ case SmmPackage.SCOPE__BREAK_CONDITION:
+ setBreakCondition((Operation)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.SCOPE__CLASS:
+ setClass(CLASS_EDEFAULT);
+ return;
+ case SmmPackage.SCOPE__ELEMENTS:
+ getElements().clear();
+ return;
+ case SmmPackage.SCOPE__RECOGNIZER_QUERY:
+ setRecognizerQuery((Operation)null);
+ return;
+ case SmmPackage.SCOPE__BREAK_CONDITION:
+ setBreakCondition((Operation)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.SCOPE__CLASS:
+ return CLASS_EDEFAULT == null ? class_ != null : !CLASS_EDEFAULT.equals(class_);
+ case SmmPackage.SCOPE__ELEMENTS:
+ return elements != null && !elements.isEmpty();
+ case SmmPackage.SCOPE__RECOGNIZER_QUERY:
+ return recognizerQuery != null;
+ case SmmPackage.SCOPE__BREAK_CONDITION:
+ return breakCondition != 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(" (class: ");
+ result.append(class_);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ScopeImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmElementImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmElementImpl.java
new file mode 100644
index 000000000..c4fde2739
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmElementImpl.java
@@ -0,0 +1,451 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.EObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.EObjectWithInverseResolvingEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.Annotation;
+import org.eclipse.modisco.omg.smm.Attribute;
+import org.eclipse.modisco.omg.smm.Observation;
+import org.eclipse.modisco.omg.smm.SmmElement;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+import org.eclipse.modisco.omg.smm.SmmRelationship;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Element</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.SmmElementImpl#getAttribute <em>Attribute</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.SmmElementImpl#getAnnotation <em>Annotation</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.SmmElementImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.SmmElementImpl#getShortDescription <em>Short Description</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.SmmElementImpl#getDescription <em>Description</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.SmmElementImpl#getRequestedObservations <em>Requested Observations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public abstract class SmmElementImpl extends EObjectImpl implements SmmElement {
+ /**
+ * The cached value of the '{@link #getAttribute() <em>Attribute</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAttribute()
+ * @generated
+ * @ordered
+ */
+ protected EList<Attribute> attribute;
+
+ /**
+ * The cached value of the '{@link #getAnnotation() <em>Annotation</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getAnnotation()
+ * @generated
+ * @ordered
+ */
+ protected EList<Annotation> annotation;
+
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getShortDescription() <em>Short Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShortDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String SHORT_DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getShortDescription() <em>Short Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getShortDescription()
+ * @generated
+ * @ordered
+ */
+ protected String shortDescription = SHORT_DESCRIPTION_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected static final String DESCRIPTION_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getDescription() <em>Description</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getDescription()
+ * @generated
+ * @ordered
+ */
+ protected String description = DESCRIPTION_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getRequestedObservations() <em>Requested Observations</em>}' reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRequestedObservations()
+ * @generated
+ * @ordered
+ */
+ protected EList<Observation> requestedObservations;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SmmElementImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.SMM_ELEMENT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Attribute> getAttribute() {
+ if (attribute == null) {
+ attribute = new EObjectContainmentEList<Attribute>(Attribute.class, this, SmmPackage.SMM_ELEMENT__ATTRIBUTE);
+ }
+ return attribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Annotation> getAnnotation() {
+ if (annotation == null) {
+ annotation = new EObjectContainmentEList<Annotation>(Annotation.class, this, SmmPackage.SMM_ELEMENT__ANNOTATION);
+ }
+ return annotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName() {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName) {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.SMM_ELEMENT__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getShortDescription() {
+ return shortDescription;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setShortDescription(String newShortDescription) {
+ String oldShortDescription = shortDescription;
+ shortDescription = newShortDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.SMM_ELEMENT__SHORT_DESCRIPTION, oldShortDescription, shortDescription));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getDescription() {
+ return description;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setDescription(String newDescription) {
+ String oldDescription = description;
+ description = newDescription;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, SmmPackage.SMM_ELEMENT__DESCRIPTION, oldDescription, description));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Observation> getRequestedObservations() {
+ if (requestedObservations == null) {
+ requestedObservations = new EObjectWithInverseResolvingEList.ManyInverse<Observation>(Observation.class, this, SmmPackage.SMM_ELEMENT__REQUESTED_OBSERVATIONS, SmmPackage.OBSERVATION__REQUESTED_MEASURES);
+ }
+ return requestedObservations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SmmRelationship> getInbound() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<SmmRelationship> getOutbound() {
+ // TODO: implement this method
+ // Ensure that you remove @generated or mark it @generated NOT
+ throw new UnsupportedOperationException();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public NotificationChain eInverseAdd(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.SMM_ELEMENT__REQUESTED_OBSERVATIONS:
+ return ((InternalEList<InternalEObject>)(InternalEList<?>)getRequestedObservations()).basicAdd(otherEnd, msgs);
+ }
+ return super.eInverseAdd(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.SMM_ELEMENT__ATTRIBUTE:
+ return ((InternalEList<?>)getAttribute()).basicRemove(otherEnd, msgs);
+ case SmmPackage.SMM_ELEMENT__ANNOTATION:
+ return ((InternalEList<?>)getAnnotation()).basicRemove(otherEnd, msgs);
+ case SmmPackage.SMM_ELEMENT__REQUESTED_OBSERVATIONS:
+ return ((InternalEList<?>)getRequestedObservations()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.SMM_ELEMENT__ATTRIBUTE:
+ return getAttribute();
+ case SmmPackage.SMM_ELEMENT__ANNOTATION:
+ return getAnnotation();
+ case SmmPackage.SMM_ELEMENT__NAME:
+ return getName();
+ case SmmPackage.SMM_ELEMENT__SHORT_DESCRIPTION:
+ return getShortDescription();
+ case SmmPackage.SMM_ELEMENT__DESCRIPTION:
+ return getDescription();
+ case SmmPackage.SMM_ELEMENT__REQUESTED_OBSERVATIONS:
+ return getRequestedObservations();
+ }
+ 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 SmmPackage.SMM_ELEMENT__ATTRIBUTE:
+ getAttribute().clear();
+ getAttribute().addAll((Collection<? extends Attribute>)newValue);
+ return;
+ case SmmPackage.SMM_ELEMENT__ANNOTATION:
+ getAnnotation().clear();
+ getAnnotation().addAll((Collection<? extends Annotation>)newValue);
+ return;
+ case SmmPackage.SMM_ELEMENT__NAME:
+ setName((String)newValue);
+ return;
+ case SmmPackage.SMM_ELEMENT__SHORT_DESCRIPTION:
+ setShortDescription((String)newValue);
+ return;
+ case SmmPackage.SMM_ELEMENT__DESCRIPTION:
+ setDescription((String)newValue);
+ return;
+ case SmmPackage.SMM_ELEMENT__REQUESTED_OBSERVATIONS:
+ getRequestedObservations().clear();
+ getRequestedObservations().addAll((Collection<? extends Observation>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.SMM_ELEMENT__ATTRIBUTE:
+ getAttribute().clear();
+ return;
+ case SmmPackage.SMM_ELEMENT__ANNOTATION:
+ getAnnotation().clear();
+ return;
+ case SmmPackage.SMM_ELEMENT__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case SmmPackage.SMM_ELEMENT__SHORT_DESCRIPTION:
+ setShortDescription(SHORT_DESCRIPTION_EDEFAULT);
+ return;
+ case SmmPackage.SMM_ELEMENT__DESCRIPTION:
+ setDescription(DESCRIPTION_EDEFAULT);
+ return;
+ case SmmPackage.SMM_ELEMENT__REQUESTED_OBSERVATIONS:
+ getRequestedObservations().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.SMM_ELEMENT__ATTRIBUTE:
+ return attribute != null && !attribute.isEmpty();
+ case SmmPackage.SMM_ELEMENT__ANNOTATION:
+ return annotation != null && !annotation.isEmpty();
+ case SmmPackage.SMM_ELEMENT__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case SmmPackage.SMM_ELEMENT__SHORT_DESCRIPTION:
+ return SHORT_DESCRIPTION_EDEFAULT == null ? shortDescription != null : !SHORT_DESCRIPTION_EDEFAULT.equals(shortDescription);
+ case SmmPackage.SMM_ELEMENT__DESCRIPTION:
+ return DESCRIPTION_EDEFAULT == null ? description != null : !DESCRIPTION_EDEFAULT.equals(description);
+ case SmmPackage.SMM_ELEMENT__REQUESTED_OBSERVATIONS:
+ return requestedObservations != null && !requestedObservations.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString() {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(", shortDescription: ");
+ result.append(shortDescription);
+ result.append(", description: ");
+ result.append(description);
+ result.append(')');
+ return result.toString();
+ }
+
+} //SmmElementImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmFactoryImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmFactoryImpl.java
new file mode 100644
index 000000000..cb2588af6
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmFactoryImpl.java
@@ -0,0 +1,780 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.sql.Timestamp;
+import java.util.Date;
+
+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.modisco.omg.smm.Accumulator;
+import org.eclipse.modisco.omg.smm.AggregatedMeasurement;
+import org.eclipse.modisco.omg.smm.Annotation;
+import org.eclipse.modisco.omg.smm.Argument;
+import org.eclipse.modisco.omg.smm.Attribute;
+import org.eclipse.modisco.omg.smm.Base1MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Base1MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BaseMeasureRelationship;
+import org.eclipse.modisco.omg.smm.BaseMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasure;
+import org.eclipse.modisco.omg.smm.BinaryMeasurement;
+import org.eclipse.modisco.omg.smm.CategoryRelationship;
+import org.eclipse.modisco.omg.smm.Characteristic;
+import org.eclipse.modisco.omg.smm.CollectiveMeasure;
+import org.eclipse.modisco.omg.smm.CollectiveMeasurement;
+import org.eclipse.modisco.omg.smm.Count;
+import org.eclipse.modisco.omg.smm.Counting;
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.DirectMeasure;
+import org.eclipse.modisco.omg.smm.DirectMeasurement;
+import org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship;
+import org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Grade;
+import org.eclipse.modisco.omg.smm.MeasureCategory;
+import org.eclipse.modisco.omg.smm.MeasureLibrary;
+import org.eclipse.modisco.omg.smm.NamedMeasure;
+import org.eclipse.modisco.omg.smm.NamedMeasurement;
+import org.eclipse.modisco.omg.smm.OCLOperation;
+import org.eclipse.modisco.omg.smm.Observation;
+import org.eclipse.modisco.omg.smm.ObservationScope;
+import org.eclipse.modisco.omg.smm.ObservedMeasure;
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.Ranking;
+import org.eclipse.modisco.omg.smm.RankingInterval;
+import org.eclipse.modisco.omg.smm.RankingMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RankingMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RatioMeasure;
+import org.eclipse.modisco.omg.smm.RatioMeasurement;
+import org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RefinementMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaleMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaledMeasure;
+import org.eclipse.modisco.omg.smm.RescaledMeasurement;
+import org.eclipse.modisco.omg.smm.Scope;
+import org.eclipse.modisco.omg.smm.SmmFactory;
+import org.eclipse.modisco.omg.smm.SmmModel;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+@SuppressWarnings("all")
+public class SmmFactoryImpl extends EFactoryImpl implements SmmFactory {
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static SmmFactory init() {
+ try {
+ SmmFactory theSmmFactory = (SmmFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/MoDisco/SMM/1.0.Beta2/smm");
+ if (theSmmFactory != null) {
+ return theSmmFactory;
+ }
+ }
+ catch (Exception exception) {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new SmmFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SmmFactoryImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(final EClass eClass) {
+ switch (eClass.getClassifierID()) {
+ case SmmPackage.ANNOTATION: return createAnnotation();
+ case SmmPackage.ARGUMENT: return createArgument();
+ case SmmPackage.ATTRIBUTE: return createAttribute();
+ case SmmPackage.AGGREGATED_MEASUREMENT: return createAggregatedMeasurement();
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP: return createBase1MeasurementRelationship();
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP: return createBase1MeasureRelationship();
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP: return createBase2MeasurementRelationship();
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP: return createBase2MeasureRelationship();
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP: return createBaseMeasurementRelationship();
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP: return createBaseMeasureRelationship();
+ case SmmPackage.BINARY_MEASURE: return createBinaryMeasure();
+ case SmmPackage.BINARY_MEASUREMENT: return createBinaryMeasurement();
+ case SmmPackage.CATEGORY_RELATIONSHIP: return createCategoryRelationship();
+ case SmmPackage.CHARACTERISTIC: return createCharacteristic();
+ case SmmPackage.COLLECTIVE_MEASURE: return createCollectiveMeasure();
+ case SmmPackage.COLLECTIVE_MEASUREMENT: return createCollectiveMeasurement();
+ case SmmPackage.COUNT: return createCount();
+ case SmmPackage.COUNTING: return createCounting();
+ case SmmPackage.DIMENSIONAL_MEASURE: return createDimensionalMeasure();
+ case SmmPackage.DIRECT_MEASURE: return createDirectMeasure();
+ case SmmPackage.DIRECT_MEASUREMENT: return createDirectMeasurement();
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP: return createEquivalentMeasureRelationship();
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP: return createEquivalentMeasurementRelationship();
+ case SmmPackage.GRADE: return createGrade();
+ case SmmPackage.MEASURE_CATEGORY: return createMeasureCategory();
+ case SmmPackage.MEASURE_LIBRARY: return createMeasureLibrary();
+ case SmmPackage.NAMED_MEASURE: return createNamedMeasure();
+ case SmmPackage.NAMED_MEASUREMENT: return createNamedMeasurement();
+ case SmmPackage.OBSERVATION: return createObservation();
+ case SmmPackage.OBSERVATION_SCOPE: return createObservationScope();
+ case SmmPackage.OBSERVED_MEASURE: return createObservedMeasure();
+ case SmmPackage.OCL_OPERATION: return createOCLOperation();
+ case SmmPackage.OPERATION: return createOperation();
+ case SmmPackage.RANKING: return createRanking();
+ case SmmPackage.RANKING_INTERVAL: return createRankingInterval();
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP: return createRankingMeasureRelationship();
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP: return createRankingMeasurementRelationship();
+ case SmmPackage.RATIO_MEASURE: return createRatioMeasure();
+ case SmmPackage.RATIO_MEASUREMENT: return createRatioMeasurement();
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP: return createRecursiveMeasureRelationship();
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP: return createRecursiveMeasurementRelationship();
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP: return createRefinementMeasureRelationship();
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP: return createRefinementMeasurementRelationship();
+ case SmmPackage.RESCALED_MEASURE: return createRescaledMeasure();
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP: return createRescaleMeasureRelationship();
+ case SmmPackage.RESCALED_MEASUREMENT: return createRescaledMeasurement();
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP: return createRescaleMeasurementRelationship();
+ case SmmPackage.SCOPE: return createScope();
+ case SmmPackage.SMM_MODEL: return createSmmModel();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(final EDataType eDataType, final String initialValue) {
+ switch (eDataType.getClassifierID()) {
+ case SmmPackage.ACCUMULATOR:
+ return createAccumulatorFromString(eDataType, initialValue);
+ case SmmPackage.DATE:
+ return createDateFromString(eDataType, initialValue);
+ case SmmPackage.TIMESTAMP:
+ return createTimestampFromString(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(final EDataType eDataType, final Object instanceValue) {
+ switch (eDataType.getClassifierID()) {
+ case SmmPackage.ACCUMULATOR:
+ return convertAccumulatorToString(eDataType, instanceValue);
+ case SmmPackage.DATE:
+ return convertDateToString(eDataType, instanceValue);
+ case SmmPackage.TIMESTAMP:
+ return convertTimestampToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Annotation createAnnotation() {
+ AnnotationImpl annotation = new AnnotationImpl();
+ return annotation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Argument createArgument() {
+ ArgumentImpl argument = new ArgumentImpl();
+ return argument;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Attribute createAttribute() {
+ AttributeImpl attribute = new AttributeImpl();
+ return attribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AggregatedMeasurement createAggregatedMeasurement() {
+ AggregatedMeasurementImpl aggregatedMeasurement = new AggregatedMeasurementImpl();
+ return aggregatedMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base1MeasurementRelationship createBase1MeasurementRelationship() {
+ Base1MeasurementRelationshipImpl base1MeasurementRelationship = new Base1MeasurementRelationshipImpl();
+ return base1MeasurementRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base1MeasureRelationship createBase1MeasureRelationship() {
+ Base1MeasureRelationshipImpl base1MeasureRelationship = new Base1MeasureRelationshipImpl();
+ return base1MeasureRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base2MeasurementRelationship createBase2MeasurementRelationship() {
+ Base2MeasurementRelationshipImpl base2MeasurementRelationship = new Base2MeasurementRelationshipImpl();
+ return base2MeasurementRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Base2MeasureRelationship createBase2MeasureRelationship() {
+ Base2MeasureRelationshipImpl base2MeasureRelationship = new Base2MeasureRelationshipImpl();
+ return base2MeasureRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BaseMeasurementRelationship createBaseMeasurementRelationship() {
+ BaseMeasurementRelationshipImpl baseMeasurementRelationship = new BaseMeasurementRelationshipImpl();
+ return baseMeasurementRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BaseMeasureRelationship createBaseMeasureRelationship() {
+ BaseMeasureRelationshipImpl baseMeasureRelationship = new BaseMeasureRelationshipImpl();
+ return baseMeasureRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BinaryMeasure createBinaryMeasure() {
+ BinaryMeasureImpl binaryMeasure = new BinaryMeasureImpl();
+ return binaryMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public BinaryMeasurement createBinaryMeasurement() {
+ BinaryMeasurementImpl binaryMeasurement = new BinaryMeasurementImpl();
+ return binaryMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CategoryRelationship createCategoryRelationship() {
+ CategoryRelationshipImpl categoryRelationship = new CategoryRelationshipImpl();
+ return categoryRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Characteristic createCharacteristic() {
+ CharacteristicImpl characteristic = new CharacteristicImpl();
+ return characteristic;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectiveMeasure createCollectiveMeasure() {
+ CollectiveMeasureImpl collectiveMeasure = new CollectiveMeasureImpl();
+ return collectiveMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CollectiveMeasurement createCollectiveMeasurement() {
+ CollectiveMeasurementImpl collectiveMeasurement = new CollectiveMeasurementImpl();
+ return collectiveMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Count createCount() {
+ CountImpl count = new CountImpl();
+ return count;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Counting createCounting() {
+ CountingImpl counting = new CountingImpl();
+ return counting;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DimensionalMeasure createDimensionalMeasure() {
+ DimensionalMeasureImpl dimensionalMeasure = new DimensionalMeasureImpl();
+ return dimensionalMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DirectMeasure createDirectMeasure() {
+ DirectMeasureImpl directMeasure = new DirectMeasureImpl();
+ return directMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public DirectMeasurement createDirectMeasurement() {
+ DirectMeasurementImpl directMeasurement = new DirectMeasurementImpl();
+ return directMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EquivalentMeasureRelationship createEquivalentMeasureRelationship() {
+ EquivalentMeasureRelationshipImpl equivalentMeasureRelationship = new EquivalentMeasureRelationshipImpl();
+ return equivalentMeasureRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EquivalentMeasurementRelationship createEquivalentMeasurementRelationship() {
+ EquivalentMeasurementRelationshipImpl equivalentMeasurementRelationship = new EquivalentMeasurementRelationshipImpl();
+ return equivalentMeasurementRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Grade createGrade() {
+ GradeImpl grade = new GradeImpl();
+ return grade;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MeasureCategory createMeasureCategory() {
+ MeasureCategoryImpl measureCategory = new MeasureCategoryImpl();
+ return measureCategory;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public MeasureLibrary createMeasureLibrary() {
+ MeasureLibraryImpl measureLibrary = new MeasureLibraryImpl();
+ return measureLibrary;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedMeasure createNamedMeasure() {
+ NamedMeasureImpl namedMeasure = new NamedMeasureImpl();
+ return namedMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NamedMeasurement createNamedMeasurement() {
+ NamedMeasurementImpl namedMeasurement = new NamedMeasurementImpl();
+ return namedMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Observation createObservation() {
+ ObservationImpl observation = new ObservationImpl();
+ return observation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObservationScope createObservationScope() {
+ ObservationScopeImpl observationScope = new ObservationScopeImpl();
+ return observationScope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ObservedMeasure createObservedMeasure() {
+ ObservedMeasureImpl observedMeasure = new ObservedMeasureImpl();
+ return observedMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public OCLOperation createOCLOperation() {
+ OCLOperationImpl oclOperation = new OCLOperationImpl();
+ return oclOperation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Operation createOperation() {
+ OperationImpl operation = new OperationImpl();
+ return operation;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ranking createRanking() {
+ RankingImpl ranking = new RankingImpl();
+ return ranking;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RankingInterval createRankingInterval() {
+ RankingIntervalImpl rankingInterval = new RankingIntervalImpl();
+ return rankingInterval;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RankingMeasureRelationship createRankingMeasureRelationship() {
+ RankingMeasureRelationshipImpl rankingMeasureRelationship = new RankingMeasureRelationshipImpl();
+ return rankingMeasureRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RankingMeasurementRelationship createRankingMeasurementRelationship() {
+ RankingMeasurementRelationshipImpl rankingMeasurementRelationship = new RankingMeasurementRelationshipImpl();
+ return rankingMeasurementRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RatioMeasure createRatioMeasure() {
+ RatioMeasureImpl ratioMeasure = new RatioMeasureImpl();
+ return ratioMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RatioMeasurement createRatioMeasurement() {
+ RatioMeasurementImpl ratioMeasurement = new RatioMeasurementImpl();
+ return ratioMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RecursiveMeasureRelationship createRecursiveMeasureRelationship() {
+ RecursiveMeasureRelationshipImpl recursiveMeasureRelationship = new RecursiveMeasureRelationshipImpl();
+ return recursiveMeasureRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RecursiveMeasurementRelationship createRecursiveMeasurementRelationship() {
+ RecursiveMeasurementRelationshipImpl recursiveMeasurementRelationship = new RecursiveMeasurementRelationshipImpl();
+ return recursiveMeasurementRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefinementMeasureRelationship createRefinementMeasureRelationship() {
+ RefinementMeasureRelationshipImpl refinementMeasureRelationship = new RefinementMeasureRelationshipImpl();
+ return refinementMeasureRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RefinementMeasurementRelationship createRefinementMeasurementRelationship() {
+ RefinementMeasurementRelationshipImpl refinementMeasurementRelationship = new RefinementMeasurementRelationshipImpl();
+ return refinementMeasurementRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaledMeasure createRescaledMeasure() {
+ RescaledMeasureImpl rescaledMeasure = new RescaledMeasureImpl();
+ return rescaledMeasure;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaleMeasureRelationship createRescaleMeasureRelationship() {
+ RescaleMeasureRelationshipImpl rescaleMeasureRelationship = new RescaleMeasureRelationshipImpl();
+ return rescaleMeasureRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaledMeasurement createRescaledMeasurement() {
+ RescaledMeasurementImpl rescaledMeasurement = new RescaledMeasurementImpl();
+ return rescaledMeasurement;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public RescaleMeasurementRelationship createRescaleMeasurementRelationship() {
+ RescaleMeasurementRelationshipImpl rescaleMeasurementRelationship = new RescaleMeasurementRelationshipImpl();
+ return rescaleMeasurementRelationship;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Scope createScope() {
+ ScopeImpl scope = new ScopeImpl();
+ return scope;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SmmModel createSmmModel() {
+ SmmModelImpl smmModel = new SmmModelImpl();
+ return smmModel;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Accumulator createAccumulatorFromString(final EDataType eDataType, final String initialValue) {
+ Accumulator result = Accumulator.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 convertAccumulatorToString(final EDataType eDataType, final Object instanceValue) {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Date createDateFromString(final EDataType eDataType, final String initialValue) {
+ return (Date)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertDateToString(final EDataType eDataType, final Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Timestamp createTimestampFromString(final EDataType eDataType, final String initialValue) {
+ return (Timestamp)super.createFromString(eDataType, initialValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertTimestampToString(final EDataType eDataType, final Object instanceValue) {
+ return super.convertToString(eDataType, instanceValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SmmPackage getSmmPackage() {
+ return (SmmPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static SmmPackage getPackage() {
+ return SmmPackage.eINSTANCE;
+ }
+
+} //SmmFactoryImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmModelImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmModelImpl.java
new file mode 100644
index 000000000..8bd21a380
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmModelImpl.java
@@ -0,0 +1,195 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.modisco.omg.smm.MeasureLibrary;
+import org.eclipse.modisco.omg.smm.Observation;
+import org.eclipse.modisco.omg.smm.SmmModel;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Model</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.SmmModelImpl#getObservations <em>Observations</em>}</li>
+ * <li>{@link org.eclipse.modisco.omg.smm.impl.SmmModelImpl#getLibrairies <em>Librairies</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class SmmModelImpl extends SmmElementImpl implements SmmModel {
+ /**
+ * The cached value of the '{@link #getObservations() <em>Observations</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getObservations()
+ * @generated
+ * @ordered
+ */
+ protected EList<Observation> observations;
+
+ /**
+ * The cached value of the '{@link #getLibrairies() <em>Librairies</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLibrairies()
+ * @generated
+ * @ordered
+ */
+ protected EList<MeasureLibrary> librairies;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SmmModelImpl() {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass() {
+ return SmmPackage.Literals.SMM_MODEL;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Observation> getObservations() {
+ if (observations == null) {
+ observations = new EObjectContainmentEList<Observation>(Observation.class, this, SmmPackage.SMM_MODEL__OBSERVATIONS);
+ }
+ return observations;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<MeasureLibrary> getLibrairies() {
+ if (librairies == null) {
+ librairies = new EObjectContainmentEList<MeasureLibrary>(MeasureLibrary.class, this, SmmPackage.SMM_MODEL__LIBRAIRIES);
+ }
+ return librairies;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs) {
+ switch (featureID) {
+ case SmmPackage.SMM_MODEL__OBSERVATIONS:
+ return ((InternalEList<?>)getObservations()).basicRemove(otherEnd, msgs);
+ case SmmPackage.SMM_MODEL__LIBRAIRIES:
+ return ((InternalEList<?>)getLibrairies()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType) {
+ switch (featureID) {
+ case SmmPackage.SMM_MODEL__OBSERVATIONS:
+ return getObservations();
+ case SmmPackage.SMM_MODEL__LIBRAIRIES:
+ return getLibrairies();
+ }
+ 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 SmmPackage.SMM_MODEL__OBSERVATIONS:
+ getObservations().clear();
+ getObservations().addAll((Collection<? extends Observation>)newValue);
+ return;
+ case SmmPackage.SMM_MODEL__LIBRAIRIES:
+ getLibrairies().clear();
+ getLibrairies().addAll((Collection<? extends MeasureLibrary>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID) {
+ switch (featureID) {
+ case SmmPackage.SMM_MODEL__OBSERVATIONS:
+ getObservations().clear();
+ return;
+ case SmmPackage.SMM_MODEL__LIBRAIRIES:
+ getLibrairies().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID) {
+ switch (featureID) {
+ case SmmPackage.SMM_MODEL__OBSERVATIONS:
+ return observations != null && !observations.isEmpty();
+ case SmmPackage.SMM_MODEL__LIBRAIRIES:
+ return librairies != null && !librairies.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //SmmModelImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmPackageImpl.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmPackageImpl.java
new file mode 100644
index 000000000..55b7930fb
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/impl/SmmPackageImpl.java
@@ -0,0 +1,3064 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.impl;
+
+import java.sql.Timestamp;
+
+import java.util.Date;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+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.modisco.omg.smm.AbstractMeasureElement;
+import org.eclipse.modisco.omg.smm.Accumulator;
+import org.eclipse.modisco.omg.smm.AggregatedMeasurement;
+import org.eclipse.modisco.omg.smm.Annotation;
+import org.eclipse.modisco.omg.smm.Argument;
+import org.eclipse.modisco.omg.smm.Attribute;
+import org.eclipse.modisco.omg.smm.Base1MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Base1MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BaseMeasureRelationship;
+import org.eclipse.modisco.omg.smm.BaseMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasure;
+import org.eclipse.modisco.omg.smm.BinaryMeasurement;
+import org.eclipse.modisco.omg.smm.CategoryRelationship;
+import org.eclipse.modisco.omg.smm.Characteristic;
+import org.eclipse.modisco.omg.smm.CollectiveMeasure;
+import org.eclipse.modisco.omg.smm.CollectiveMeasurement;
+import org.eclipse.modisco.omg.smm.Count;
+import org.eclipse.modisco.omg.smm.Counting;
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.DirectMeasure;
+import org.eclipse.modisco.omg.smm.DirectMeasurement;
+import org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship;
+import org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Grade;
+import org.eclipse.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.MeasureCategory;
+import org.eclipse.modisco.omg.smm.MeasureLibrary;
+import org.eclipse.modisco.omg.smm.MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Measurement;
+import org.eclipse.modisco.omg.smm.MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.NamedMeasure;
+import org.eclipse.modisco.omg.smm.NamedMeasurement;
+import org.eclipse.modisco.omg.smm.OCLOperation;
+import org.eclipse.modisco.omg.smm.Observation;
+import org.eclipse.modisco.omg.smm.ObservationScope;
+import org.eclipse.modisco.omg.smm.ObservedMeasure;
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.Ranking;
+import org.eclipse.modisco.omg.smm.RankingInterval;
+import org.eclipse.modisco.omg.smm.RankingMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RankingMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RatioMeasure;
+import org.eclipse.modisco.omg.smm.RatioMeasurement;
+import org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RefinementMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaleMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaledMeasure;
+import org.eclipse.modisco.omg.smm.RescaledMeasurement;
+import org.eclipse.modisco.omg.smm.Scope;
+import org.eclipse.modisco.omg.smm.SmmElement;
+import org.eclipse.modisco.omg.smm.SmmFactory;
+import org.eclipse.modisco.omg.smm.SmmModel;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+import org.eclipse.modisco.omg.smm.SmmRelationship;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class SmmPackageImpl extends EPackageImpl implements SmmPackage {
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass abstractMeasureElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass annotationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass argumentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attributeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass aggregatedMeasurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass base1MeasurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass base1MeasureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass base2MeasurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass base2MeasureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass baseMeasurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass baseMeasureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass binaryMeasureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass binaryMeasurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass categoryRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass characteristicEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass collectiveMeasureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass collectiveMeasurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass countEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass countingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dimensionalMeasureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass dimensionalMeasurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass directMeasureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass directMeasurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass equivalentMeasureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass equivalentMeasurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass gradeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass measureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass measureCategoryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass measureLibraryEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass measureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass measurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass measurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass namedMeasureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass namedMeasurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass observationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass observationScopeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass observedMeasureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass oclOperationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass operationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rankingEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rankingIntervalEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rankingMeasureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rankingMeasurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ratioMeasureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass ratioMeasurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass recursiveMeasureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass recursiveMeasurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refinementMeasureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass refinementMeasurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rescaledMeasureEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rescaleMeasureRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rescaledMeasurementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rescaleMeasurementRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass scopeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass smmElementEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass smmModelEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass smmRelationshipEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum accumulatorEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType dateEDataType = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EDataType timestampEDataType = 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.modisco.omg.smm.SmmPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private SmmPackageImpl() {
+ super(eNS_URI, SmmFactory.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 SmmPackage#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 SmmPackage init() {
+ if (isInited) return (SmmPackage)EPackage.Registry.INSTANCE.getEPackage(SmmPackage.eNS_URI);
+
+ // Obtain or create and register package
+ SmmPackageImpl theSmmPackage = (SmmPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof SmmPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new SmmPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theSmmPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theSmmPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theSmmPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(SmmPackage.eNS_URI, theSmmPackage);
+ return theSmmPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAbstractMeasureElement() {
+ return abstractMeasureElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAbstractMeasureElement_InCategory() {
+ return (EReference)abstractMeasureElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAnnotation() {
+ return annotationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAnnotation_Text() {
+ return (EAttribute)annotationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getArgument() {
+ return argumentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getArgument_Type() {
+ return (EAttribute)argumentEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getArgument_Value() {
+ return (EAttribute)argumentEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAttribute() {
+ return attributeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttribute_Tag() {
+ return (EAttribute)attributeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttribute_Value() {
+ return (EAttribute)attributeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAggregatedMeasurement() {
+ return aggregatedMeasurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAggregatedMeasurement_IsBaseSuppled() {
+ return (EAttribute)aggregatedMeasurementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAggregatedMeasurement_BaseMeasurement() {
+ return (EReference)aggregatedMeasurementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBase1MeasurementRelationship() {
+ return base1MeasurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBase1MeasurementRelationship_From() {
+ return (EReference)base1MeasurementRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBase1MeasurementRelationship_To() {
+ return (EReference)base1MeasurementRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBase1MeasureRelationship() {
+ return base1MeasureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBase1MeasureRelationship_From() {
+ return (EReference)base1MeasureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBase1MeasureRelationship_To() {
+ return (EReference)base1MeasureRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBase2MeasurementRelationship() {
+ return base2MeasurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBase2MeasurementRelationship_From() {
+ return (EReference)base2MeasurementRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBase2MeasurementRelationship_To() {
+ return (EReference)base2MeasurementRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBase2MeasureRelationship() {
+ return base2MeasureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBase2MeasureRelationship_From() {
+ return (EReference)base2MeasureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBase2MeasureRelationship_To() {
+ return (EReference)base2MeasureRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBaseMeasurementRelationship() {
+ return baseMeasurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseMeasurementRelationship_From() {
+ return (EReference)baseMeasurementRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseMeasurementRelationship_To() {
+ return (EReference)baseMeasurementRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBaseMeasureRelationship() {
+ return baseMeasureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseMeasureRelationship_From() {
+ return (EReference)baseMeasureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBaseMeasureRelationship_To() {
+ return (EReference)baseMeasureRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBinaryMeasure() {
+ return binaryMeasureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBinaryMeasure_Functor() {
+ return (EAttribute)binaryMeasureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBinaryMeasure_BaseMeasure1To() {
+ return (EReference)binaryMeasureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBinaryMeasure_BaseMeasure2To() {
+ return (EReference)binaryMeasureEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getBinaryMeasurement() {
+ return binaryMeasurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBinaryMeasurement_BaseMeasurement1To() {
+ return (EReference)binaryMeasurementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getBinaryMeasurement_BaseMeasurement2To() {
+ return (EReference)binaryMeasurementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getBinaryMeasurement_IsBaseSupplied() {
+ return (EAttribute)binaryMeasurementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCategoryRelationship() {
+ return categoryRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCategoryRelationship_From() {
+ return (EReference)categoryRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCategoryRelationship_To() {
+ return (EReference)categoryRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCharacteristic() {
+ return characteristicEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCharacteristic_Parent() {
+ return (EReference)characteristicEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCollectiveMeasure() {
+ return collectiveMeasureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCollectiveMeasure_Accumulator() {
+ return (EAttribute)collectiveMeasureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollectiveMeasure_BaseMeasureTo() {
+ return (EReference)collectiveMeasureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCollectiveMeasurement() {
+ return collectiveMeasurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCollectiveMeasurement_Accumulator() {
+ return (EAttribute)collectiveMeasurementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCollectiveMeasurement_IsBaseSupplied() {
+ return (EAttribute)collectiveMeasurementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCollectiveMeasurement_BaseMeasurementTo() {
+ return (EReference)collectiveMeasurementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCount() {
+ return countEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCounting() {
+ return countingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDimensionalMeasure() {
+ return dimensionalMeasureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDimensionalMeasure_Unit() {
+ return (EAttribute)dimensionalMeasureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasure_BaseMeasureFrom() {
+ return (EReference)dimensionalMeasureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasure_BaseMeasure1From() {
+ return (EReference)dimensionalMeasureEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasure_BaseMeasure2From() {
+ return (EReference)dimensionalMeasureEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasure_RescaleTo() {
+ return (EReference)dimensionalMeasureEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasure_RankingFrom() {
+ return (EReference)dimensionalMeasureEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDimensionalMeasurement() {
+ return dimensionalMeasurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDimensionalMeasurement_Value() {
+ return (EAttribute)dimensionalMeasurementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasurement_BaseMeasurementFrom() {
+ return (EReference)dimensionalMeasurementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasurement_BaseMeasurement1From() {
+ return (EReference)dimensionalMeasurementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasurement_BaseMeasurement2From() {
+ return (EReference)dimensionalMeasurementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasurement_RescaleTo() {
+ return (EReference)dimensionalMeasurementEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDimensionalMeasurement_RankingFrom() {
+ return (EReference)dimensionalMeasurementEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDirectMeasure() {
+ return directMeasureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDirectMeasure_Operation() {
+ return (EReference)directMeasureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDirectMeasurement() {
+ return directMeasurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEquivalentMeasureRelationship() {
+ return equivalentMeasureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEquivalentMeasureRelationship_Mapping() {
+ return (EReference)equivalentMeasureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEquivalentMeasureRelationship_From() {
+ return (EReference)equivalentMeasureRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEquivalentMeasureRelationship_To() {
+ return (EReference)equivalentMeasureRelationshipEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEquivalentMeasurementRelationship() {
+ return equivalentMeasurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEquivalentMeasurementRelationship_From() {
+ return (EReference)equivalentMeasurementRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEquivalentMeasurementRelationship_To() {
+ return (EReference)equivalentMeasurementRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getGrade() {
+ return gradeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGrade_BaseMeasurement() {
+ return (EReference)gradeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGrade_IsBaseSupplied() {
+ return (EAttribute)gradeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getGrade_Value() {
+ return (EAttribute)gradeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getGrade_RankingTo() {
+ return (EReference)gradeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMeasure() {
+ return measureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_Category() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_Trait() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_Scope() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMeasure_MeasureLabelFormat() {
+ return (EAttribute)measureEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_RefinementTo() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_RefinementFrom() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_EquivalentTo() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_EquivalentFrom() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_RecursiveTo() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_RecursiveFrom() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMeasure_MeasurementLabelFormat() {
+ return (EAttribute)measureEClass.getEStructuralFeatures().get(10);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMeasure_Visible() {
+ return (EAttribute)measureEClass.getEStructuralFeatures().get(11);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_MeasureRelationships() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(12);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasure_DefaultQuery() {
+ return (EReference)measureEClass.getEStructuralFeatures().get(13);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMeasureCategory() {
+ return measureCategoryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasureCategory_Category() {
+ return (EReference)measureCategoryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasureCategory_CategoryElement() {
+ return (EReference)measureCategoryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasureCategory_CategoryMeasure() {
+ return (EReference)measureCategoryEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMeasureLibrary() {
+ return measureLibraryEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasureLibrary_MeasureElements() {
+ return (EReference)measureLibraryEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasureLibrary_CategoryRelationships() {
+ return (EReference)measureLibraryEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMeasureRelationship() {
+ return measureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasureRelationship_MeasurandQuery() {
+ return (EReference)measureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMeasurement() {
+ return measurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMeasurement_Error() {
+ return (EAttribute)measurementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasurement_Measurand() {
+ return (EReference)measurementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMeasurement_BreakValue() {
+ return (EAttribute)measurementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasurement_RefinementTo() {
+ return (EReference)measurementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasurement_RefinementFrom() {
+ return (EReference)measurementEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasurement_EquivalentTo() {
+ return (EReference)measurementEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasurement_EquivalentFrom() {
+ return (EReference)measurementEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasurement_RecursiveTo() {
+ return (EReference)measurementEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasurement_RecursiveFrom() {
+ return (EReference)measurementEClass.getEStructuralFeatures().get(8);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMeasurement_MeasurementRelationships() {
+ return (EReference)measurementEClass.getEStructuralFeatures().get(9);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMeasurementRelationship() {
+ return measurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNamedMeasure() {
+ return namedMeasureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNamedMeasurement() {
+ return namedMeasurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getObservation() {
+ return observationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getObservation_Observer() {
+ return (EAttribute)observationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getObservation_Tool() {
+ return (EAttribute)observationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getObservation_WhenObserved() {
+ return (EAttribute)observationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObservation_Scopes() {
+ return (EReference)observationEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObservation_ObservedMeasures() {
+ return (EReference)observationEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObservation_RequestedMeasures() {
+ return (EReference)observationEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObservation_MeasurementRelations() {
+ return (EReference)observationEClass.getEStructuralFeatures().get(6);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObservation_Arguments() {
+ return (EReference)observationEClass.getEStructuralFeatures().get(7);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getObservationScope() {
+ return observationScopeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getObservationScope_ScopeUri() {
+ return (EAttribute)observationScopeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getObservedMeasure() {
+ return observedMeasureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObservedMeasure_Measure() {
+ return (EReference)observedMeasureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getObservedMeasure_Measurements() {
+ return (EReference)observedMeasureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOCLOperation() {
+ return oclOperationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOCLOperation_Context() {
+ return (EAttribute)oclOperationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOCLOperation_Body() {
+ return (EAttribute)oclOperationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getOperation() {
+ return operationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperation_Language() {
+ return (EAttribute)operationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getOperation_Body() {
+ return (EAttribute)operationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRanking() {
+ return rankingEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRanking_Interval() {
+ return (EReference)rankingEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRanking_RankingTo() {
+ return (EReference)rankingEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRankingInterval() {
+ return rankingIntervalEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRankingInterval_Rank() {
+ return (EReference)rankingIntervalEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRankingInterval_MaximumEndpoint() {
+ return (EAttribute)rankingIntervalEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRankingInterval_MaximumOpen() {
+ return (EAttribute)rankingIntervalEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRankingInterval_MinimumEndpoint() {
+ return (EAttribute)rankingIntervalEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRankingInterval_MinimumOpen() {
+ return (EAttribute)rankingIntervalEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRankingInterval_Symbol() {
+ return (EAttribute)rankingIntervalEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRankingMeasureRelationship() {
+ return rankingMeasureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRankingMeasureRelationship_From() {
+ return (EReference)rankingMeasureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRankingMeasureRelationship_To() {
+ return (EReference)rankingMeasureRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRankingMeasurementRelationship() {
+ return rankingMeasurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRankingMeasurementRelationship_From() {
+ return (EReference)rankingMeasurementRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRankingMeasurementRelationship_To() {
+ return (EReference)rankingMeasurementRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRatioMeasure() {
+ return ratioMeasureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRatioMeasurement() {
+ return ratioMeasurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRecursiveMeasureRelationship() {
+ return recursiveMeasureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRecursiveMeasureRelationship_From() {
+ return (EReference)recursiveMeasureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRecursiveMeasureRelationship_To() {
+ return (EReference)recursiveMeasureRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRecursiveMeasurementRelationship() {
+ return recursiveMeasurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRecursiveMeasurementRelationship_From() {
+ return (EReference)recursiveMeasurementRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRecursiveMeasurementRelationship_To() {
+ return (EReference)recursiveMeasurementRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefinementMeasureRelationship() {
+ return refinementMeasureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefinementMeasureRelationship_From() {
+ return (EReference)refinementMeasureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefinementMeasureRelationship_To() {
+ return (EReference)refinementMeasureRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRefinementMeasurementRelationship() {
+ return refinementMeasurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefinementMeasurementRelationship_From() {
+ return (EReference)refinementMeasurementRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRefinementMeasurementRelationship_To() {
+ return (EReference)refinementMeasurementRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRescaledMeasure() {
+ return rescaledMeasureEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRescaledMeasure_Formula() {
+ return (EAttribute)rescaledMeasureEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRescaledMeasure_RescaleFrom() {
+ return (EReference)rescaledMeasureEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRescaleMeasureRelationship() {
+ return rescaleMeasureRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRescaleMeasureRelationship_To() {
+ return (EReference)rescaleMeasureRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRescaleMeasureRelationship_From() {
+ return (EReference)rescaleMeasureRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRescaledMeasurement() {
+ return rescaledMeasurementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getRescaledMeasurement_IsBaseSupplied() {
+ return (EAttribute)rescaledMeasurementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRescaledMeasurement_RescaleFrom() {
+ return (EReference)rescaledMeasurementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRescaleMeasurementRelationship() {
+ return rescaleMeasurementRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRescaleMeasurementRelationship_To() {
+ return (EReference)rescaleMeasurementRelationshipEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRescaleMeasurementRelationship_From() {
+ return (EReference)rescaleMeasurementRelationshipEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getScope() {
+ return scopeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getScope_Class() {
+ return (EAttribute)scopeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getScope_Elements() {
+ return (EReference)scopeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getScope_RecognizerQuery() {
+ return (EReference)scopeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getScope_BreakCondition() {
+ return (EReference)scopeEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSmmElement() {
+ return smmElementEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSmmElement_Attribute() {
+ return (EReference)smmElementEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSmmElement_Annotation() {
+ return (EReference)smmElementEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSmmElement_Name() {
+ return (EAttribute)smmElementEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSmmElement_ShortDescription() {
+ return (EAttribute)smmElementEClass.getEStructuralFeatures().get(3);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSmmElement_Description() {
+ return (EAttribute)smmElementEClass.getEStructuralFeatures().get(4);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSmmElement_RequestedObservations() {
+ return (EReference)smmElementEClass.getEStructuralFeatures().get(5);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSmmModel() {
+ return smmModelEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSmmModel_Observations() {
+ return (EReference)smmModelEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSmmModel_Librairies() {
+ return (EReference)smmModelEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSmmRelationship() {
+ return smmRelationshipEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getAccumulator() {
+ return accumulatorEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getDate() {
+ return dateEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EDataType getTimestamp() {
+ return timestampEDataType;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SmmFactory getSmmFactory() {
+ return (SmmFactory)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
+ abstractMeasureElementEClass = createEClass(ABSTRACT_MEASURE_ELEMENT);
+ createEReference(abstractMeasureElementEClass, ABSTRACT_MEASURE_ELEMENT__IN_CATEGORY);
+
+ annotationEClass = createEClass(ANNOTATION);
+ createEAttribute(annotationEClass, ANNOTATION__TEXT);
+
+ argumentEClass = createEClass(ARGUMENT);
+ createEAttribute(argumentEClass, ARGUMENT__TYPE);
+ createEAttribute(argumentEClass, ARGUMENT__VALUE);
+
+ attributeEClass = createEClass(ATTRIBUTE);
+ createEAttribute(attributeEClass, ATTRIBUTE__TAG);
+ createEAttribute(attributeEClass, ATTRIBUTE__VALUE);
+
+ aggregatedMeasurementEClass = createEClass(AGGREGATED_MEASUREMENT);
+ createEAttribute(aggregatedMeasurementEClass, AGGREGATED_MEASUREMENT__IS_BASE_SUPPLED);
+ createEReference(aggregatedMeasurementEClass, AGGREGATED_MEASUREMENT__BASE_MEASUREMENT);
+
+ base1MeasurementRelationshipEClass = createEClass(BASE1_MEASUREMENT_RELATIONSHIP);
+ createEReference(base1MeasurementRelationshipEClass, BASE1_MEASUREMENT_RELATIONSHIP__FROM);
+ createEReference(base1MeasurementRelationshipEClass, BASE1_MEASUREMENT_RELATIONSHIP__TO);
+
+ base1MeasureRelationshipEClass = createEClass(BASE1_MEASURE_RELATIONSHIP);
+ createEReference(base1MeasureRelationshipEClass, BASE1_MEASURE_RELATIONSHIP__FROM);
+ createEReference(base1MeasureRelationshipEClass, BASE1_MEASURE_RELATIONSHIP__TO);
+
+ base2MeasurementRelationshipEClass = createEClass(BASE2_MEASUREMENT_RELATIONSHIP);
+ createEReference(base2MeasurementRelationshipEClass, BASE2_MEASUREMENT_RELATIONSHIP__FROM);
+ createEReference(base2MeasurementRelationshipEClass, BASE2_MEASUREMENT_RELATIONSHIP__TO);
+
+ base2MeasureRelationshipEClass = createEClass(BASE2_MEASURE_RELATIONSHIP);
+ createEReference(base2MeasureRelationshipEClass, BASE2_MEASURE_RELATIONSHIP__FROM);
+ createEReference(base2MeasureRelationshipEClass, BASE2_MEASURE_RELATIONSHIP__TO);
+
+ baseMeasurementRelationshipEClass = createEClass(BASE_MEASUREMENT_RELATIONSHIP);
+ createEReference(baseMeasurementRelationshipEClass, BASE_MEASUREMENT_RELATIONSHIP__FROM);
+ createEReference(baseMeasurementRelationshipEClass, BASE_MEASUREMENT_RELATIONSHIP__TO);
+
+ baseMeasureRelationshipEClass = createEClass(BASE_MEASURE_RELATIONSHIP);
+ createEReference(baseMeasureRelationshipEClass, BASE_MEASURE_RELATIONSHIP__FROM);
+ createEReference(baseMeasureRelationshipEClass, BASE_MEASURE_RELATIONSHIP__TO);
+
+ binaryMeasureEClass = createEClass(BINARY_MEASURE);
+ createEAttribute(binaryMeasureEClass, BINARY_MEASURE__FUNCTOR);
+ createEReference(binaryMeasureEClass, BINARY_MEASURE__BASE_MEASURE1_TO);
+ createEReference(binaryMeasureEClass, BINARY_MEASURE__BASE_MEASURE2_TO);
+
+ binaryMeasurementEClass = createEClass(BINARY_MEASUREMENT);
+ createEReference(binaryMeasurementEClass, BINARY_MEASUREMENT__BASE_MEASUREMENT1_TO);
+ createEReference(binaryMeasurementEClass, BINARY_MEASUREMENT__BASE_MEASUREMENT2_TO);
+ createEAttribute(binaryMeasurementEClass, BINARY_MEASUREMENT__IS_BASE_SUPPLIED);
+
+ categoryRelationshipEClass = createEClass(CATEGORY_RELATIONSHIP);
+ createEReference(categoryRelationshipEClass, CATEGORY_RELATIONSHIP__FROM);
+ createEReference(categoryRelationshipEClass, CATEGORY_RELATIONSHIP__TO);
+
+ characteristicEClass = createEClass(CHARACTERISTIC);
+ createEReference(characteristicEClass, CHARACTERISTIC__PARENT);
+
+ collectiveMeasureEClass = createEClass(COLLECTIVE_MEASURE);
+ createEAttribute(collectiveMeasureEClass, COLLECTIVE_MEASURE__ACCUMULATOR);
+ createEReference(collectiveMeasureEClass, COLLECTIVE_MEASURE__BASE_MEASURE_TO);
+
+ collectiveMeasurementEClass = createEClass(COLLECTIVE_MEASUREMENT);
+ createEAttribute(collectiveMeasurementEClass, COLLECTIVE_MEASUREMENT__ACCUMULATOR);
+ createEAttribute(collectiveMeasurementEClass, COLLECTIVE_MEASUREMENT__IS_BASE_SUPPLIED);
+ createEReference(collectiveMeasurementEClass, COLLECTIVE_MEASUREMENT__BASE_MEASUREMENT_TO);
+
+ countEClass = createEClass(COUNT);
+
+ countingEClass = createEClass(COUNTING);
+
+ dimensionalMeasureEClass = createEClass(DIMENSIONAL_MEASURE);
+ createEAttribute(dimensionalMeasureEClass, DIMENSIONAL_MEASURE__UNIT);
+ createEReference(dimensionalMeasureEClass, DIMENSIONAL_MEASURE__BASE_MEASURE_FROM);
+ createEReference(dimensionalMeasureEClass, DIMENSIONAL_MEASURE__BASE_MEASURE1_FROM);
+ createEReference(dimensionalMeasureEClass, DIMENSIONAL_MEASURE__BASE_MEASURE2_FROM);
+ createEReference(dimensionalMeasureEClass, DIMENSIONAL_MEASURE__RESCALE_TO);
+ createEReference(dimensionalMeasureEClass, DIMENSIONAL_MEASURE__RANKING_FROM);
+
+ dimensionalMeasurementEClass = createEClass(DIMENSIONAL_MEASUREMENT);
+ createEAttribute(dimensionalMeasurementEClass, DIMENSIONAL_MEASUREMENT__VALUE);
+ createEReference(dimensionalMeasurementEClass, DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT_FROM);
+ createEReference(dimensionalMeasurementEClass, DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT1_FROM);
+ createEReference(dimensionalMeasurementEClass, DIMENSIONAL_MEASUREMENT__BASE_MEASUREMENT2_FROM);
+ createEReference(dimensionalMeasurementEClass, DIMENSIONAL_MEASUREMENT__RESCALE_TO);
+ createEReference(dimensionalMeasurementEClass, DIMENSIONAL_MEASUREMENT__RANKING_FROM);
+
+ directMeasureEClass = createEClass(DIRECT_MEASURE);
+ createEReference(directMeasureEClass, DIRECT_MEASURE__OPERATION);
+
+ directMeasurementEClass = createEClass(DIRECT_MEASUREMENT);
+
+ equivalentMeasureRelationshipEClass = createEClass(EQUIVALENT_MEASURE_RELATIONSHIP);
+ createEReference(equivalentMeasureRelationshipEClass, EQUIVALENT_MEASURE_RELATIONSHIP__MAPPING);
+ createEReference(equivalentMeasureRelationshipEClass, EQUIVALENT_MEASURE_RELATIONSHIP__FROM);
+ createEReference(equivalentMeasureRelationshipEClass, EQUIVALENT_MEASURE_RELATIONSHIP__TO);
+
+ equivalentMeasurementRelationshipEClass = createEClass(EQUIVALENT_MEASUREMENT_RELATIONSHIP);
+ createEReference(equivalentMeasurementRelationshipEClass, EQUIVALENT_MEASUREMENT_RELATIONSHIP__FROM);
+ createEReference(equivalentMeasurementRelationshipEClass, EQUIVALENT_MEASUREMENT_RELATIONSHIP__TO);
+
+ gradeEClass = createEClass(GRADE);
+ createEReference(gradeEClass, GRADE__BASE_MEASUREMENT);
+ createEAttribute(gradeEClass, GRADE__IS_BASE_SUPPLIED);
+ createEAttribute(gradeEClass, GRADE__VALUE);
+ createEReference(gradeEClass, GRADE__RANKING_TO);
+
+ measureEClass = createEClass(MEASURE);
+ createEReference(measureEClass, MEASURE__CATEGORY);
+ createEReference(measureEClass, MEASURE__TRAIT);
+ createEReference(measureEClass, MEASURE__SCOPE);
+ createEAttribute(measureEClass, MEASURE__MEASURE_LABEL_FORMAT);
+ createEReference(measureEClass, MEASURE__REFINEMENT_TO);
+ createEReference(measureEClass, MEASURE__REFINEMENT_FROM);
+ createEReference(measureEClass, MEASURE__EQUIVALENT_TO);
+ createEReference(measureEClass, MEASURE__EQUIVALENT_FROM);
+ createEReference(measureEClass, MEASURE__RECURSIVE_TO);
+ createEReference(measureEClass, MEASURE__RECURSIVE_FROM);
+ createEAttribute(measureEClass, MEASURE__MEASUREMENT_LABEL_FORMAT);
+ createEAttribute(measureEClass, MEASURE__VISIBLE);
+ createEReference(measureEClass, MEASURE__MEASURE_RELATIONSHIPS);
+ createEReference(measureEClass, MEASURE__DEFAULT_QUERY);
+
+ measureCategoryEClass = createEClass(MEASURE_CATEGORY);
+ createEReference(measureCategoryEClass, MEASURE_CATEGORY__CATEGORY);
+ createEReference(measureCategoryEClass, MEASURE_CATEGORY__CATEGORY_ELEMENT);
+ createEReference(measureCategoryEClass, MEASURE_CATEGORY__CATEGORY_MEASURE);
+
+ measureLibraryEClass = createEClass(MEASURE_LIBRARY);
+ createEReference(measureLibraryEClass, MEASURE_LIBRARY__MEASURE_ELEMENTS);
+ createEReference(measureLibraryEClass, MEASURE_LIBRARY__CATEGORY_RELATIONSHIPS);
+
+ measureRelationshipEClass = createEClass(MEASURE_RELATIONSHIP);
+ createEReference(measureRelationshipEClass, MEASURE_RELATIONSHIP__MEASURAND_QUERY);
+
+ measurementEClass = createEClass(MEASUREMENT);
+ createEAttribute(measurementEClass, MEASUREMENT__ERROR);
+ createEReference(measurementEClass, MEASUREMENT__MEASURAND);
+ createEAttribute(measurementEClass, MEASUREMENT__BREAK_VALUE);
+ createEReference(measurementEClass, MEASUREMENT__REFINEMENT_TO);
+ createEReference(measurementEClass, MEASUREMENT__REFINEMENT_FROM);
+ createEReference(measurementEClass, MEASUREMENT__EQUIVALENT_TO);
+ createEReference(measurementEClass, MEASUREMENT__EQUIVALENT_FROM);
+ createEReference(measurementEClass, MEASUREMENT__RECURSIVE_TO);
+ createEReference(measurementEClass, MEASUREMENT__RECURSIVE_FROM);
+ createEReference(measurementEClass, MEASUREMENT__MEASUREMENT_RELATIONSHIPS);
+
+ measurementRelationshipEClass = createEClass(MEASUREMENT_RELATIONSHIP);
+
+ namedMeasureEClass = createEClass(NAMED_MEASURE);
+
+ namedMeasurementEClass = createEClass(NAMED_MEASUREMENT);
+
+ observationEClass = createEClass(OBSERVATION);
+ createEAttribute(observationEClass, OBSERVATION__OBSERVER);
+ createEAttribute(observationEClass, OBSERVATION__TOOL);
+ createEAttribute(observationEClass, OBSERVATION__WHEN_OBSERVED);
+ createEReference(observationEClass, OBSERVATION__SCOPES);
+ createEReference(observationEClass, OBSERVATION__OBSERVED_MEASURES);
+ createEReference(observationEClass, OBSERVATION__REQUESTED_MEASURES);
+ createEReference(observationEClass, OBSERVATION__MEASUREMENT_RELATIONS);
+ createEReference(observationEClass, OBSERVATION__ARGUMENTS);
+
+ observationScopeEClass = createEClass(OBSERVATION_SCOPE);
+ createEAttribute(observationScopeEClass, OBSERVATION_SCOPE__SCOPE_URI);
+
+ observedMeasureEClass = createEClass(OBSERVED_MEASURE);
+ createEReference(observedMeasureEClass, OBSERVED_MEASURE__MEASURE);
+ createEReference(observedMeasureEClass, OBSERVED_MEASURE__MEASUREMENTS);
+
+ oclOperationEClass = createEClass(OCL_OPERATION);
+ createEAttribute(oclOperationEClass, OCL_OPERATION__CONTEXT);
+ createEAttribute(oclOperationEClass, OCL_OPERATION__BODY);
+
+ operationEClass = createEClass(OPERATION);
+ createEAttribute(operationEClass, OPERATION__LANGUAGE);
+ createEAttribute(operationEClass, OPERATION__BODY);
+
+ rankingEClass = createEClass(RANKING);
+ createEReference(rankingEClass, RANKING__INTERVAL);
+ createEReference(rankingEClass, RANKING__RANKING_TO);
+
+ rankingIntervalEClass = createEClass(RANKING_INTERVAL);
+ createEReference(rankingIntervalEClass, RANKING_INTERVAL__RANK);
+ createEAttribute(rankingIntervalEClass, RANKING_INTERVAL__MAXIMUM_ENDPOINT);
+ createEAttribute(rankingIntervalEClass, RANKING_INTERVAL__MAXIMUM_OPEN);
+ createEAttribute(rankingIntervalEClass, RANKING_INTERVAL__MINIMUM_ENDPOINT);
+ createEAttribute(rankingIntervalEClass, RANKING_INTERVAL__MINIMUM_OPEN);
+ createEAttribute(rankingIntervalEClass, RANKING_INTERVAL__SYMBOL);
+
+ rankingMeasureRelationshipEClass = createEClass(RANKING_MEASURE_RELATIONSHIP);
+ createEReference(rankingMeasureRelationshipEClass, RANKING_MEASURE_RELATIONSHIP__FROM);
+ createEReference(rankingMeasureRelationshipEClass, RANKING_MEASURE_RELATIONSHIP__TO);
+
+ rankingMeasurementRelationshipEClass = createEClass(RANKING_MEASUREMENT_RELATIONSHIP);
+ createEReference(rankingMeasurementRelationshipEClass, RANKING_MEASUREMENT_RELATIONSHIP__FROM);
+ createEReference(rankingMeasurementRelationshipEClass, RANKING_MEASUREMENT_RELATIONSHIP__TO);
+
+ ratioMeasureEClass = createEClass(RATIO_MEASURE);
+
+ ratioMeasurementEClass = createEClass(RATIO_MEASUREMENT);
+
+ recursiveMeasureRelationshipEClass = createEClass(RECURSIVE_MEASURE_RELATIONSHIP);
+ createEReference(recursiveMeasureRelationshipEClass, RECURSIVE_MEASURE_RELATIONSHIP__FROM);
+ createEReference(recursiveMeasureRelationshipEClass, RECURSIVE_MEASURE_RELATIONSHIP__TO);
+
+ recursiveMeasurementRelationshipEClass = createEClass(RECURSIVE_MEASUREMENT_RELATIONSHIP);
+ createEReference(recursiveMeasurementRelationshipEClass, RECURSIVE_MEASUREMENT_RELATIONSHIP__FROM);
+ createEReference(recursiveMeasurementRelationshipEClass, RECURSIVE_MEASUREMENT_RELATIONSHIP__TO);
+
+ refinementMeasureRelationshipEClass = createEClass(REFINEMENT_MEASURE_RELATIONSHIP);
+ createEReference(refinementMeasureRelationshipEClass, REFINEMENT_MEASURE_RELATIONSHIP__FROM);
+ createEReference(refinementMeasureRelationshipEClass, REFINEMENT_MEASURE_RELATIONSHIP__TO);
+
+ refinementMeasurementRelationshipEClass = createEClass(REFINEMENT_MEASUREMENT_RELATIONSHIP);
+ createEReference(refinementMeasurementRelationshipEClass, REFINEMENT_MEASUREMENT_RELATIONSHIP__FROM);
+ createEReference(refinementMeasurementRelationshipEClass, REFINEMENT_MEASUREMENT_RELATIONSHIP__TO);
+
+ rescaledMeasureEClass = createEClass(RESCALED_MEASURE);
+ createEAttribute(rescaledMeasureEClass, RESCALED_MEASURE__FORMULA);
+ createEReference(rescaledMeasureEClass, RESCALED_MEASURE__RESCALE_FROM);
+
+ rescaleMeasureRelationshipEClass = createEClass(RESCALE_MEASURE_RELATIONSHIP);
+ createEReference(rescaleMeasureRelationshipEClass, RESCALE_MEASURE_RELATIONSHIP__TO);
+ createEReference(rescaleMeasureRelationshipEClass, RESCALE_MEASURE_RELATIONSHIP__FROM);
+
+ rescaledMeasurementEClass = createEClass(RESCALED_MEASUREMENT);
+ createEAttribute(rescaledMeasurementEClass, RESCALED_MEASUREMENT__IS_BASE_SUPPLIED);
+ createEReference(rescaledMeasurementEClass, RESCALED_MEASUREMENT__RESCALE_FROM);
+
+ rescaleMeasurementRelationshipEClass = createEClass(RESCALE_MEASUREMENT_RELATIONSHIP);
+ createEReference(rescaleMeasurementRelationshipEClass, RESCALE_MEASUREMENT_RELATIONSHIP__TO);
+ createEReference(rescaleMeasurementRelationshipEClass, RESCALE_MEASUREMENT_RELATIONSHIP__FROM);
+
+ scopeEClass = createEClass(SCOPE);
+ createEAttribute(scopeEClass, SCOPE__CLASS);
+ createEReference(scopeEClass, SCOPE__ELEMENTS);
+ createEReference(scopeEClass, SCOPE__RECOGNIZER_QUERY);
+ createEReference(scopeEClass, SCOPE__BREAK_CONDITION);
+
+ smmElementEClass = createEClass(SMM_ELEMENT);
+ createEReference(smmElementEClass, SMM_ELEMENT__ATTRIBUTE);
+ createEReference(smmElementEClass, SMM_ELEMENT__ANNOTATION);
+ createEAttribute(smmElementEClass, SMM_ELEMENT__NAME);
+ createEAttribute(smmElementEClass, SMM_ELEMENT__SHORT_DESCRIPTION);
+ createEAttribute(smmElementEClass, SMM_ELEMENT__DESCRIPTION);
+ createEReference(smmElementEClass, SMM_ELEMENT__REQUESTED_OBSERVATIONS);
+
+ smmModelEClass = createEClass(SMM_MODEL);
+ createEReference(smmModelEClass, SMM_MODEL__OBSERVATIONS);
+ createEReference(smmModelEClass, SMM_MODEL__LIBRAIRIES);
+
+ smmRelationshipEClass = createEClass(SMM_RELATIONSHIP);
+
+ // Create enums
+ accumulatorEEnum = createEEnum(ACCUMULATOR);
+
+ // Create data types
+ dateEDataType = createEDataType(DATE);
+ timestampEDataType = createEDataType(TIMESTAMP);
+ }
+
+ /**
+ * <!-- 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);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ abstractMeasureElementEClass.getESuperTypes().add(this.getSmmElement());
+ annotationEClass.getESuperTypes().add(this.getSmmElement());
+ argumentEClass.getESuperTypes().add(this.getSmmElement());
+ attributeEClass.getESuperTypes().add(this.getSmmElement());
+ aggregatedMeasurementEClass.getESuperTypes().add(this.getDimensionalMeasurement());
+ base1MeasurementRelationshipEClass.getESuperTypes().add(this.getMeasurementRelationship());
+ base1MeasureRelationshipEClass.getESuperTypes().add(this.getMeasureRelationship());
+ base2MeasurementRelationshipEClass.getESuperTypes().add(this.getMeasurementRelationship());
+ base2MeasureRelationshipEClass.getESuperTypes().add(this.getMeasureRelationship());
+ baseMeasurementRelationshipEClass.getESuperTypes().add(this.getMeasurementRelationship());
+ baseMeasureRelationshipEClass.getESuperTypes().add(this.getMeasureRelationship());
+ binaryMeasureEClass.getESuperTypes().add(this.getDimensionalMeasure());
+ binaryMeasurementEClass.getESuperTypes().add(this.getDimensionalMeasurement());
+ categoryRelationshipEClass.getESuperTypes().add(this.getSmmRelationship());
+ characteristicEClass.getESuperTypes().add(this.getAbstractMeasureElement());
+ collectiveMeasureEClass.getESuperTypes().add(this.getDimensionalMeasure());
+ collectiveMeasurementEClass.getESuperTypes().add(this.getDimensionalMeasurement());
+ countEClass.getESuperTypes().add(this.getDirectMeasurement());
+ countingEClass.getESuperTypes().add(this.getDirectMeasure());
+ dimensionalMeasureEClass.getESuperTypes().add(this.getMeasure());
+ dimensionalMeasurementEClass.getESuperTypes().add(this.getMeasurement());
+ directMeasureEClass.getESuperTypes().add(this.getDimensionalMeasure());
+ directMeasurementEClass.getESuperTypes().add(this.getDimensionalMeasurement());
+ equivalentMeasureRelationshipEClass.getESuperTypes().add(this.getMeasureRelationship());
+ equivalentMeasurementRelationshipEClass.getESuperTypes().add(this.getMeasurementRelationship());
+ gradeEClass.getESuperTypes().add(this.getMeasurement());
+ measureEClass.getESuperTypes().add(this.getAbstractMeasureElement());
+ measureCategoryEClass.getESuperTypes().add(this.getAbstractMeasureElement());
+ measureLibraryEClass.getESuperTypes().add(this.getSmmElement());
+ measureRelationshipEClass.getESuperTypes().add(this.getSmmRelationship());
+ measurementEClass.getESuperTypes().add(this.getSmmElement());
+ measurementRelationshipEClass.getESuperTypes().add(this.getSmmRelationship());
+ namedMeasureEClass.getESuperTypes().add(this.getDimensionalMeasure());
+ namedMeasurementEClass.getESuperTypes().add(this.getDimensionalMeasurement());
+ observationEClass.getESuperTypes().add(this.getSmmElement());
+ observationScopeEClass.getESuperTypes().add(this.getSmmElement());
+ observedMeasureEClass.getESuperTypes().add(this.getSmmRelationship());
+ oclOperationEClass.getESuperTypes().add(this.getAbstractMeasureElement());
+ operationEClass.getESuperTypes().add(this.getAbstractMeasureElement());
+ rankingEClass.getESuperTypes().add(this.getMeasure());
+ rankingIntervalEClass.getESuperTypes().add(this.getSmmElement());
+ rankingMeasureRelationshipEClass.getESuperTypes().add(this.getMeasureRelationship());
+ rankingMeasurementRelationshipEClass.getESuperTypes().add(this.getMeasurementRelationship());
+ ratioMeasureEClass.getESuperTypes().add(this.getBinaryMeasure());
+ ratioMeasurementEClass.getESuperTypes().add(this.getBinaryMeasurement());
+ recursiveMeasureRelationshipEClass.getESuperTypes().add(this.getMeasureRelationship());
+ recursiveMeasurementRelationshipEClass.getESuperTypes().add(this.getMeasurementRelationship());
+ refinementMeasureRelationshipEClass.getESuperTypes().add(this.getMeasureRelationship());
+ refinementMeasurementRelationshipEClass.getESuperTypes().add(this.getMeasurementRelationship());
+ rescaledMeasureEClass.getESuperTypes().add(this.getDimensionalMeasure());
+ rescaleMeasureRelationshipEClass.getESuperTypes().add(this.getMeasureRelationship());
+ rescaledMeasurementEClass.getESuperTypes().add(this.getDimensionalMeasurement());
+ rescaleMeasurementRelationshipEClass.getESuperTypes().add(this.getMeasurementRelationship());
+ scopeEClass.getESuperTypes().add(this.getAbstractMeasureElement());
+ smmModelEClass.getESuperTypes().add(this.getSmmElement());
+ smmRelationshipEClass.getESuperTypes().add(this.getSmmElement());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(abstractMeasureElementEClass, AbstractMeasureElement.class, "AbstractMeasureElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAbstractMeasureElement_InCategory(), this.getCategoryRelationship(), null, "inCategory", null, 0, -1, AbstractMeasureElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(annotationEClass, Annotation.class, "Annotation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAnnotation_Text(), ecorePackage.getEString(), "text", null, 1, 1, Annotation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(argumentEClass, Argument.class, "Argument", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getArgument_Type(), ecorePackage.getEString(), "type", null, 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getArgument_Value(), ecorePackage.getEString(), "value", null, 0, 1, Argument.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAttribute_Tag(), ecorePackage.getEString(), "tag", null, 1, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAttribute_Value(), ecorePackage.getEString(), "value", null, 1, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(aggregatedMeasurementEClass, AggregatedMeasurement.class, "AggregatedMeasurement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAggregatedMeasurement_IsBaseSuppled(), ecorePackage.getEBoolean(), "isBaseSuppled", null, 1, 1, AggregatedMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAggregatedMeasurement_BaseMeasurement(), this.getDimensionalMeasurement(), null, "baseMeasurement", null, 0, -1, AggregatedMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(base1MeasurementRelationshipEClass, Base1MeasurementRelationship.class, "Base1MeasurementRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBase1MeasurementRelationship_From(), this.getBinaryMeasurement(), this.getBinaryMeasurement_BaseMeasurement1To(), "from", null, 1, 1, Base1MeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBase1MeasurementRelationship_To(), this.getDimensionalMeasurement(), this.getDimensionalMeasurement_BaseMeasurement1From(), "to", null, 1, 1, Base1MeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(base1MeasureRelationshipEClass, Base1MeasureRelationship.class, "Base1MeasureRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBase1MeasureRelationship_From(), this.getBinaryMeasure(), this.getBinaryMeasure_BaseMeasure1To(), "from", null, 1, 1, Base1MeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBase1MeasureRelationship_To(), this.getDimensionalMeasure(), this.getDimensionalMeasure_BaseMeasure1From(), "to", null, 1, 1, Base1MeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(base2MeasurementRelationshipEClass, Base2MeasurementRelationship.class, "Base2MeasurementRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBase2MeasurementRelationship_From(), this.getBinaryMeasurement(), this.getBinaryMeasurement_BaseMeasurement2To(), "from", null, 1, 1, Base2MeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBase2MeasurementRelationship_To(), this.getDimensionalMeasurement(), this.getDimensionalMeasurement_BaseMeasurement2From(), "to", null, 1, 1, Base2MeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(base2MeasureRelationshipEClass, Base2MeasureRelationship.class, "Base2MeasureRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBase2MeasureRelationship_From(), this.getBinaryMeasure(), this.getBinaryMeasure_BaseMeasure2To(), "from", null, 1, 1, Base2MeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBase2MeasureRelationship_To(), this.getDimensionalMeasure(), this.getDimensionalMeasure_BaseMeasure2From(), "to", null, 1, 1, Base2MeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(baseMeasurementRelationshipEClass, BaseMeasurementRelationship.class, "BaseMeasurementRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBaseMeasurementRelationship_From(), this.getCollectiveMeasurement(), this.getCollectiveMeasurement_BaseMeasurementTo(), "from", null, 1, 1, BaseMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBaseMeasurementRelationship_To(), this.getDimensionalMeasurement(), this.getDimensionalMeasurement_BaseMeasurementFrom(), "to", null, 1, 1, BaseMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(baseMeasureRelationshipEClass, BaseMeasureRelationship.class, "BaseMeasureRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBaseMeasureRelationship_From(), this.getCollectiveMeasure(), this.getCollectiveMeasure_BaseMeasureTo(), "from", null, 1, 1, BaseMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBaseMeasureRelationship_To(), this.getDimensionalMeasure(), this.getDimensionalMeasure_BaseMeasureFrom(), "to", null, 1, 1, BaseMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(binaryMeasureEClass, BinaryMeasure.class, "BinaryMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getBinaryMeasure_Functor(), ecorePackage.getEString(), "functor", null, 1, 1, BinaryMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBinaryMeasure_BaseMeasure1To(), this.getBase1MeasureRelationship(), this.getBase1MeasureRelationship_From(), "baseMeasure1To", null, 1, 1, BinaryMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBinaryMeasure_BaseMeasure2To(), this.getBase2MeasureRelationship(), this.getBase2MeasureRelationship_From(), "baseMeasure2To", null, 1, 1, BinaryMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(binaryMeasurementEClass, BinaryMeasurement.class, "BinaryMeasurement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getBinaryMeasurement_BaseMeasurement1To(), this.getBase1MeasurementRelationship(), this.getBase1MeasurementRelationship_From(), "baseMeasurement1To", null, 0, 1, BinaryMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getBinaryMeasurement_BaseMeasurement2To(), this.getBase2MeasurementRelationship(), this.getBase2MeasurementRelationship_From(), "baseMeasurement2To", null, 0, 1, BinaryMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getBinaryMeasurement_IsBaseSupplied(), ecorePackage.getEBoolean(), "isBaseSupplied", null, 1, 1, BinaryMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(categoryRelationshipEClass, CategoryRelationship.class, "CategoryRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCategoryRelationship_From(), this.getMeasureCategory(), null, "from", null, 1, 1, CategoryRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCategoryRelationship_To(), this.getAbstractMeasureElement(), null, "to", null, 1, 1, CategoryRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(characteristicEClass, Characteristic.class, "Characteristic", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCharacteristic_Parent(), this.getCharacteristic(), null, "parent", null, 0, 1, Characteristic.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(collectiveMeasureEClass, CollectiveMeasure.class, "CollectiveMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCollectiveMeasure_Accumulator(), this.getAccumulator(), "accumulator", null, 1, 1, CollectiveMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCollectiveMeasure_BaseMeasureTo(), this.getBaseMeasureRelationship(), this.getBaseMeasureRelationship_From(), "baseMeasureTo", null, 1, -1, CollectiveMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(collectiveMeasurementEClass, CollectiveMeasurement.class, "CollectiveMeasurement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCollectiveMeasurement_Accumulator(), this.getAccumulator(), "accumulator", null, 1, 1, CollectiveMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getCollectiveMeasurement_IsBaseSupplied(), ecorePackage.getEBoolean(), "isBaseSupplied", null, 1, 1, CollectiveMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCollectiveMeasurement_BaseMeasurementTo(), this.getBaseMeasurementRelationship(), this.getBaseMeasurementRelationship_From(), "baseMeasurementTo", null, 0, -1, CollectiveMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(countEClass, Count.class, "Count", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(countingEClass, Counting.class, "Counting", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(dimensionalMeasureEClass, DimensionalMeasure.class, "DimensionalMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDimensionalMeasure_Unit(), ecorePackage.getEString(), "unit", null, 1, 1, DimensionalMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasure_BaseMeasureFrom(), this.getBaseMeasureRelationship(), this.getBaseMeasureRelationship_To(), "baseMeasureFrom", null, 0, -1, DimensionalMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasure_BaseMeasure1From(), this.getBase1MeasureRelationship(), this.getBase1MeasureRelationship_To(), "baseMeasure1From", null, 0, -1, DimensionalMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasure_BaseMeasure2From(), this.getBase2MeasureRelationship(), this.getBase2MeasureRelationship_To(), "baseMeasure2From", null, 0, -1, DimensionalMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasure_RescaleTo(), this.getRescaleMeasureRelationship(), this.getRescaleMeasureRelationship_From(), "rescaleTo", null, 0, 1, DimensionalMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasure_RankingFrom(), this.getRankingMeasureRelationship(), this.getRankingMeasureRelationship_To(), "rankingFrom", null, 0, -1, DimensionalMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(dimensionalMeasurementEClass, DimensionalMeasurement.class, "DimensionalMeasurement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDimensionalMeasurement_Value(), ecorePackage.getEDouble(), "value", null, 0, 1, DimensionalMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasurement_BaseMeasurementFrom(), this.getBaseMeasurementRelationship(), this.getBaseMeasurementRelationship_To(), "baseMeasurementFrom", null, 0, -1, DimensionalMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasurement_BaseMeasurement1From(), this.getBase1MeasurementRelationship(), this.getBase1MeasurementRelationship_To(), "baseMeasurement1From", null, 0, -1, DimensionalMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasurement_BaseMeasurement2From(), this.getBase2MeasurementRelationship(), this.getBase2MeasurementRelationship_To(), "baseMeasurement2From", null, 0, -1, DimensionalMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasurement_RescaleTo(), this.getRescaleMeasurementRelationship(), this.getRescaleMeasurementRelationship_From(), "rescaleTo", null, 0, -1, DimensionalMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDimensionalMeasurement_RankingFrom(), this.getRankingMeasurementRelationship(), this.getRankingMeasurementRelationship_To(), "rankingFrom", null, 0, -1, DimensionalMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(directMeasureEClass, DirectMeasure.class, "DirectMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getDirectMeasure_Operation(), this.getOperation(), null, "operation", null, 0, 1, DirectMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(directMeasurementEClass, DirectMeasurement.class, "DirectMeasurement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(equivalentMeasureRelationshipEClass, EquivalentMeasureRelationship.class, "EquivalentMeasureRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEquivalentMeasureRelationship_Mapping(), this.getOperation(), null, "mapping", null, 0, 1, EquivalentMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEquivalentMeasureRelationship_From(), this.getMeasure(), this.getMeasure_EquivalentTo(), "from", null, 1, 1, EquivalentMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEquivalentMeasureRelationship_To(), this.getMeasure(), this.getMeasure_EquivalentFrom(), "to", null, 1, 1, EquivalentMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(equivalentMeasurementRelationshipEClass, EquivalentMeasurementRelationship.class, "EquivalentMeasurementRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEquivalentMeasurementRelationship_From(), this.getMeasurement(), this.getMeasurement_EquivalentTo(), "from", null, 1, 1, EquivalentMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getEquivalentMeasurementRelationship_To(), this.getMeasurement(), this.getMeasurement_EquivalentFrom(), "to", null, 1, 1, EquivalentMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(gradeEClass, Grade.class, "Grade", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getGrade_BaseMeasurement(), this.getDimensionalMeasurement(), null, "baseMeasurement", null, 0, 1, Grade.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGrade_IsBaseSupplied(), ecorePackage.getEBoolean(), "isBaseSupplied", null, 1, 1, Grade.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getGrade_Value(), ecorePackage.getEString(), "value", null, 0, 1, Grade.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getGrade_RankingTo(), this.getRankingMeasurementRelationship(), this.getRankingMeasurementRelationship_From(), "rankingTo", null, 0, 1, Grade.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(measureEClass, Measure.class, "Measure", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMeasure_Category(), this.getMeasureCategory(), this.getMeasureCategory_CategoryMeasure(), "category", null, 0, -1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_Trait(), this.getCharacteristic(), null, "trait", null, 1, 1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_Scope(), this.getScope(), null, "scope", null, 1, 1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMeasure_MeasureLabelFormat(), ecorePackage.getEString(), "measureLabelFormat", null, 0, 1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_RefinementTo(), this.getRefinementMeasureRelationship(), this.getRefinementMeasureRelationship_From(), "refinementTo", null, 0, -1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_RefinementFrom(), this.getRefinementMeasureRelationship(), this.getRefinementMeasureRelationship_To(), "refinementFrom", null, 0, -1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_EquivalentTo(), this.getEquivalentMeasureRelationship(), this.getEquivalentMeasureRelationship_From(), "equivalentTo", null, 0, -1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_EquivalentFrom(), this.getEquivalentMeasureRelationship(), this.getEquivalentMeasureRelationship_To(), "equivalentFrom", null, 0, -1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_RecursiveTo(), this.getRecursiveMeasureRelationship(), this.getRecursiveMeasureRelationship_From(), "recursiveTo", null, 0, 1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_RecursiveFrom(), this.getRecursiveMeasureRelationship(), this.getRecursiveMeasureRelationship_To(), "recursiveFrom", null, 0, 1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMeasure_MeasurementLabelFormat(), ecorePackage.getEString(), "measurementLabelFormat", null, 0, 1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMeasure_Visible(), ecorePackage.getEBoolean(), "visible", "true", 0, 1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_MeasureRelationships(), this.getMeasureRelationship(), null, "measureRelationships", null, 0, -1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasure_DefaultQuery(), this.getOperation(), null, "defaultQuery", null, 0, 1, Measure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(measureEClass, this.getArgument(), "getArguments", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(measureEClass, this.getArgument(), "getAllArguments", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(measureCategoryEClass, MeasureCategory.class, "MeasureCategory", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMeasureCategory_Category(), this.getMeasureCategory(), this.getMeasureCategory_CategoryElement(), "category", null, 0, -1, MeasureCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasureCategory_CategoryElement(), this.getMeasureCategory(), this.getMeasureCategory_Category(), "categoryElement", null, 0, -1, MeasureCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasureCategory_CategoryMeasure(), this.getMeasure(), this.getMeasure_Category(), "categoryMeasure", null, 0, -1, MeasureCategory.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(measureLibraryEClass, MeasureLibrary.class, "MeasureLibrary", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMeasureLibrary_MeasureElements(), this.getAbstractMeasureElement(), null, "measureElements", null, 0, -1, MeasureLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasureLibrary_CategoryRelationships(), this.getCategoryRelationship(), null, "categoryRelationships", null, 0, -1, MeasureLibrary.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(measureLibraryEClass, this.getAbstractMeasureElement(), "getOperations", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(measureLibraryEClass, this.getAbstractMeasureElement(), "getOclOperations", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(measureRelationshipEClass, MeasureRelationship.class, "MeasureRelationship", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getMeasureRelationship_MeasurandQuery(), this.getOperation(), null, "measurandQuery", null, 0, 1, MeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(measureRelationshipEClass, this.getMeasure(), "getTo", 1, 1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(measureRelationshipEClass, this.getMeasure(), "getFrom", 1, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(measurementEClass, Measurement.class, "Measurement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMeasurement_Error(), ecorePackage.getEString(), "error", null, 0, 1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasurement_Measurand(), ecorePackage.getEObject(), null, "measurand", null, 0, 1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getMeasurement_BreakValue(), ecorePackage.getEString(), "breakValue", null, 0, 1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasurement_RefinementTo(), this.getRefinementMeasurementRelationship(), this.getRefinementMeasurementRelationship_From(), "refinementTo", null, 0, -1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasurement_RefinementFrom(), this.getRefinementMeasurementRelationship(), this.getRefinementMeasurementRelationship_To(), "refinementFrom", null, 0, -1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasurement_EquivalentTo(), this.getEquivalentMeasurementRelationship(), this.getEquivalentMeasurementRelationship_From(), "equivalentTo", null, 0, -1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasurement_EquivalentFrom(), this.getEquivalentMeasurementRelationship(), this.getEquivalentMeasurementRelationship_To(), "equivalentFrom", null, 0, -1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasurement_RecursiveTo(), this.getRecursiveMeasurementRelationship(), this.getRecursiveMeasurementRelationship_From(), "recursiveTo", null, 0, 1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasurement_RecursiveFrom(), this.getRecursiveMeasurementRelationship(), this.getRecursiveMeasurementRelationship_To(), "recursiveFrom", null, 0, -1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMeasurement_MeasurementRelationships(), this.getMeasurementRelationship(), null, "measurementRelationships", null, 0, -1, Measurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(measurementEClass, ecorePackage.getEString(), "getMeasureLabel", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(measurementEClass, ecorePackage.getEString(), "getMeasurementLabel", 0, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(measurementRelationshipEClass, MeasurementRelationship.class, "MeasurementRelationship", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ addEOperation(measurementRelationshipEClass, this.getMeasurement(), "getTo", 1, 1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(measurementRelationshipEClass, this.getMeasurement(), "getFrom", 1, 1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(namedMeasureEClass, NamedMeasure.class, "NamedMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(namedMeasurementEClass, NamedMeasurement.class, "NamedMeasurement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(observationEClass, Observation.class, "Observation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getObservation_Observer(), ecorePackage.getEString(), "observer", null, 0, 1, Observation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getObservation_Tool(), ecorePackage.getEString(), "tool", null, 0, 1, Observation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getObservation_WhenObserved(), this.getDate(), "whenObserved", null, 0, 1, Observation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getObservation_Scopes(), this.getObservationScope(), null, "scopes", null, 0, -1, Observation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getObservation_ObservedMeasures(), this.getObservedMeasure(), null, "observedMeasures", null, 0, -1, Observation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getObservation_RequestedMeasures(), this.getSmmElement(), this.getSmmElement_RequestedObservations(), "requestedMeasures", null, 0, -1, Observation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getObservation_MeasurementRelations(), this.getSmmRelationship(), null, "measurementRelations", null, 0, -1, Observation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getObservation_Arguments(), this.getArgument(), null, "arguments", null, 0, -1, Observation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(observationScopeEClass, ObservationScope.class, "ObservationScope", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getObservationScope_ScopeUri(), ecorePackage.getEString(), "scopeUri", null, 1, 1, ObservationScope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(observedMeasureEClass, ObservedMeasure.class, "ObservedMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getObservedMeasure_Measure(), this.getMeasure(), null, "measure", null, 1, 1, ObservedMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getObservedMeasure_Measurements(), this.getMeasurement(), null, "measurements", null, 0, -1, ObservedMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(observedMeasureEClass, ecorePackage.getEObject(), "getMeasureRefimentsObservedMeasures", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(oclOperationEClass, OCLOperation.class, "OCLOperation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOCLOperation_Context(), ecorePackage.getEString(), "context", null, 0, 1, OCLOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOCLOperation_Body(), ecorePackage.getEString(), "body", null, 0, 1, OCLOperation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(operationEClass, Operation.class, "Operation", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getOperation_Language(), ecorePackage.getEString(), "language", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getOperation_Body(), ecorePackage.getEString(), "body", null, 0, 1, Operation.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(operationEClass, ecorePackage.getEString(), "getParamStrings", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(rankingEClass, Ranking.class, "Ranking", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRanking_Interval(), this.getRankingInterval(), this.getRankingInterval_Rank(), "interval", null, 1, -1, Ranking.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRanking_RankingTo(), this.getRankingMeasureRelationship(), this.getRankingMeasureRelationship_From(), "rankingTo", null, 0, 1, Ranking.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rankingIntervalEClass, RankingInterval.class, "RankingInterval", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRankingInterval_Rank(), this.getRanking(), this.getRanking_Interval(), "rank", null, 0, 1, RankingInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRankingInterval_MaximumEndpoint(), ecorePackage.getEDouble(), "maximumEndpoint", null, 1, 1, RankingInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRankingInterval_MaximumOpen(), ecorePackage.getEBoolean(), "maximumOpen", null, 0, 1, RankingInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRankingInterval_MinimumEndpoint(), ecorePackage.getEDouble(), "minimumEndpoint", null, 1, 1, RankingInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRankingInterval_MinimumOpen(), ecorePackage.getEBoolean(), "minimumOpen", null, 0, 1, RankingInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getRankingInterval_Symbol(), ecorePackage.getEString(), "symbol", null, 1, 1, RankingInterval.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rankingMeasureRelationshipEClass, RankingMeasureRelationship.class, "RankingMeasureRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRankingMeasureRelationship_From(), this.getRanking(), this.getRanking_RankingTo(), "from", null, 1, 1, RankingMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRankingMeasureRelationship_To(), this.getDimensionalMeasure(), this.getDimensionalMeasure_RankingFrom(), "to", null, 1, 1, RankingMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rankingMeasurementRelationshipEClass, RankingMeasurementRelationship.class, "RankingMeasurementRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRankingMeasurementRelationship_From(), this.getGrade(), this.getGrade_RankingTo(), "from", null, 1, 1, RankingMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRankingMeasurementRelationship_To(), this.getDimensionalMeasurement(), this.getDimensionalMeasurement_RankingFrom(), "to", null, 1, 1, RankingMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(ratioMeasureEClass, RatioMeasure.class, "RatioMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(ratioMeasurementEClass, RatioMeasurement.class, "RatioMeasurement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(recursiveMeasureRelationshipEClass, RecursiveMeasureRelationship.class, "RecursiveMeasureRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRecursiveMeasureRelationship_From(), this.getMeasure(), this.getMeasure_RecursiveTo(), "from", null, 1, 1, RecursiveMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRecursiveMeasureRelationship_To(), this.getMeasure(), this.getMeasure_RecursiveFrom(), "to", null, 1, 1, RecursiveMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(recursiveMeasurementRelationshipEClass, RecursiveMeasurementRelationship.class, "RecursiveMeasurementRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRecursiveMeasurementRelationship_From(), this.getMeasurement(), this.getMeasurement_RecursiveTo(), "from", null, 1, 1, RecursiveMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRecursiveMeasurementRelationship_To(), this.getMeasurement(), this.getMeasurement_RecursiveFrom(), "to", null, 1, 1, RecursiveMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refinementMeasureRelationshipEClass, RefinementMeasureRelationship.class, "RefinementMeasureRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefinementMeasureRelationship_From(), this.getMeasure(), this.getMeasure_RefinementTo(), "from", null, 1, 1, RefinementMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRefinementMeasureRelationship_To(), this.getMeasure(), this.getMeasure_RefinementFrom(), "to", null, 1, 1, RefinementMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(refinementMeasurementRelationshipEClass, RefinementMeasurementRelationship.class, "RefinementMeasurementRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRefinementMeasurementRelationship_From(), this.getMeasurement(), this.getMeasurement_RefinementTo(), "from", null, 1, 1, RefinementMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRefinementMeasurementRelationship_To(), this.getMeasurement(), this.getMeasurement_RefinementFrom(), "to", null, 1, 1, RefinementMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rescaledMeasureEClass, RescaledMeasure.class, "RescaledMeasure", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRescaledMeasure_Formula(), ecorePackage.getEString(), "formula", null, 1, 1, RescaledMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRescaledMeasure_RescaleFrom(), this.getRescaleMeasureRelationship(), this.getRescaleMeasureRelationship_To(), "rescaleFrom", null, 0, -1, RescaledMeasure.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rescaleMeasureRelationshipEClass, RescaleMeasureRelationship.class, "RescaleMeasureRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRescaleMeasureRelationship_To(), this.getRescaledMeasure(), this.getRescaledMeasure_RescaleFrom(), "to", null, 1, 1, RescaleMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRescaleMeasureRelationship_From(), this.getDimensionalMeasure(), this.getDimensionalMeasure_RescaleTo(), "from", null, 1, 1, RescaleMeasureRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rescaledMeasurementEClass, RescaledMeasurement.class, "RescaledMeasurement", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getRescaledMeasurement_IsBaseSupplied(), ecorePackage.getEBoolean(), "isBaseSupplied", null, 1, 1, RescaledMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRescaledMeasurement_RescaleFrom(), this.getRescaleMeasurementRelationship(), this.getRescaleMeasurementRelationship_To(), "rescaleFrom", null, 0, -1, RescaledMeasurement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rescaleMeasurementRelationshipEClass, RescaleMeasurementRelationship.class, "RescaleMeasurementRelationship", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRescaleMeasurementRelationship_To(), this.getRescaledMeasurement(), this.getRescaledMeasurement_RescaleFrom(), "to", null, 1, 1, RescaleMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRescaleMeasurementRelationship_From(), this.getDimensionalMeasurement(), this.getDimensionalMeasurement_RescaleTo(), "from", null, 1, 1, RescaleMeasurementRelationship.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(scopeEClass, Scope.class, "Scope", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getScope_Class(), ecorePackage.getEString(), "class", null, 1, 1, Scope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getScope_Elements(), ecorePackage.getEObject(), null, "elements", null, 0, -1, Scope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getScope_RecognizerQuery(), this.getOperation(), null, "recognizerQuery", null, 0, 1, Scope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getScope_BreakCondition(), this.getOperation(), null, "breakCondition", null, 0, 1, Scope.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(smmElementEClass, SmmElement.class, "SmmElement", IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSmmElement_Attribute(), this.getAttribute(), null, "attribute", null, 0, -1, SmmElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSmmElement_Annotation(), this.getAnnotation(), null, "annotation", null, 0, -1, SmmElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSmmElement_Name(), ecorePackage.getEString(), "name", null, 0, 1, SmmElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSmmElement_ShortDescription(), ecorePackage.getEString(), "shortDescription", null, 0, 1, SmmElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getSmmElement_Description(), ecorePackage.getEString(), "description", null, 0, 1, SmmElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSmmElement_RequestedObservations(), this.getObservation(), this.getObservation_RequestedMeasures(), "requestedObservations", null, 0, -1, SmmElement.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_COMPOSITE, IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ addEOperation(smmElementEClass, this.getSmmRelationship(), "getInbound", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(smmElementEClass, this.getSmmRelationship(), "getOutbound", 0, -1, IS_UNIQUE, IS_ORDERED);
+
+ initEClass(smmModelEClass, SmmModel.class, "SmmModel", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getSmmModel_Observations(), this.getObservation(), null, "observations", null, 0, -1, SmmModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSmmModel_Librairies(), this.getMeasureLibrary(), null, "librairies", null, 0, -1, SmmModel.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(smmRelationshipEClass, SmmRelationship.class, "SmmRelationship", IS_ABSTRACT, IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ addEOperation(smmRelationshipEClass, this.getSmmElement(), "getTo", 1, 1, IS_UNIQUE, IS_ORDERED);
+
+ addEOperation(smmRelationshipEClass, this.getSmmElement(), "getFrom", 1, 1, IS_UNIQUE, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(accumulatorEEnum, Accumulator.class, "Accumulator");
+ addEEnumLiteral(accumulatorEEnum, Accumulator.SUM);
+ addEEnumLiteral(accumulatorEEnum, Accumulator.MAXIMUM);
+ addEEnumLiteral(accumulatorEEnum, Accumulator.MINIMUM);
+ addEEnumLiteral(accumulatorEEnum, Accumulator.AVERAGE);
+ addEEnumLiteral(accumulatorEEnum, Accumulator.STANDARD_DEVIATION);
+
+ // Initialize data types
+ initEDataType(dateEDataType, Date.class, "Date", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+ initEDataType(timestampEDataType, Timestamp.class, "Timestamp", IS_SERIALIZABLE, !IS_GENERATED_INSTANCE_CLASS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //SmmPackageImpl
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/util/SmmAdapterFactory.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/util/SmmAdapterFactory.java
new file mode 100644
index 000000000..d9af0d5f7
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/util/SmmAdapterFactory.java
@@ -0,0 +1,1191 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.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.modisco.omg.smm.AbstractMeasureElement;
+import org.eclipse.modisco.omg.smm.AggregatedMeasurement;
+import org.eclipse.modisco.omg.smm.Annotation;
+import org.eclipse.modisco.omg.smm.Argument;
+import org.eclipse.modisco.omg.smm.Attribute;
+import org.eclipse.modisco.omg.smm.Base1MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Base1MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Base2MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BaseMeasureRelationship;
+import org.eclipse.modisco.omg.smm.BaseMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.BinaryMeasure;
+import org.eclipse.modisco.omg.smm.BinaryMeasurement;
+import org.eclipse.modisco.omg.smm.CategoryRelationship;
+import org.eclipse.modisco.omg.smm.Characteristic;
+import org.eclipse.modisco.omg.smm.CollectiveMeasure;
+import org.eclipse.modisco.omg.smm.CollectiveMeasurement;
+import org.eclipse.modisco.omg.smm.Count;
+import org.eclipse.modisco.omg.smm.Counting;
+import org.eclipse.modisco.omg.smm.DimensionalMeasure;
+import org.eclipse.modisco.omg.smm.DimensionalMeasurement;
+import org.eclipse.modisco.omg.smm.DirectMeasure;
+import org.eclipse.modisco.omg.smm.DirectMeasurement;
+import org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship;
+import org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.Grade;
+import org.eclipse.modisco.omg.smm.Measure;
+import org.eclipse.modisco.omg.smm.MeasureCategory;
+import org.eclipse.modisco.omg.smm.MeasureLibrary;
+import org.eclipse.modisco.omg.smm.MeasureRelationship;
+import org.eclipse.modisco.omg.smm.Measurement;
+import org.eclipse.modisco.omg.smm.MeasurementRelationship;
+import org.eclipse.modisco.omg.smm.NamedMeasure;
+import org.eclipse.modisco.omg.smm.NamedMeasurement;
+import org.eclipse.modisco.omg.smm.OCLOperation;
+import org.eclipse.modisco.omg.smm.Observation;
+import org.eclipse.modisco.omg.smm.ObservationScope;
+import org.eclipse.modisco.omg.smm.ObservedMeasure;
+import org.eclipse.modisco.omg.smm.Operation;
+import org.eclipse.modisco.omg.smm.Ranking;
+import org.eclipse.modisco.omg.smm.RankingInterval;
+import org.eclipse.modisco.omg.smm.RankingMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RankingMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RatioMeasure;
+import org.eclipse.modisco.omg.smm.RatioMeasurement;
+import org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RefinementMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaleMeasureRelationship;
+import org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship;
+import org.eclipse.modisco.omg.smm.RescaledMeasure;
+import org.eclipse.modisco.omg.smm.RescaledMeasurement;
+import org.eclipse.modisco.omg.smm.Scope;
+import org.eclipse.modisco.omg.smm.SmmElement;
+import org.eclipse.modisco.omg.smm.SmmModel;
+import org.eclipse.modisco.omg.smm.SmmPackage;
+import org.eclipse.modisco.omg.smm.SmmRelationship;
+
+/**
+ * <!-- 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.modisco.omg.smm.SmmPackage
+ * @generated
+ */
+@SuppressWarnings("all")
+public class SmmAdapterFactory extends AdapterFactoryImpl {
+ /**
+ * The cached model package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SmmPackage modelPackage;
+
+ /**
+ * Creates an instance of the adapter factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SmmAdapterFactory() {
+ if (SmmAdapterFactory.modelPackage == null) {
+ SmmAdapterFactory.modelPackage = SmmPackage.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(final Object object) {
+ if (object == SmmAdapterFactory.modelPackage) {
+ return true;
+ }
+ if (object instanceof EObject) {
+ return ((EObject)object).eClass().getEPackage() == SmmAdapterFactory.modelPackage;
+ }
+ return false;
+ }
+
+ /**
+ * The switch that delegates to the <code>createXXX</code> methods.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected SmmSwitch<Adapter> modelSwitch =
+ new SmmSwitch<Adapter>() {
+ @Override
+ public Adapter caseAbstractMeasureElement(final AbstractMeasureElement object) {
+ return createAbstractMeasureElementAdapter();
+ }
+ @Override
+ public Adapter caseAnnotation(final Annotation object) {
+ return createAnnotationAdapter();
+ }
+ @Override
+ public Adapter caseArgument(final Argument object) {
+ return createArgumentAdapter();
+ }
+ @Override
+ public Adapter caseAttribute(final Attribute object) {
+ return createAttributeAdapter();
+ }
+ @Override
+ public Adapter caseAggregatedMeasurement(final AggregatedMeasurement object) {
+ return createAggregatedMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseBase1MeasurementRelationship(final Base1MeasurementRelationship object) {
+ return createBase1MeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseBase1MeasureRelationship(final Base1MeasureRelationship object) {
+ return createBase1MeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseBase2MeasurementRelationship(final Base2MeasurementRelationship object) {
+ return createBase2MeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseBase2MeasureRelationship(final Base2MeasureRelationship object) {
+ return createBase2MeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseBaseMeasurementRelationship(final BaseMeasurementRelationship object) {
+ return createBaseMeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseBaseMeasureRelationship(final BaseMeasureRelationship object) {
+ return createBaseMeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseBinaryMeasure(final BinaryMeasure object) {
+ return createBinaryMeasureAdapter();
+ }
+ @Override
+ public Adapter caseBinaryMeasurement(final BinaryMeasurement object) {
+ return createBinaryMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseCategoryRelationship(final CategoryRelationship object) {
+ return createCategoryRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseCharacteristic(final Characteristic object) {
+ return createCharacteristicAdapter();
+ }
+ @Override
+ public Adapter caseCollectiveMeasure(final CollectiveMeasure object) {
+ return createCollectiveMeasureAdapter();
+ }
+ @Override
+ public Adapter caseCollectiveMeasurement(final CollectiveMeasurement object) {
+ return createCollectiveMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseCount(final Count object) {
+ return createCountAdapter();
+ }
+ @Override
+ public Adapter caseCounting(final Counting object) {
+ return createCountingAdapter();
+ }
+ @Override
+ public Adapter caseDimensionalMeasure(final DimensionalMeasure object) {
+ return createDimensionalMeasureAdapter();
+ }
+ @Override
+ public Adapter caseDimensionalMeasurement(final DimensionalMeasurement object) {
+ return createDimensionalMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseDirectMeasure(final DirectMeasure object) {
+ return createDirectMeasureAdapter();
+ }
+ @Override
+ public Adapter caseDirectMeasurement(final DirectMeasurement object) {
+ return createDirectMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseEquivalentMeasureRelationship(final EquivalentMeasureRelationship object) {
+ return createEquivalentMeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseEquivalentMeasurementRelationship(final EquivalentMeasurementRelationship object) {
+ return createEquivalentMeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseGrade(final Grade object) {
+ return createGradeAdapter();
+ }
+ @Override
+ public Adapter caseMeasure(final Measure object) {
+ return createMeasureAdapter();
+ }
+ @Override
+ public Adapter caseMeasureCategory(final MeasureCategory object) {
+ return createMeasureCategoryAdapter();
+ }
+ @Override
+ public Adapter caseMeasureLibrary(final MeasureLibrary object) {
+ return createMeasureLibraryAdapter();
+ }
+ @Override
+ public Adapter caseMeasureRelationship(final MeasureRelationship object) {
+ return createMeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseMeasurement(final Measurement object) {
+ return createMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseMeasurementRelationship(final MeasurementRelationship object) {
+ return createMeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseNamedMeasure(final NamedMeasure object) {
+ return createNamedMeasureAdapter();
+ }
+ @Override
+ public Adapter caseNamedMeasurement(final NamedMeasurement object) {
+ return createNamedMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseObservation(final Observation object) {
+ return createObservationAdapter();
+ }
+ @Override
+ public Adapter caseObservationScope(final ObservationScope object) {
+ return createObservationScopeAdapter();
+ }
+ @Override
+ public Adapter caseObservedMeasure(final ObservedMeasure object) {
+ return createObservedMeasureAdapter();
+ }
+ @Override
+ public Adapter caseOCLOperation(final OCLOperation object) {
+ return createOCLOperationAdapter();
+ }
+ @Override
+ public Adapter caseOperation(final Operation object) {
+ return createOperationAdapter();
+ }
+ @Override
+ public Adapter caseRanking(final Ranking object) {
+ return createRankingAdapter();
+ }
+ @Override
+ public Adapter caseRankingInterval(final RankingInterval object) {
+ return createRankingIntervalAdapter();
+ }
+ @Override
+ public Adapter caseRankingMeasureRelationship(final RankingMeasureRelationship object) {
+ return createRankingMeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseRankingMeasurementRelationship(final RankingMeasurementRelationship object) {
+ return createRankingMeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseRatioMeasure(final RatioMeasure object) {
+ return createRatioMeasureAdapter();
+ }
+ @Override
+ public Adapter caseRatioMeasurement(final RatioMeasurement object) {
+ return createRatioMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseRecursiveMeasureRelationship(final RecursiveMeasureRelationship object) {
+ return createRecursiveMeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseRecursiveMeasurementRelationship(final RecursiveMeasurementRelationship object) {
+ return createRecursiveMeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseRefinementMeasureRelationship(final RefinementMeasureRelationship object) {
+ return createRefinementMeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseRefinementMeasurementRelationship(final RefinementMeasurementRelationship object) {
+ return createRefinementMeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseRescaledMeasure(final RescaledMeasure object) {
+ return createRescaledMeasureAdapter();
+ }
+ @Override
+ public Adapter caseRescaleMeasureRelationship(final RescaleMeasureRelationship object) {
+ return createRescaleMeasureRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseRescaledMeasurement(final RescaledMeasurement object) {
+ return createRescaledMeasurementAdapter();
+ }
+ @Override
+ public Adapter caseRescaleMeasurementRelationship(final RescaleMeasurementRelationship object) {
+ return createRescaleMeasurementRelationshipAdapter();
+ }
+ @Override
+ public Adapter caseScope(final Scope object) {
+ return createScopeAdapter();
+ }
+ @Override
+ public Adapter caseSmmElement(final SmmElement object) {
+ return createSmmElementAdapter();
+ }
+ @Override
+ public Adapter caseSmmModel(final SmmModel object) {
+ return createSmmModelAdapter();
+ }
+ @Override
+ public Adapter caseSmmRelationship(final SmmRelationship object) {
+ return createSmmRelationshipAdapter();
+ }
+ @Override
+ public Adapter defaultCase(final 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(final Notifier target) {
+ return this.modelSwitch.doSwitch((EObject)target);
+ }
+
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.AbstractMeasureElement <em>Abstract Measure Element</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.modisco.omg.smm.AbstractMeasureElement
+ * @generated
+ */
+ public Adapter createAbstractMeasureElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Annotation <em>Annotation</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.modisco.omg.smm.Annotation
+ * @generated
+ */
+ public Adapter createAnnotationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Argument <em>Argument</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.modisco.omg.smm.Argument
+ * @generated
+ */
+ public Adapter createArgumentAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Attribute <em>Attribute</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.modisco.omg.smm.Attribute
+ * @generated
+ */
+ public Adapter createAttributeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.AggregatedMeasurement <em>Aggregated Measurement</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.modisco.omg.smm.AggregatedMeasurement
+ * @generated
+ */
+ public Adapter createAggregatedMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Base1MeasurementRelationship <em>Base1 Measurement Relationship</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.modisco.omg.smm.Base1MeasurementRelationship
+ * @generated
+ */
+ public Adapter createBase1MeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Base1MeasureRelationship <em>Base1 Measure Relationship</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.modisco.omg.smm.Base1MeasureRelationship
+ * @generated
+ */
+ public Adapter createBase1MeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Base2MeasurementRelationship <em>Base2 Measurement Relationship</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.modisco.omg.smm.Base2MeasurementRelationship
+ * @generated
+ */
+ public Adapter createBase2MeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Base2MeasureRelationship <em>Base2 Measure Relationship</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.modisco.omg.smm.Base2MeasureRelationship
+ * @generated
+ */
+ public Adapter createBase2MeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.BaseMeasurementRelationship <em>Base Measurement Relationship</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.modisco.omg.smm.BaseMeasurementRelationship
+ * @generated
+ */
+ public Adapter createBaseMeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.BaseMeasureRelationship <em>Base Measure Relationship</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.modisco.omg.smm.BaseMeasureRelationship
+ * @generated
+ */
+ public Adapter createBaseMeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.BinaryMeasure <em>Binary Measure</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.modisco.omg.smm.BinaryMeasure
+ * @generated
+ */
+ public Adapter createBinaryMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.BinaryMeasurement <em>Binary Measurement</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.modisco.omg.smm.BinaryMeasurement
+ * @generated
+ */
+ public Adapter createBinaryMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.CategoryRelationship <em>Category Relationship</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.modisco.omg.smm.CategoryRelationship
+ * @generated
+ */
+ public Adapter createCategoryRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Characteristic <em>Characteristic</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.modisco.omg.smm.Characteristic
+ * @generated
+ */
+ public Adapter createCharacteristicAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.CollectiveMeasure <em>Collective Measure</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.modisco.omg.smm.CollectiveMeasure
+ * @generated
+ */
+ public Adapter createCollectiveMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.CollectiveMeasurement <em>Collective Measurement</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.modisco.omg.smm.CollectiveMeasurement
+ * @generated
+ */
+ public Adapter createCollectiveMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Count <em>Count</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.modisco.omg.smm.Count
+ * @generated
+ */
+ public Adapter createCountAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Counting <em>Counting</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.modisco.omg.smm.Counting
+ * @generated
+ */
+ public Adapter createCountingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.DimensionalMeasure <em>Dimensional Measure</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.modisco.omg.smm.DimensionalMeasure
+ * @generated
+ */
+ public Adapter createDimensionalMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.DimensionalMeasurement <em>Dimensional Measurement</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.modisco.omg.smm.DimensionalMeasurement
+ * @generated
+ */
+ public Adapter createDimensionalMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.DirectMeasure <em>Direct Measure</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.modisco.omg.smm.DirectMeasure
+ * @generated
+ */
+ public Adapter createDirectMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.DirectMeasurement <em>Direct Measurement</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.modisco.omg.smm.DirectMeasurement
+ * @generated
+ */
+ public Adapter createDirectMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.EquivalentMeasureRelationship <em>Equivalent Measure Relationship</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.modisco.omg.smm.EquivalentMeasureRelationship
+ * @generated
+ */
+ public Adapter createEquivalentMeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.EquivalentMeasurementRelationship <em>Equivalent Measurement Relationship</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.modisco.omg.smm.EquivalentMeasurementRelationship
+ * @generated
+ */
+ public Adapter createEquivalentMeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Grade <em>Grade</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.modisco.omg.smm.Grade
+ * @generated
+ */
+ public Adapter createGradeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Measure <em>Measure</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.modisco.omg.smm.Measure
+ * @generated
+ */
+ public Adapter createMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.MeasureCategory <em>Measure Category</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.modisco.omg.smm.MeasureCategory
+ * @generated
+ */
+ public Adapter createMeasureCategoryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.MeasureLibrary <em>Measure Library</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.modisco.omg.smm.MeasureLibrary
+ * @generated
+ */
+ public Adapter createMeasureLibraryAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.MeasureRelationship <em>Measure Relationship</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.modisco.omg.smm.MeasureRelationship
+ * @generated
+ */
+ public Adapter createMeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Measurement <em>Measurement</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.modisco.omg.smm.Measurement
+ * @generated
+ */
+ public Adapter createMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.MeasurementRelationship <em>Measurement Relationship</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.modisco.omg.smm.MeasurementRelationship
+ * @generated
+ */
+ public Adapter createMeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.NamedMeasure <em>Named Measure</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.modisco.omg.smm.NamedMeasure
+ * @generated
+ */
+ public Adapter createNamedMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.NamedMeasurement <em>Named Measurement</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.modisco.omg.smm.NamedMeasurement
+ * @generated
+ */
+ public Adapter createNamedMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Observation <em>Observation</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.modisco.omg.smm.Observation
+ * @generated
+ */
+ public Adapter createObservationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.ObservationScope <em>Observation Scope</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.modisco.omg.smm.ObservationScope
+ * @generated
+ */
+ public Adapter createObservationScopeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.ObservedMeasure <em>Observed Measure</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.modisco.omg.smm.ObservedMeasure
+ * @generated
+ */
+ public Adapter createObservedMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.OCLOperation <em>OCL Operation</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.modisco.omg.smm.OCLOperation
+ * @generated
+ */
+ public Adapter createOCLOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Operation <em>Operation</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.modisco.omg.smm.Operation
+ * @generated
+ */
+ public Adapter createOperationAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Ranking <em>Ranking</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.modisco.omg.smm.Ranking
+ * @generated
+ */
+ public Adapter createRankingAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RankingInterval <em>Ranking Interval</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.modisco.omg.smm.RankingInterval
+ * @generated
+ */
+ public Adapter createRankingIntervalAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RankingMeasureRelationship <em>Ranking Measure Relationship</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.modisco.omg.smm.RankingMeasureRelationship
+ * @generated
+ */
+ public Adapter createRankingMeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RankingMeasurementRelationship <em>Ranking Measurement Relationship</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.modisco.omg.smm.RankingMeasurementRelationship
+ * @generated
+ */
+ public Adapter createRankingMeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RatioMeasure <em>Ratio Measure</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.modisco.omg.smm.RatioMeasure
+ * @generated
+ */
+ public Adapter createRatioMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RatioMeasurement <em>Ratio Measurement</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.modisco.omg.smm.RatioMeasurement
+ * @generated
+ */
+ public Adapter createRatioMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RecursiveMeasureRelationship <em>Recursive Measure Relationship</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.modisco.omg.smm.RecursiveMeasureRelationship
+ * @generated
+ */
+ public Adapter createRecursiveMeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RecursiveMeasurementRelationship <em>Recursive Measurement Relationship</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.modisco.omg.smm.RecursiveMeasurementRelationship
+ * @generated
+ */
+ public Adapter createRecursiveMeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RefinementMeasureRelationship <em>Refinement Measure Relationship</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.modisco.omg.smm.RefinementMeasureRelationship
+ * @generated
+ */
+ public Adapter createRefinementMeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RefinementMeasurementRelationship <em>Refinement Measurement Relationship</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.modisco.omg.smm.RefinementMeasurementRelationship
+ * @generated
+ */
+ public Adapter createRefinementMeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RescaledMeasure <em>Rescaled Measure</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.modisco.omg.smm.RescaledMeasure
+ * @generated
+ */
+ public Adapter createRescaledMeasureAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RescaleMeasureRelationship <em>Rescale Measure Relationship</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.modisco.omg.smm.RescaleMeasureRelationship
+ * @generated
+ */
+ public Adapter createRescaleMeasureRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RescaledMeasurement <em>Rescaled Measurement</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.modisco.omg.smm.RescaledMeasurement
+ * @generated
+ */
+ public Adapter createRescaledMeasurementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.RescaleMeasurementRelationship <em>Rescale Measurement Relationship</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.modisco.omg.smm.RescaleMeasurementRelationship
+ * @generated
+ */
+ public Adapter createRescaleMeasurementRelationshipAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.Scope <em>Scope</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.modisco.omg.smm.Scope
+ * @generated
+ */
+ public Adapter createScopeAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.SmmElement <em>Element</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.modisco.omg.smm.SmmElement
+ * @generated
+ */
+ public Adapter createSmmElementAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.SmmModel <em>Model</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.modisco.omg.smm.SmmModel
+ * @generated
+ */
+ public Adapter createSmmModelAdapter() {
+ return null;
+ }
+
+ /**
+ * Creates a new adapter for an object of class '{@link org.eclipse.modisco.omg.smm.SmmRelationship <em>Relationship</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.modisco.omg.smm.SmmRelationship
+ * @generated
+ */
+ public Adapter createSmmRelationshipAdapter() {
+ 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;
+ }
+
+} //SmmAdapterFactory
diff --git a/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/util/SmmSwitch.java b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/util/SmmSwitch.java
new file mode 100644
index 000000000..a85ff9190
--- /dev/null
+++ b/org.eclipse.modisco.omg.smm/src-gen/org/eclipse/modisco/omg/smm/util/SmmSwitch.java
@@ -0,0 +1,1455 @@
+/**
+ * Copyright (c) 2010 Mia-Software.
+ * 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:
+ * Nicolas Payneau (Mia-Software) - initial API and implementation
+ */
+package org.eclipse.modisco.omg.smm.util;
+
+import java.util.List;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EObject;
+
+import org.eclipse.modisco.omg.smm.*;
+
+/**
+ * <!-- 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.modisco.omg.smm.SmmPackage
+ * @generated
+ */
+public class SmmSwitch<T> {
+ /**
+ * The cached model package
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected static SmmPackage modelPackage;
+
+ /**
+ * Creates an instance of the switch.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SmmSwitch() {
+ if (modelPackage == null) {
+ modelPackage = SmmPackage.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 SmmPackage.ABSTRACT_MEASURE_ELEMENT: {
+ AbstractMeasureElement abstractMeasureElement = (AbstractMeasureElement)theEObject;
+ T result = caseAbstractMeasureElement(abstractMeasureElement);
+ if (result == null) result = caseSmmElement(abstractMeasureElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.ANNOTATION: {
+ Annotation annotation = (Annotation)theEObject;
+ T result = caseAnnotation(annotation);
+ if (result == null) result = caseSmmElement(annotation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.ARGUMENT: {
+ Argument argument = (Argument)theEObject;
+ T result = caseArgument(argument);
+ if (result == null) result = caseSmmElement(argument);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.ATTRIBUTE: {
+ Attribute attribute = (Attribute)theEObject;
+ T result = caseAttribute(attribute);
+ if (result == null) result = caseSmmElement(attribute);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.AGGREGATED_MEASUREMENT: {
+ AggregatedMeasurement aggregatedMeasurement = (AggregatedMeasurement)theEObject;
+ T result = caseAggregatedMeasurement(aggregatedMeasurement);
+ if (result == null) result = caseDimensionalMeasurement(aggregatedMeasurement);
+ if (result == null) result = caseMeasurement(aggregatedMeasurement);
+ if (result == null) result = caseSmmElement(aggregatedMeasurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.BASE1_MEASUREMENT_RELATIONSHIP: {
+ Base1MeasurementRelationship base1MeasurementRelationship = (Base1MeasurementRelationship)theEObject;
+ T result = caseBase1MeasurementRelationship(base1MeasurementRelationship);
+ if (result == null) result = caseMeasurementRelationship(base1MeasurementRelationship);
+ if (result == null) result = caseSmmRelationship(base1MeasurementRelationship);
+ if (result == null) result = caseSmmElement(base1MeasurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.BASE1_MEASURE_RELATIONSHIP: {
+ Base1MeasureRelationship base1MeasureRelationship = (Base1MeasureRelationship)theEObject;
+ T result = caseBase1MeasureRelationship(base1MeasureRelationship);
+ if (result == null) result = caseMeasureRelationship(base1MeasureRelationship);
+ if (result == null) result = caseSmmRelationship(base1MeasureRelationship);
+ if (result == null) result = caseSmmElement(base1MeasureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.BASE2_MEASUREMENT_RELATIONSHIP: {
+ Base2MeasurementRelationship base2MeasurementRelationship = (Base2MeasurementRelationship)theEObject;
+ T result = caseBase2MeasurementRelationship(base2MeasurementRelationship);
+ if (result == null) result = caseMeasurementRelationship(base2MeasurementRelationship);
+ if (result == null) result = caseSmmRelationship(base2MeasurementRelationship);
+ if (result == null) result = caseSmmElement(base2MeasurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.BASE2_MEASURE_RELATIONSHIP: {
+ Base2MeasureRelationship base2MeasureRelationship = (Base2MeasureRelationship)theEObject;
+ T result = caseBase2MeasureRelationship(base2MeasureRelationship);
+ if (result == null) result = caseMeasureRelationship(base2MeasureRelationship);
+ if (result == null) result = caseSmmRelationship(base2MeasureRelationship);
+ if (result == null) result = caseSmmElement(base2MeasureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.BASE_MEASUREMENT_RELATIONSHIP: {
+ BaseMeasurementRelationship baseMeasurementRelationship = (BaseMeasurementRelationship)theEObject;
+ T result = caseBaseMeasurementRelationship(baseMeasurementRelationship);
+ if (result == null) result = caseMeasurementRelationship(baseMeasurementRelationship);
+ if (result == null) result = caseSmmRelationship(baseMeasurementRelationship);
+ if (result == null) result = caseSmmElement(baseMeasurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.BASE_MEASURE_RELATIONSHIP: {
+ BaseMeasureRelationship baseMeasureRelationship = (BaseMeasureRelationship)theEObject;
+ T result = caseBaseMeasureRelationship(baseMeasureRelationship);
+ if (result == null) result = caseMeasureRelationship(baseMeasureRelationship);
+ if (result == null) result = caseSmmRelationship(baseMeasureRelationship);
+ if (result == null) result = caseSmmElement(baseMeasureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.BINARY_MEASURE: {
+ BinaryMeasure binaryMeasure = (BinaryMeasure)theEObject;
+ T result = caseBinaryMeasure(binaryMeasure);
+ if (result == null) result = caseDimensionalMeasure(binaryMeasure);
+ if (result == null) result = caseMeasure(binaryMeasure);
+ if (result == null) result = caseAbstractMeasureElement(binaryMeasure);
+ if (result == null) result = caseSmmElement(binaryMeasure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.BINARY_MEASUREMENT: {
+ BinaryMeasurement binaryMeasurement = (BinaryMeasurement)theEObject;
+ T result = caseBinaryMeasurement(binaryMeasurement);
+ if (result == null) result = caseDimensionalMeasurement(binaryMeasurement);
+ if (result == null) result = caseMeasurement(binaryMeasurement);
+ if (result == null) result = caseSmmElement(binaryMeasurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.CATEGORY_RELATIONSHIP: {
+ CategoryRelationship categoryRelationship = (CategoryRelationship)theEObject;
+ T result = caseCategoryRelationship(categoryRelationship);
+ if (result == null) result = caseSmmRelationship(categoryRelationship);
+ if (result == null) result = caseSmmElement(categoryRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.CHARACTERISTIC: {
+ Characteristic characteristic = (Characteristic)theEObject;
+ T result = caseCharacteristic(characteristic);
+ if (result == null) result = caseAbstractMeasureElement(characteristic);
+ if (result == null) result = caseSmmElement(characteristic);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.COLLECTIVE_MEASURE: {
+ CollectiveMeasure collectiveMeasure = (CollectiveMeasure)theEObject;
+ T result = caseCollectiveMeasure(collectiveMeasure);
+ if (result == null) result = caseDimensionalMeasure(collectiveMeasure);
+ if (result == null) result = caseMeasure(collectiveMeasure);
+ if (result == null) result = caseAbstractMeasureElement(collectiveMeasure);
+ if (result == null) result = caseSmmElement(collectiveMeasure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.COLLECTIVE_MEASUREMENT: {
+ CollectiveMeasurement collectiveMeasurement = (CollectiveMeasurement)theEObject;
+ T result = caseCollectiveMeasurement(collectiveMeasurement);
+ if (result == null) result = caseDimensionalMeasurement(collectiveMeasurement);
+ if (result == null) result = caseMeasurement(collectiveMeasurement);
+ if (result == null) result = caseSmmElement(collectiveMeasurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.COUNT: {
+ Count count = (Count)theEObject;
+ T result = caseCount(count);
+ if (result == null) result = caseDirectMeasurement(count);
+ if (result == null) result = caseDimensionalMeasurement(count);
+ if (result == null) result = caseMeasurement(count);
+ if (result == null) result = caseSmmElement(count);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.COUNTING: {
+ Counting counting = (Counting)theEObject;
+ T result = caseCounting(counting);
+ if (result == null) result = caseDirectMeasure(counting);
+ if (result == null) result = caseDimensionalMeasure(counting);
+ if (result == null) result = caseMeasure(counting);
+ if (result == null) result = caseAbstractMeasureElement(counting);
+ if (result == null) result = caseSmmElement(counting);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.DIMENSIONAL_MEASURE: {
+ DimensionalMeasure dimensionalMeasure = (DimensionalMeasure)theEObject;
+ T result = caseDimensionalMeasure(dimensionalMeasure);
+ if (result == null) result = caseMeasure(dimensionalMeasure);
+ if (result == null) result = caseAbstractMeasureElement(dimensionalMeasure);
+ if (result == null) result = caseSmmElement(dimensionalMeasure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.DIMENSIONAL_MEASUREMENT: {
+ DimensionalMeasurement dimensionalMeasurement = (DimensionalMeasurement)theEObject;
+ T result = caseDimensionalMeasurement(dimensionalMeasurement);
+ if (result == null) result = caseMeasurement(dimensionalMeasurement);
+ if (result == null) result = caseSmmElement(dimensionalMeasurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.DIRECT_MEASURE: {
+ DirectMeasure directMeasure = (DirectMeasure)theEObject;
+ T result = caseDirectMeasure(directMeasure);
+ if (result == null) result = caseDimensionalMeasure(directMeasure);
+ if (result == null) result = caseMeasure(directMeasure);
+ if (result == null) result = caseAbstractMeasureElement(directMeasure);
+ if (result == null) result = caseSmmElement(directMeasure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.DIRECT_MEASUREMENT: {
+ DirectMeasurement directMeasurement = (DirectMeasurement)theEObject;
+ T result = caseDirectMeasurement(directMeasurement);
+ if (result == null) result = caseDimensionalMeasurement(directMeasurement);
+ if (result == null) result = caseMeasurement(directMeasurement);
+ if (result == null) result = caseSmmElement(directMeasurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.EQUIVALENT_MEASURE_RELATIONSHIP: {
+ EquivalentMeasureRelationship equivalentMeasureRelationship = (EquivalentMeasureRelationship)theEObject;
+ T result = caseEquivalentMeasureRelationship(equivalentMeasureRelationship);
+ if (result == null) result = caseMeasureRelationship(equivalentMeasureRelationship);
+ if (result == null) result = caseSmmRelationship(equivalentMeasureRelationship);
+ if (result == null) result = caseSmmElement(equivalentMeasureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.EQUIVALENT_MEASUREMENT_RELATIONSHIP: {
+ EquivalentMeasurementRelationship equivalentMeasurementRelationship = (EquivalentMeasurementRelationship)theEObject;
+ T result = caseEquivalentMeasurementRelationship(equivalentMeasurementRelationship);
+ if (result == null) result = caseMeasurementRelationship(equivalentMeasurementRelationship);
+ if (result == null) result = caseSmmRelationship(equivalentMeasurementRelationship);
+ if (result == null) result = caseSmmElement(equivalentMeasurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.GRADE: {
+ Grade grade = (Grade)theEObject;
+ T result = caseGrade(grade);
+ if (result == null) result = caseMeasurement(grade);
+ if (result == null) result = caseSmmElement(grade);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.MEASURE: {
+ Measure measure = (Measure)theEObject;
+ T result = caseMeasure(measure);
+ if (result == null) result = caseAbstractMeasureElement(measure);
+ if (result == null) result = caseSmmElement(measure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.MEASURE_CATEGORY: {
+ MeasureCategory measureCategory = (MeasureCategory)theEObject;
+ T result = caseMeasureCategory(measureCategory);
+ if (result == null) result = caseAbstractMeasureElement(measureCategory);
+ if (result == null) result = caseSmmElement(measureCategory);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.MEASURE_LIBRARY: {
+ MeasureLibrary measureLibrary = (MeasureLibrary)theEObject;
+ T result = caseMeasureLibrary(measureLibrary);
+ if (result == null) result = caseSmmElement(measureLibrary);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.MEASURE_RELATIONSHIP: {
+ MeasureRelationship measureRelationship = (MeasureRelationship)theEObject;
+ T result = caseMeasureRelationship(measureRelationship);
+ if (result == null) result = caseSmmRelationship(measureRelationship);
+ if (result == null) result = caseSmmElement(measureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.MEASUREMENT: {
+ Measurement measurement = (Measurement)theEObject;
+ T result = caseMeasurement(measurement);
+ if (result == null) result = caseSmmElement(measurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.MEASUREMENT_RELATIONSHIP: {
+ MeasurementRelationship measurementRelationship = (MeasurementRelationship)theEObject;
+ T result = caseMeasurementRelationship(measurementRelationship);
+ if (result == null) result = caseSmmRelationship(measurementRelationship);
+ if (result == null) result = caseSmmElement(measurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.NAMED_MEASURE: {
+ NamedMeasure namedMeasure = (NamedMeasure)theEObject;
+ T result = caseNamedMeasure(namedMeasure);
+ if (result == null) result = caseDimensionalMeasure(namedMeasure);
+ if (result == null) result = caseMeasure(namedMeasure);
+ if (result == null) result = caseAbstractMeasureElement(namedMeasure);
+ if (result == null) result = caseSmmElement(namedMeasure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.NAMED_MEASUREMENT: {
+ NamedMeasurement namedMeasurement = (NamedMeasurement)theEObject;
+ T result = caseNamedMeasurement(namedMeasurement);
+ if (result == null) result = caseDimensionalMeasurement(namedMeasurement);
+ if (result == null) result = caseMeasurement(namedMeasurement);
+ if (result == null) result = caseSmmElement(namedMeasurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.OBSERVATION: {
+ Observation observation = (Observation)theEObject;
+ T result = caseObservation(observation);
+ if (result == null) result = caseSmmElement(observation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.OBSERVATION_SCOPE: {
+ ObservationScope observationScope = (ObservationScope)theEObject;
+ T result = caseObservationScope(observationScope);
+ if (result == null) result = caseSmmElement(observationScope);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.OBSERVED_MEASURE: {
+ ObservedMeasure observedMeasure = (ObservedMeasure)theEObject;
+ T result = caseObservedMeasure(observedMeasure);
+ if (result == null) result = caseSmmRelationship(observedMeasure);
+ if (result == null) result = caseSmmElement(observedMeasure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.OCL_OPERATION: {
+ OCLOperation oclOperation = (OCLOperation)theEObject;
+ T result = caseOCLOperation(oclOperation);
+ if (result == null) result = caseAbstractMeasureElement(oclOperation);
+ if (result == null) result = caseSmmElement(oclOperation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.OPERATION: {
+ Operation operation = (Operation)theEObject;
+ T result = caseOperation(operation);
+ if (result == null) result = caseAbstractMeasureElement(operation);
+ if (result == null) result = caseSmmElement(operation);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RANKING: {
+ Ranking ranking = (Ranking)theEObject;
+ T result = caseRanking(ranking);
+ if (result == null) result = caseMeasure(ranking);
+ if (result == null) result = caseAbstractMeasureElement(ranking);
+ if (result == null) result = caseSmmElement(ranking);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RANKING_INTERVAL: {
+ RankingInterval rankingInterval = (RankingInterval)theEObject;
+ T result = caseRankingInterval(rankingInterval);
+ if (result == null) result = caseSmmElement(rankingInterval);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RANKING_MEASURE_RELATIONSHIP: {
+ RankingMeasureRelationship rankingMeasureRelationship = (RankingMeasureRelationship)theEObject;
+ T result = caseRankingMeasureRelationship(rankingMeasureRelationship);
+ if (result == null) result = caseMeasureRelationship(rankingMeasureRelationship);
+ if (result == null) result = caseSmmRelationship(rankingMeasureRelationship);
+ if (result == null) result = caseSmmElement(rankingMeasureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RANKING_MEASUREMENT_RELATIONSHIP: {
+ RankingMeasurementRelationship rankingMeasurementRelationship = (RankingMeasurementRelationship)theEObject;
+ T result = caseRankingMeasurementRelationship(rankingMeasurementRelationship);
+ if (result == null) result = caseMeasurementRelationship(rankingMeasurementRelationship);
+ if (result == null) result = caseSmmRelationship(rankingMeasurementRelationship);
+ if (result == null) result = caseSmmElement(rankingMeasurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RATIO_MEASURE: {
+ RatioMeasure ratioMeasure = (RatioMeasure)theEObject;
+ T result = caseRatioMeasure(ratioMeasure);
+ if (result == null) result = caseBinaryMeasure(ratioMeasure);
+ if (result == null) result = caseDimensionalMeasure(ratioMeasure);
+ if (result == null) result = caseMeasure(ratioMeasure);
+ if (result == null) result = caseAbstractMeasureElement(ratioMeasure);
+ if (result == null) result = caseSmmElement(ratioMeasure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RATIO_MEASUREMENT: {
+ RatioMeasurement ratioMeasurement = (RatioMeasurement)theEObject;
+ T result = caseRatioMeasurement(ratioMeasurement);
+ if (result == null) result = caseBinaryMeasurement(ratioMeasurement);
+ if (result == null) result = caseDimensionalMeasurement(ratioMeasurement);
+ if (result == null) result = caseMeasurement(ratioMeasurement);
+ if (result == null) result = caseSmmElement(ratioMeasurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RECURSIVE_MEASURE_RELATIONSHIP: {
+ RecursiveMeasureRelationship recursiveMeasureRelationship = (RecursiveMeasureRelationship)theEObject;
+ T result = caseRecursiveMeasureRelationship(recursiveMeasureRelationship);
+ if (result == null) result = caseMeasureRelationship(recursiveMeasureRelationship);
+ if (result == null) result = caseSmmRelationship(recursiveMeasureRelationship);
+ if (result == null) result = caseSmmElement(recursiveMeasureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RECURSIVE_MEASUREMENT_RELATIONSHIP: {
+ RecursiveMeasurementRelationship recursiveMeasurementRelationship = (RecursiveMeasurementRelationship)theEObject;
+ T result = caseRecursiveMeasurementRelationship(recursiveMeasurementRelationship);
+ if (result == null) result = caseMeasurementRelationship(recursiveMeasurementRelationship);
+ if (result == null) result = caseSmmRelationship(recursiveMeasurementRelationship);
+ if (result == null) result = caseSmmElement(recursiveMeasurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.REFINEMENT_MEASURE_RELATIONSHIP: {
+ RefinementMeasureRelationship refinementMeasureRelationship = (RefinementMeasureRelationship)theEObject;
+ T result = caseRefinementMeasureRelationship(refinementMeasureRelationship);
+ if (result == null) result = caseMeasureRelationship(refinementMeasureRelationship);
+ if (result == null) result = caseSmmRelationship(refinementMeasureRelationship);
+ if (result == null) result = caseSmmElement(refinementMeasureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.REFINEMENT_MEASUREMENT_RELATIONSHIP: {
+ RefinementMeasurementRelationship refinementMeasurementRelationship = (RefinementMeasurementRelationship)theEObject;
+ T result = caseRefinementMeasurementRelationship(refinementMeasurementRelationship);
+ if (result == null) result = caseMeasurementRelationship(refinementMeasurementRelationship);
+ if (result == null) result = caseSmmRelationship(refinementMeasurementRelationship);
+ if (result == null) result = caseSmmElement(refinementMeasurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RESCALED_MEASURE: {
+ RescaledMeasure rescaledMeasure = (RescaledMeasure)theEObject;
+ T result = caseRescaledMeasure(rescaledMeasure);
+ if (result == null) result = caseDimensionalMeasure(rescaledMeasure);
+ if (result == null) result = caseMeasure(rescaledMeasure);
+ if (result == null) result = caseAbstractMeasureElement(rescaledMeasure);
+ if (result == null) result = caseSmmElement(rescaledMeasure);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RESCALE_MEASURE_RELATIONSHIP: {
+ RescaleMeasureRelationship rescaleMeasureRelationship = (RescaleMeasureRelationship)theEObject;
+ T result = caseRescaleMeasureRelationship(rescaleMeasureRelationship);
+ if (result == null) result = caseMeasureRelationship(rescaleMeasureRelationship);
+ if (result == null) result = caseSmmRelationship(rescaleMeasureRelationship);
+ if (result == null) result = caseSmmElement(rescaleMeasureRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RESCALED_MEASUREMENT: {
+ RescaledMeasurement rescaledMeasurement = (RescaledMeasurement)theEObject;
+ T result = caseRescaledMeasurement(rescaledMeasurement);
+ if (result == null) result = caseDimensionalMeasurement(rescaledMeasurement);
+ if (result == null) result = caseMeasurement(rescaledMeasurement);
+ if (result == null) result = caseSmmElement(rescaledMeasurement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.RESCALE_MEASUREMENT_RELATIONSHIP: {
+ RescaleMeasurementRelationship rescaleMeasurementRelationship = (RescaleMeasurementRelationship)theEObject;
+ T result = caseRescaleMeasurementRelationship(rescaleMeasurementRelationship);
+ if (result == null) result = caseMeasurementRelationship(rescaleMeasurementRelationship);
+ if (result == null) result = caseSmmRelationship(rescaleMeasurementRelationship);
+ if (result == null) result = caseSmmElement(rescaleMeasurementRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.SCOPE: {
+ Scope scope = (Scope)theEObject;
+ T result = caseScope(scope);
+ if (result == null) result = caseAbstractMeasureElement(scope);
+ if (result == null) result = caseSmmElement(scope);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.SMM_ELEMENT: {
+ SmmElement smmElement = (SmmElement)theEObject;
+ T result = caseSmmElement(smmElement);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.SMM_MODEL: {
+ SmmModel smmModel = (SmmModel)theEObject;
+ T result = caseSmmModel(smmModel);
+ if (result == null) result = caseSmmElement(smmModel);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ case SmmPackage.SMM_RELATIONSHIP: {
+ SmmRelationship smmRelationship = (SmmRelationship)theEObject;
+ T result = caseSmmRelationship(smmRelationship);
+ if (result == null) result = caseSmmElement(smmRelationship);
+ if (result == null) result = defaultCase(theEObject);
+ return result;
+ }
+ default: return defaultCase(theEObject);
+ }
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Abstract Measure Element</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>Abstract Measure Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAbstractMeasureElement(AbstractMeasureElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Annotation</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>Annotation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAnnotation(Annotation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Argument</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>Argument</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseArgument(Argument object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Attribute</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>Attribute</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAttribute(Attribute object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Aggregated Measurement</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>Aggregated Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseAggregatedMeasurement(AggregatedMeasurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Base1 Measurement Relationship</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>Base1 Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBase1MeasurementRelationship(Base1MeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Base1 Measure Relationship</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>Base1 Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBase1MeasureRelationship(Base1MeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Base2 Measurement Relationship</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>Base2 Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBase2MeasurementRelationship(Base2MeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Base2 Measure Relationship</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>Base2 Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBase2MeasureRelationship(Base2MeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Base Measurement Relationship</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>Base Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBaseMeasurementRelationship(BaseMeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Base Measure Relationship</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>Base Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBaseMeasureRelationship(BaseMeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Binary Measure</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>Binary Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBinaryMeasure(BinaryMeasure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Binary Measurement</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>Binary Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseBinaryMeasurement(BinaryMeasurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Category Relationship</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>Category Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCategoryRelationship(CategoryRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Characteristic</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>Characteristic</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCharacteristic(Characteristic object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Collective Measure</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>Collective Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCollectiveMeasure(CollectiveMeasure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Collective Measurement</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>Collective Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCollectiveMeasurement(CollectiveMeasurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Count</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>Count</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCount(Count object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Counting</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>Counting</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseCounting(Counting object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Dimensional Measure</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>Dimensional Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDimensionalMeasure(DimensionalMeasure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Dimensional Measurement</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>Dimensional Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDimensionalMeasurement(DimensionalMeasurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Direct Measure</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>Direct Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDirectMeasure(DirectMeasure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Direct Measurement</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>Direct Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseDirectMeasurement(DirectMeasurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Equivalent Measure Relationship</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>Equivalent Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEquivalentMeasureRelationship(EquivalentMeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Equivalent Measurement Relationship</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>Equivalent Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseEquivalentMeasurementRelationship(EquivalentMeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Grade</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>Grade</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseGrade(Grade object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Measure</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>Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMeasure(Measure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Measure Category</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>Measure Category</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMeasureCategory(MeasureCategory object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Measure Library</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>Measure Library</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMeasureLibrary(MeasureLibrary object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Measure Relationship</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>Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMeasureRelationship(MeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Measurement</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>Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMeasurement(Measurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Measurement Relationship</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>Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseMeasurementRelationship(MeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Measure</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>Named Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedMeasure(NamedMeasure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Named Measurement</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>Named Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseNamedMeasurement(NamedMeasurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Observation</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>Observation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseObservation(Observation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Observation Scope</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>Observation Scope</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseObservationScope(ObservationScope object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Observed Measure</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>Observed Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseObservedMeasure(ObservedMeasure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>OCL Operation</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>OCL Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOCLOperation(OCLOperation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Operation</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>Operation</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseOperation(Operation object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ranking</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>Ranking</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRanking(Ranking object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ranking Interval</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>Ranking Interval</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRankingInterval(RankingInterval object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ranking Measure Relationship</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>Ranking Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRankingMeasureRelationship(RankingMeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ranking Measurement Relationship</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>Ranking Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRankingMeasurementRelationship(RankingMeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ratio Measure</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>Ratio Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRatioMeasure(RatioMeasure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Ratio Measurement</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>Ratio Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRatioMeasurement(RatioMeasurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Recursive Measure Relationship</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>Recursive Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRecursiveMeasureRelationship(RecursiveMeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Recursive Measurement Relationship</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>Recursive Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRecursiveMeasurementRelationship(RecursiveMeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Refinement Measure Relationship</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>Refinement Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefinementMeasureRelationship(RefinementMeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Refinement Measurement Relationship</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>Refinement Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRefinementMeasurementRelationship(RefinementMeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rescaled Measure</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>Rescaled Measure</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRescaledMeasure(RescaledMeasure object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rescale Measure Relationship</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>Rescale Measure Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRescaleMeasureRelationship(RescaleMeasureRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rescaled Measurement</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>Rescaled Measurement</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRescaledMeasurement(RescaledMeasurement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Rescale Measurement Relationship</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>Rescale Measurement Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseRescaleMeasurementRelationship(RescaleMeasurementRelationship object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Scope</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>Scope</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseScope(Scope object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Element</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>Element</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSmmElement(SmmElement object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Model</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>Model</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSmmModel(SmmModel object) {
+ return null;
+ }
+
+ /**
+ * Returns the result of interpreting the object as an instance of '<em>Relationship</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>Relationship</em>'.
+ * @see #doSwitch(org.eclipse.emf.ecore.EObject) doSwitch(EObject)
+ * @generated
+ */
+ public T caseSmmRelationship(SmmRelationship 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;
+ }
+
+} //SmmSwitch

Back to the top