blob: c721ecedd5622e630dcc6a27c24d97f69217ef7b [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="smm" nsURI="http://www.omg.org/spec/SMM/20150201/SMM.cmof" nsPrefix="smm">
<eAnnotations source="http://www.eclipse.org/OCL/Import">
<details key="uml" value="../../org.eclipse.uml2.uml/model/UML.ecore#/"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="AbstractMeasureElement" abstract="true"
eSuperTypes="#//SmmElement"/>
<eClassifiers xsi:type="ecore:EClass" name="SmmElement" abstract="true">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="description" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="shortDescription" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inRelationships" ordered="false"
upperBound="-1" eType="#//SmmRelationship" volatile="true" transient="true"
derived="true" eOpposite="#//SmmRelationship/to"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outRelationships" ordered="false"
upperBound="-1" eType="#//SmmRelationship" volatile="true" transient="true"
derived="true" eOpposite="#//SmmRelationship/from"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="attributes" ordered="false"
upperBound="-1" eType="#//Attribute" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotations" ordered="false"
upperBound="-1" eType="#//Annotation" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SmmRelationship" abstract="true" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//SmmElement"
volatile="true" transient="true" derived="true" eOpposite="#//SmmElement/outRelationships"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//SmmElement"
volatile="true" transient="true" derived="true" eOpposite="#//SmmElement/inRelationships"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tag" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Annotation" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="text" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Accumulator">
<eLiterals name="sum"/>
<eLiterals name="maximum" value="1"/>
<eLiterals name="minimum" value="2"/>
<eLiterals name="average" value="3"/>
<eLiterals name="standardDeviation" value="4"/>
<eLiterals name="product" value="5"/>
<eLiterals name="custom" value="6"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Argument" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="type" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="observedMeasure" eType="#//ObservedMeasure"
eOpposite="#//ObservedMeasure/arguments"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="ObservedMeasure" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="measurements" ordered="false"
upperBound="-1" eType="#//Measurement" containment="true" eOpposite="#//Measurement/observedMeasure"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="measure" lowerBound="1"
eType="#//Measure"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="arguments" ordered="false"
upperBound="-1" eType="#//Argument" containment="true" eOpposite="#//Argument/observedMeasure"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Measurement" abstract="true" eSuperTypes="#//SmmElement">
<eOperations name="getMeasureLabel" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eOperations name="getMeasurementLabel" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="breakValue" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="measurementRelationships"
ordered="false" upperBound="-1" eType="#//MeasurementRelationship" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="observedMeasure" lowerBound="1"
eType="#//ObservedMeasure" eOpposite="#//ObservedMeasure/measurements"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EquivalentMeasurementRelationship" eSuperTypes="#//MeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="MeasurementRelationship" abstract="true"
eSuperTypes="#//SmmRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="RefinementMeasurementRelationship" eSuperTypes="#//MeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="Measure" abstract="true" eSuperTypes="#//AbstractMeasureElement">
<eOperations name="getAllArguments" ordered="false" upperBound="-1" eType="#//Argument"/>
<eOperations name="getArguments" ordered="false" upperBound="-1" eType="#//Argument"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="measureLabelFormat" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="measurementLabelFormat"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="visible" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="source" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="defaultQuery" eType="#//Operation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="measureRelationships" ordered="false"
upperBound="-1" eType="#//MeasureRelationship" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="category" ordered="false"
upperBound="-1" eType="#//MeasureCategory" eOpposite="#//MeasureCategory/categoryMeasure"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="scope" lowerBound="1" eType="#//Scope"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="trait" lowerBound="1" eType="#//Characteristic"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scale" eType="#//ScaleOfMeasurement"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="customScale" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RefinementMeasureRelationship" eSuperTypes="#//MeasureRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="MeasureRelationship" abstract="true"
eSuperTypes="#//SmmRelationship">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="influence" eType="#//Influence"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="measurandQuery" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="Influence">
<eLiterals name="positive"/>
<eLiterals name="negative" value="1"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//AbstractMeasureElement">
<eOperations name="getParamStrings" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="language" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EquivalentMeasureRelationship" eSuperTypes="#//MeasureRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="mapping" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MeasureCategory" eSuperTypes="#//AbstractMeasureElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="category" ordered="false"
upperBound="-1" eType="#//MeasureCategory" eOpposite="#//MeasureCategory/categoryElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="categoryElement" ordered="false"
upperBound="-1" eType="#//MeasureCategory" eOpposite="#//MeasureCategory/category"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="categoryMeasure" ordered="false"
upperBound="-1" eType="#//Measure" eOpposite="#//Measure/category"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Scope" eSuperTypes="#//AbstractMeasureElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="breakCondition" eType="#//Operation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="recognizer" eType="#//Operation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="class" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Class"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="stereotype" eType="ecore:EClass ../../org.eclipse.uml2.uml/model/UML.ecore#//Stereotype"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Characteristic" eSuperTypes="#//AbstractMeasureElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//Characteristic"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="ScaleOfMeasurement">
<eLiterals name="nominal"/>
<eLiterals name="ordinal" value="1"/>
<eLiterals name="interval" value="2"/>
<eLiterals name="ratio" value="3"/>
<eLiterals name="custom" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Base1MeasureRelationship" eSuperTypes="#//BaseMeasureRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="BaseMeasureRelationship" abstract="true"
eSuperTypes="#//MeasureRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="rescaledMeasure" eType="#//RescaledMeasure"
containment="true" eOpposite="#//RescaledMeasure/rescales"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RescaledMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EReference" name="operation" eType="#//Operation"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="offset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="multiplier" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="rescales" eType="#//BaseMeasureRelationship"
eOpposite="#//BaseMeasureRelationship/rescaledMeasure"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DimensionalMeasure" abstract="true"
eSuperTypes="#//Measure">
<eStructuralFeatures xsi:type="ecore:EReference" name="unit" lowerBound="1" eType="#//UnitOfMeasure"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="formula" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BaseNMeasureRelationship" eSuperTypes="#//BaseMeasureRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="CollectiveMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="accumulator" lowerBound="1"
eType="#//Accumulator"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="customAccumulator" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Base2MeasureRelationship" eSuperTypes="#//BaseMeasureRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="BinaryMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="functor" lowerBound="1"
eType="#//BinaryFunctor"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="customFunctor" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="BinaryFunctor">
<eLiterals name="plus"/>
<eLiterals name="minus" value="1"/>
<eLiterals name="multiply" value="2"/>
<eLiterals name="divide" value="3"/>
<eLiterals name="custom" value="4"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RankingMeasureRelationship" eSuperTypes="#//BaseMeasureRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="RankingMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EReference" name="interval" ordered="false"
lowerBound="1" upperBound="-1" eType="#//RankingInterval" containment="true"
eOpposite="#//RankingInterval/ranking"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RankingInterval" eSuperTypes="#//Interval">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ranking" lowerBound="1"
eType="#//RankingMeasure" eOpposite="#//RankingMeasure/interval"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Interval" abstract="true" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumEndpoint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumOpen" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumEndpoint" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumOpen" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
defaultValueLiteral="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RescaledMeasureRelationship" eSuperTypes="#//MeasureRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="GradeMeasureRelationship" eSuperTypes="#//MeasureRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="GradeMeasure" eSuperTypes="#//Measure">
<eStructuralFeatures xsi:type="ecore:EReference" name="interval" ordered="false"
lowerBound="1" upperBound="-1" eType="#//GradeInterval" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GradeInterval" eSuperTypes="#//Interval">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="symbol" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="UnitOfMeasure" eSuperTypes="#//AbstractMeasureElement"/>
<eClassifiers xsi:type="ecore:EClass" name="Base1MeasurementRelationship" eSuperTypes="#//BaseMeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="BaseMeasurementRelationship" abstract="true"
eSuperTypes="#//MeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="DimensionalMeasurement" abstract="true"
eSuperTypes="#//Measurement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBigDecimal"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BaseNMeasurementRelationship" eSuperTypes="#//BaseMeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="CollectiveMeasurement" eSuperTypes="#//DimensionalMeasurement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isBaseSupplied" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseQuery" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Base2MeasurementRelationship" eSuperTypes="#//BaseMeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="BinaryMeasurement" eSuperTypes="#//DimensionalMeasurement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isBaseSupplied" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseQuery" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="GradeMeasurementRelationship" eSuperTypes="#//MeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="GradeMeasurement" eSuperTypes="#//Measurement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isBaseSupplied" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseQuery" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RescaledMeasurementRelationship" eSuperTypes="#//MeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="RescaledMeasurement" eSuperTypes="#//DimensionalMeasurement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isBaseSupplied" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseQuery" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RankingMeasurementRelationship" eSuperTypes="#//MeasurementRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="RankingMeasurement" eSuperTypes="#//DimensionalMeasurement">
<eStructuralFeatures xsi:type="ecore:EReference" name="baseQuery" eType="#//Operation"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isBaseSupplied" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CategoryRelationship" eSuperTypes="#//SmmRelationship"/>
<eClassifiers xsi:type="ecore:EClass" name="CountingMeasurement" eSuperTypes="#//DirectMeasurement"/>
<eClassifiers xsi:type="ecore:EClass" name="DirectMeasurement" eSuperTypes="#//DimensionalMeasurement"/>
<eClassifiers xsi:type="ecore:EClass" name="CountingMeasure" eSuperTypes="#//DirectMeasure"/>
<eClassifiers xsi:type="ecore:EClass" name="DirectMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EReference" name="operation" eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MeasureLibrary" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="measureElements" ordered="false"
upperBound="-1" eType="#//AbstractMeasureElement" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="categoryRelationships"
ordered="false" upperBound="-1" eType="#//CategoryRelationship" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="MeasurementScale">
<eLiterals name="ordinal"/>
<eLiterals name="nominal" value="1"/>
<eLiterals name="ratio" value="2"/>
<eLiterals name="interval" value="3"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedMeasure" eSuperTypes="#//DimensionalMeasure"/>
<eClassifiers xsi:type="ecore:EClass" name="NamedMeasurement" eSuperTypes="#//DimensionalMeasurement"/>
<eClassifiers xsi:type="ecore:EClass" name="OCLOperation" eSuperTypes="#//AbstractMeasureElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="body" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="context" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Observation" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="observer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="tool" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="whenObserved" eType="#//TimeStamp"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="scopes" ordered="false"
upperBound="-1" eType="#//ObservationScope" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="observedMeasures" ordered="false"
upperBound="-1" eType="#//ObservedMeasure" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="arguments" ordered="false"
upperBound="-1" eType="#//Argument" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="requestedMeasures" ordered="false"
upperBound="-1" eType="#//AbstractMeasureElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="TimeStamp" instanceClassName="java.sql.Timestamp"/>
<eClassifiers xsi:type="ecore:EClass" name="ObservationScope" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="scopeUri" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RatioMeasure" eSuperTypes="#//BinaryMeasure"/>
<eClassifiers xsi:type="ecore:EClass" name="RatioMeasurement" eSuperTypes="#//BinaryMeasurement"/>
<eClassifiers xsi:type="ecore:EClass" name="SmmModel" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="libraries" ordered="false"
upperBound="-1" eType="#//MeasureLibrary" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="observations" ordered="false"
upperBound="-1" eType="#//Observation" containment="true"/>
</eClassifiers>
</ecore:EPackage>