blob: ce2242b40d83a1d9ad886f627868674593290ec1 [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="miniocl" nsURI="http://www.eclipse.org/qvtd/doc/MiniOCL/1.0"
nsPrefix="mocl">
<eAnnotations source="http://www.eclipse.org/emf/2002/Ecore">
<details key="invocationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="settingDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
<details key="validationDelegates" value="http://www.eclipse.org/emf/2002/Ecore/OCL/Pivot"/>
</eAnnotations>
<eClassifiers xsi:type="ecore:EClass" name="BooleanLiteralExp" eSuperTypes="#//PrimitiveLiteralExp">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="booleanSymbol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CallExp" abstract="true" eSuperTypes="#//OCLExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedSource" lowerBound="1"
eType="#//OCLExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//Namespace">
<eStructuralFeatures xsi:type="ecore:EReference" name="superClasses" upperBound="-1"
eType="#//Class"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedOperations" upperBound="-1"
eType="#//Operation" containment="true" eOpposite="#//Operation/owningClass"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedProperties" upperBound="-1"
eType="#//Property" containment="true" eOpposite="#//Property/owningClass"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralExp" eSuperTypes="#//LiteralExp">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedParts" upperBound="-1"
eType="#//CollectionLiteralPart" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//CollectionKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionItem" eSuperTypes="#//CollectionLiteralPart">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedItem" lowerBound="1"
eType="#//OCLExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="CollectionLiteralPart" abstract="true"
eSuperTypes="#//TypedElement"/>
<eClassifiers xsi:type="ecore:EClass" name="CollectionRange" eSuperTypes="#//CollectionLiteralPart">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedFirst" lowerBound="1"
eType="#//OCLExpression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedLast" lowerBound="1"
eType="#//OCLExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Constraint" eSuperTypes="#//NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedSpecification" lowerBound="1"
eType="#//ExpressionInOCL" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="constrainedElement" lowerBound="1"
eType="#//Class"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Element" abstract="true" eSuperTypes="#//Visitable"/>
<eClassifiers xsi:type="ecore:EClass" name="ExpressionInOCL" eSuperTypes="#//OpaqueExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedSelfVar" lowerBound="1"
eType="#//Variable" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedBody" lowerBound="1"
eType="#//OCLExpression" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Feature" eSuperTypes="#//NamedElement #//TypedElement"/>
<eClassifiers xsi:type="ecore:EClass" name="Import" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="uri" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="alias" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IntegerLiteralExp" eSuperTypes="#//PrimitiveLiteralExp">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="integerSymbol" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IteratorExp" eSuperTypes="#//LoopExp">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="iterator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="IterateExp" eSuperTypes="#//LoopExp">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedResult" lowerBound="1"
eType="#//Variable" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LetExp" eSuperTypes="#//OCLExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedIn" lowerBound="1"
eType="#//OCLExpression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedVariable" lowerBound="1"
eType="#//Variable" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="LiteralExp" abstract="true" eSuperTypes="#//OCLExpression"/>
<eClassifiers xsi:type="ecore:EClass" name="LoopExp" abstract="true" eSuperTypes="#//CallExp">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedIterator" lowerBound="1"
eType="#//Variable" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedBody" lowerBound="1"
eType="#//OCLExpression"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="NamedElement" abstract="true" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Namespace" abstract="true" eSuperTypes="#//NamedElement"/>
<eClassifiers xsi:type="ecore:EClass" name="NullLiteralExp" eSuperTypes="#//LiteralExp"/>
<eClassifiers xsi:type="ecore:EClass" name="OCLExpression" abstract="true" eSuperTypes="#//TypedElement"/>
<eClassifiers xsi:type="ecore:EClass" name="OpaqueExpression" eSuperTypes="#//TypedElement">
<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="OperationCallExp" eSuperTypes="#//CallExp">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedArguments" upperBound="-1"
eType="#//OCLExpression" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="referredOperation" lowerBound="1"
eType="#//Operation"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Operation" eSuperTypes="#//Feature">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedParameters" upperBound="-1"
eType="#//Parameter" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedBodyExpression" lowerBound="1"
eType="#//ExpressionInOCL" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="owningClass" eType="#//Class"
eOpposite="#//Class/ownedOperations"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Package" eSuperTypes="#//Namespace">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedClasses" upperBound="-1"
eType="#//Class" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedPackages" upperBound="-1"
eType="#//Package" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter" eSuperTypes="#//Variable"/>
<eClassifiers xsi:type="ecore:EClass" name="PrimitiveLiteralExp" abstract="true"
eSuperTypes="#//LiteralExp"/>
<eClassifiers xsi:type="ecore:EClass" name="Property" eSuperTypes="#//Feature">
<eStructuralFeatures xsi:type="ecore:EReference" name="owningClass" eType="#//Class"
eOpposite="#//Class/ownedProperties"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="lowerBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="upperBound" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EInt"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="PropertyCallExp" eSuperTypes="#//CallExp">
<eStructuralFeatures xsi:type="ecore:EReference" name="referredProperty" lowerBound="1"
eType="#//Property"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Root" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedConstraints" upperBound="-1"
eType="#//Constraint" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedImports" upperBound="-1"
eType="#//Import" containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedPackages" upperBound="-1"
eType="#//Package" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Variable" eSuperTypes="#//NamedElement #//TypedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedInitExp" eType="#//OCLExpression"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="VariableExp" eSuperTypes="#//OCLExpression">
<eStructuralFeatures xsi:type="ecore:EReference" name="referredVariable" lowerBound="1"
eType="#//Variable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Visitable" instanceClassName="org.eclipse.qvtd.doc.miniocl.util.Visitable"
abstract="true" interface="true"/>
<eClassifiers xsi:type="ecore:EClass" name="TypedElement" abstract="true" eSuperTypes="#//Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="type" lowerBound="1" eType="#//Class"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="CollectionKind">
<eLiterals name="Collection"/>
</eClassifiers>
</ecore:EPackage>