<?xml version="1.0" encoding="ASCII"?> | |
<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" xmi:id="EssentialOCL" | |
name="EssentialOCL" nsURI="http://schema.omg.org/spec/QVT/1.1/essentialocl.xml" | |
nsPrefix="essentialocl"> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.AnyType" name="AnyType" | |
eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Type"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.BagType" name="BagType" | |
eSuperTypes="#EssentialOCL.CollectionType"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.BooleanLiteralExp" name="BooleanLiteralExp" | |
eSuperTypes="#EssentialOCL.PrimitiveLiteralExp"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EssentialOCL.BooleanLiteralExp.booleanSymbol" | |
name="booleanSymbol" eType="ecore:EDataType ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#PrimitiveTypes.Boolean"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.CallExp" name="CallExp" | |
abstract="true" eSuperTypes="#EssentialOCL.OclExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.CallExp.source" | |
name="source" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="appliedElement"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.CollectionItem" name="CollectionItem" | |
eSuperTypes="#EssentialOCL.CollectionLiteralPart"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.CollectionItem.item" | |
name="item" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EEnum" xmi:id="EssentialOCL.CollectionKind" name="CollectionKind"> | |
<eLiterals xmi:id="EssentialOCL.CollectionKind.Set" name="Set"/> | |
<eLiterals xmi:id="EssentialOCL.CollectionKind.OrderedSet" name="OrderedSet" value="1"/> | |
<eLiterals xmi:id="EssentialOCL.CollectionKind.Bag" name="Bag" value="2"/> | |
<eLiterals xmi:id="EssentialOCL.CollectionKind.Sequence" name="Sequence" value="3"/> | |
<eLiterals xmi:id="EssentialOCL.CollectionKind.Collection" name="Collection" value="4"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.CollectionLiteralExp" | |
name="CollectionLiteralExp" eSuperTypes="#EssentialOCL.LiteralExp"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EssentialOCL.CollectionLiteralExp.kind" | |
name="kind" eType="#EssentialOCL.CollectionKind"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.CollectionLiteralExp.part" | |
name="part" ordered="false" upperBound="-1" eType="#EssentialOCL.CollectionLiteralPart" | |
containment="true" eOpposite="#EssentialOCL.CollectionLiteralPart.collectionLiteralExp"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.CollectionLiteralPart" | |
name="CollectionLiteralPart" abstract="true" eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.TypedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.CollectionLiteralPart.collectionLiteralExp" | |
name="collectionLiteralExp" lowerBound="1" eType="#EssentialOCL.CollectionLiteralExp" | |
transient="true" eOpposite="#EssentialOCL.CollectionLiteralExp.part"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.CollectionRange" name="CollectionRange" | |
eSuperTypes="#EssentialOCL.CollectionLiteralPart"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.CollectionRange.first" | |
name="first" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="firstOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.CollectionRange.last" | |
name="last" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="lastOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.CollectionType" name="CollectionType" | |
eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.DataType"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.CollectionType.elementType" | |
name="elementType" lowerBound="1" eType="ecore:EClass ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Type"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.EnumLiteralExp" name="EnumLiteralExp" | |
eSuperTypes="#EssentialOCL.LiteralExp"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.EnumLiteralExp.referredEnumLiteral" | |
name="referredEnumLiteral" eType="ecore:EClass ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.EnumerationLiteral"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="literalExp"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.ExpressionInOcl" name="ExpressionInOcl" | |
eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.TypedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.ExpressionInOcl.bodyExpression" | |
name="bodyExpression" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="topExpression"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.ExpressionInOcl.contextVariable" | |
name="contextVariable" eType="#EssentialOCL.Variable" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="selfOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" name="generatedType" ordered="false" | |
upperBound="-1" eType="ecore:EClass ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Type" | |
containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="owningExpression"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.ExpressionInOcl.parameterVariable" | |
name="parameterVariable" ordered="false" upperBound="-1" eType="#EssentialOCL.Variable" | |
containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="varOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.ExpressionInOcl.resultVariable" | |
name="resultVariable" eType="#EssentialOCL.Variable" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="resultOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.FeatureCallExp" name="FeatureCallExp" | |
abstract="true" eSuperTypes="#EssentialOCL.CallExp"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.IfExp" name="IfExp" eSuperTypes="#EssentialOCL.OclExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.IfExp.condition" | |
name="condition" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="ifOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.IfExp.elseExpression" | |
name="elseExpression" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="elseOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.IfExp.thenExpression" | |
name="thenExpression" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="thenOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.IntegerLiteralExp" name="IntegerLiteralExp" | |
eSuperTypes="#EssentialOCL.NumericLiteralExp"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EssentialOCL.IntegerLiteralExp.integerSymbol" | |
name="integerSymbol" eType="ecore:EDataType ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#PrimitiveTypes.Integer"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.InvalidLiteralExp" name="InvalidLiteralExp" | |
eSuperTypes="#EssentialOCL.LiteralExp"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.InvalidType" name="InvalidType" | |
eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Type"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.IterateExp" name="IterateExp" | |
eSuperTypes="#EssentialOCL.LoopExp"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.IterateExp.result" | |
name="result" eType="#EssentialOCL.Variable" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="baseExp"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.IteratorExp" name="IteratorExp" | |
eSuperTypes="#EssentialOCL.LoopExp"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.LetExp" name="LetExp" | |
eSuperTypes="#EssentialOCL.OclExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.LetExp.in" | |
name="in" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.LetExp.variable" | |
name="variable" lowerBound="1" eType="#EssentialOCL.Variable" containment="true" | |
eOpposite="#EssentialOCL.Variable.letExp"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.LiteralExp" name="LiteralExp" | |
abstract="true" eSuperTypes="#EssentialOCL.OclExpression"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.LoopExp" name="LoopExp" | |
abstract="true" eSuperTypes="#EssentialOCL.CallExp #EssentialOCL.OclExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.LoopExp.body" | |
name="body" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="loopBodyOwner"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.LoopExp.iterator" | |
name="iterator" upperBound="-1" eType="#EssentialOCL.Variable" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.NavigationCallExp" name="NavigationCallExp" | |
eSuperTypes="#EssentialOCL.FeatureCallExp"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.NullLiteralExp" name="NullLiteralExp" | |
eSuperTypes="#EssentialOCL.LiteralExp"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.NumericLiteralExp" name="NumericLiteralExp" | |
abstract="true" eSuperTypes="#EssentialOCL.PrimitiveLiteralExp"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.OclExpression" name="OclExpression" | |
abstract="true" eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.TypedElement"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.OperationCallExp" name="OperationCallExp" | |
eSuperTypes="#EssentialOCL.FeatureCallExp"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.OperationCallExp.argument" | |
name="argument" upperBound="-1" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="parentCall"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.OperationCallExp.referredOperation" | |
name="referredOperation" eType="ecore:EClass ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Operation"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="referringExp"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.OrderedSetType" name="OrderedSetType" | |
eSuperTypes="#EssentialOCL.CollectionType"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.PrimitiveLiteralExp" | |
name="PrimitiveLiteralExp" abstract="true" eSuperTypes="#EssentialOCL.LiteralExp"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.PropertyCallExp" name="PropertyCallExp" | |
eSuperTypes="#EssentialOCL.NavigationCallExp"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.PropertyCallExp.referredProperty" | |
name="referredProperty" eType="ecore:EClass ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Property"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="referringExp"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.RealLiteralExp" name="RealLiteralExp" | |
eSuperTypes="#EssentialOCL.NumericLiteralExp"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EssentialOCL.RealLiteralExp.realSymbol" | |
name="realSymbol" eType="ecore:EDataType ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#PrimitiveTypes.Real"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.SequenceType" name="SequenceType" | |
eSuperTypes="#EssentialOCL.CollectionType"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.SetType" name="SetType" | |
eSuperTypes="#EssentialOCL.CollectionType"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.StringLiteralExp" name="StringLiteralExp" | |
eSuperTypes="#EssentialOCL.PrimitiveLiteralExp"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EssentialOCL.StringLiteralExp.stringSymbol" | |
name="stringSymbol" eType="ecore:EDataType ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#PrimitiveTypes.String"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" name="TemplateParameterType" eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Type"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" name="specification" eType="ecore:EDataType ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#PrimitiveTypes.String"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.TupleLiteralExp" name="TupleLiteralExp" | |
eSuperTypes="#EssentialOCL.LiteralExp"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.TupleLiteralExp.part" | |
name="part" ordered="false" upperBound="-1" eType="#EssentialOCL.TupleLiteralPart" | |
containment="true" eOpposite="#EssentialOCL.TupleLiteralPart.tupleLiteralExp"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.TupleLiteralPart" name="TupleLiteralPart" | |
eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.TypedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.TupleLiteralPart.attribute" | |
name="attribute" eType="ecore:EClass ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Property"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.TupleLiteralPart.tupleLiteralExp" | |
name="tupleLiteralExp" eType="#EssentialOCL.TupleLiteralExp" transient="true" | |
eOpposite="#EssentialOCL.TupleLiteralExp.part"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.TupleLiteralPart.value" | |
name="value" lowerBound="1" eType="#EssentialOCL.OclExpression" containment="true"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.TupleType" name="TupleType" | |
eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Class ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.DataType"/> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.TypeExp" name="TypeExp" | |
eSuperTypes="#EssentialOCL.OclExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.TypeExp.referredType" | |
name="referredType" eType="ecore:EClass ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Type"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.UnlimitedNaturalExp" | |
name="UnlimitedNaturalExp" eSuperTypes="#EssentialOCL.NumericLiteralExp"> | |
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="EssentialOCL.UnlimitedNaturalExp.symbol" | |
name="symbol" eType="ecore:EDataType ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#PrimitiveTypes.UnlimitedNatural"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.Variable" name="Variable" | |
eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.TypedElement"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.Variable.initExpression" | |
name="initExpression" eType="#EssentialOCL.OclExpression" containment="true"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="initializedElement"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.Variable.letExp" | |
name="letExp" eType="#EssentialOCL.LetExp" transient="true" eOpposite="#EssentialOCL.LetExp.variable"/> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.Variable.representedParameter" | |
name="representedParameter" eType="ecore:EClass ../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Parameter"/> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.VariableExp" name="VariableExp" | |
eSuperTypes="#EssentialOCL.OclExpression"> | |
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="EssentialOCL.VariableExp.referredVariable" | |
name="referredVariable" eType="#EssentialOCL.Variable"> | |
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> | |
<details key="body" value="referringExp"/> | |
</eAnnotations> | |
</eStructuralFeatures> | |
</eClassifiers> | |
<eClassifiers xsi:type="ecore:EClass" xmi:id="EssentialOCL.VoidType" name="VoidType" | |
eSuperTypes="../../org.eclipse.qvt.declarative.emof.emof/model/EMOF.ecore#EMOF.Type"/> | |
</ecore:EPackage> |