blob: 4d61d8cb5b92bf01c98e87c0bbc2aff26ca85847 [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.eclipse.org/MoDisco/smm" nsPrefix="smm">
<eClassifiers xsi:type="ecore:EClass" name="SmmElement" abstract="true">
<eOperations name="getInbound" upperBound="-1" eType="#//SmmRelationship"/>
<eOperations name="getOutbound" upperBound="-1" eType="#//SmmRelationship"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="model" eType="#//SmmModel"
eOpposite="#//SmmModel/modelElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="attribute" upperBound="-1"
eType="#//Attribute" containment="true" eOpposite="#//Attribute/owner"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="annotation" upperBound="-1"
eType="#//Annotation" containment="true" eOpposite="#//Annotation/owner"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SmmModel" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="modelElement" upperBound="-1"
eType="#//SmmElement" containment="true" eOpposite="#//SmmElement/model"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SmmRelationship" abstract="true" interface="true"
eSuperTypes="#//SmmElement">
<eOperations name="getTo" lowerBound="1" eType="#//SmmElement"/>
<eOperations name="getFrom" lowerBound="1" eType="#//SmmElement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CategoryRelationship" eSuperTypes="#//SmmRelationship">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//Category"
eOpposite="#//Category/outCategory"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//Category"
eOpposite="#//Category/inCategory"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Category" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="category" upperBound="-1"
eType="#//Category" eOpposite="#//Category/categoryElement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="categoryElement" upperBound="-1"
eType="#//Category" eOpposite="#//Category/category"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outCategory" upperBound="-1"
eType="#//CategoryRelationship" eOpposite="#//CategoryRelationship/from"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inCategory" upperBound="-1"
eType="#//CategoryRelationship" eOpposite="#//CategoryRelationship/to"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="categoryMeasure" upperBound="-1"
eType="#//Measure" eOpposite="#//Measure/category"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Measure" abstract="true" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="category" upperBound="-1"
eType="#//Category" eOpposite="#//Category/categoryMeasure"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="library" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="equivalentFrom" upperBound="-1"
eType="#//Measure" eOpposite="#//Measure/equivalentTo"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="equivalentTo" upperBound="-1"
eType="#//Measure" eOpposite="#//Measure/equivalentFrom"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="refinement" upperBound="-1"
eType="#//Measure"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="measurement" upperBound="-1"
eType="#//Measurement" eOpposite="#//Measurement/measure"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outMeasure" upperBound="-1"
eType="#//MeasureRelationship" eOpposite="#//MeasureRelationship/from"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inMeasure" upperBound="-1"
eType="#//MeasureRelationship" eOpposite="#//MeasureRelationship/to"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="trait" lowerBound="1" eType="#//Characteristic"
eOpposite="#//Characteristic/characteristics"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="scope" lowerBound="1" eType="#//Scope"
eOpposite="#//Scope/measures"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Measurement" abstract="true" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="measure" lowerBound="1"
eType="#//Measure" eOpposite="#//Measure/measurement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="observation" lowerBound="1"
eType="#//Observation"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="error" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="outMeasurement" upperBound="-1"
eType="#//MeasurementRelationship" eOpposite="#//MeasurementRelationship/from"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="inMeasurement" upperBound="-1"
eType="#//MeasurementRelationship" eOpposite="#//MeasurementRelationship/to"/>
</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="#//Date"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EDataType" name="Date" instanceClassName="java.util.Date"/>
<eClassifiers xsi:type="ecore:EDataType" name="Timestamp" instanceClassName="java.sql.Timestamp"/>
<eClassifiers xsi:type="ecore:EClass" name="MeasureRelationship" eSuperTypes="#//SmmRelationship">
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//Measure"
eOpposite="#//Measure/outMeasure"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//Measure"
eOpposite="#//Measure/inMeasure"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DimensionalMeasure" eSuperTypes="#//Measure">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Ranking" eSuperTypes="#//Measure">
<eStructuralFeatures xsi:type="ecore:EReference" name="interval" lowerBound="1"
upperBound="-1" eType="#//RankingInterval" containment="true" eOpposite="#//RankingInterval/rank"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="RankingInterval" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="rank" eType="#//Ranking"
eOpposite="#//Ranking/interval"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumEndpoint" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="maximumOpen" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumEndpoint" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EDouble"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="minimumOpen" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<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="Characteristic" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="parent" eType="#//Characteristic"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="characteristics" upperBound="-1"
eType="#//Measure" eOpposite="#//Measure/trait"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Scope" eSuperTypes="#//SmmElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="class" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="enumerated" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="measures" upperBound="-1"
eType="#//Measure" eOpposite="#//Measure/scope"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="recognizer" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="BinaryMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="functor" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseMeasure1" lowerBound="1"
eType="#//DimensionalMeasure"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseMeasure2" lowerBound="1"
eType="#//DimensionalMeasure"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DirectMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="operation" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectiveMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EReference" name="baseMeasure" lowerBound="1"
eType="#//DimensionalMeasure"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="accumulator" lowerBound="1"
eType="#//Accumulator"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedMeasure" eSuperTypes="#//DimensionalMeasure"/>
<eClassifiers xsi:type="ecore:EClass" name="RescaledMeasure" eSuperTypes="#//DimensionalMeasure">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="formula" 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="Counting" eSuperTypes="#//DirectMeasure"/>
<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"/>
</eClassifiers>
<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#//EDouble"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Grade" eSuperTypes="#//Measurement">
<eStructuralFeatures xsi:type="ecore:EReference" name="baseMeasurement" eType="#//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:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="MeasurementRelationship" abstract="true"
eSuperTypes="#//SmmRelationship">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="from" lowerBound="1" eType="#//Measurement"
eOpposite="#//Measurement/outMeasurement"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="to" lowerBound="1" eType="#//Measurement"
eOpposite="#//Measurement/inMeasurement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DirectMeasurement" eSuperTypes="#//DimensionalMeasurement"/>
<eClassifiers xsi:type="ecore:EClass" name="Count" eSuperTypes="#//DirectMeasurement"/>
<eClassifiers xsi:type="ecore:EClass" name="CollectiveMeasurement" eSuperTypes="#//DimensionalMeasurement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="accumulator" lowerBound="1"
eType="#//Accumulator"/>
<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="baseMeasurement" upperBound="-1"
eType="#//DimensionalMeasurement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="AggregatedMeasurement" eSuperTypes="#//DimensionalMeasurement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isBaseSuppled" lowerBound="1"
eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="baseMeasurement" upperBound="-1"
eType="#//DimensionalMeasurement"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedMeasurement" eSuperTypes="#//DimensionalMeasurement"/>
<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"/>
</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"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//SmmElement"
eOpposite="#//SmmElement/attribute"/>
</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"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" eType="#//SmmElement"
eOpposite="#//SmmElement/annotation"/>
</eClassifiers>
</ecore:EPackage>