| <?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="QVTOperational" |
| nsURI="http://www.eclipse.org/qvt/1.0/QVTOperational" nsPrefix="eqvto"> |
| <eClassifiers xsi:type="ecore:EClass" name="Constructor" eSuperTypes="#//ImperativeOperation"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ConstructorBody" eSuperTypes="#//OperationBody"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ContextualProperty" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="context" lowerBound="1" |
| eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="initExpression" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="ownerProperty"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="overridden" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="overriding"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="DirectionKind"> |
| <eLiterals name="in"/> |
| <eLiterals name="inout" value="1"/> |
| <eLiterals name="out" value="2"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="EntryOperation" eSuperTypes="#//ImperativeOperation"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="wellFormedName checkParameters"/> |
| </eAnnotations> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Helper" eSuperTypes="#//ImperativeOperation"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isQuery" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" |
| unsettable="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ImperativeCallExp" eSuperTypes="../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OperationCallExp ../../org.eclipse.m2m.qvt.oml.ecore.imperativeocl/model/ImperativeOCL.ecore#//ImperativeExpression"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="checkSource"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isVirtual" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" |
| defaultValueLiteral="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ImperativeOperation" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EOperation"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="body" eType="#//OperationBody" |
| containment="true" eOpposite="#//OperationBody/operation"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="context" eType="#//VarParameter" |
| containment="true" eOpposite="#//VarParameter/ctxOwner"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBlackbox" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" |
| unsettable="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="overridden" eType="#//ImperativeOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="overriding"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="result" upperBound="-1" |
| eType="#//VarParameter" containment="true" eOpposite="#//VarParameter/resOwner"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EEnum" name="ImportKind"> |
| <eLiterals name="extension"/> |
| <eLiterals name="access" value="1"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Library" eSuperTypes="#//Module"/> |
| <eClassifiers xsi:type="ecore:EClass" name="MappingBody" eSuperTypes="#//OperationBody"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="endSection" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="endOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="initSection" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="initOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MappingCallExp" eSuperTypes="#//ImperativeCallExp"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isStrict" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" |
| unsettable="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MappingOperation" eSuperTypes="#//ImperativeOperation"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="disjunct" upperBound="-1" |
| eType="#//MappingOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="disjuncter"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="inherited" upperBound="-1" |
| eType="#//MappingOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="inheriting"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="merged" upperBound="-1" |
| eType="#//MappingOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="merging"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="refinedRelation" eType="ecore:EClass ../../org.eclipse.qvt.declarative.ecore.qvtrelation/model/QVTRelation.ecore#//Relation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="refiningOperation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="when" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="whenOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="where" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="whereOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="MappingParameter" eSuperTypes="#//VarParameter"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="extent" eType="#//ModelParameter"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="referredDomain" eType="ecore:EClass ../../org.eclipse.qvt.declarative.ecore.qvtrelation/model/QVTRelation.ecore#//RelationDomain"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="referringParameter"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ModelParameter" eSuperTypes="#//VarParameter"/> |
| <eClassifiers xsi:type="ecore:EClass" name="ModelType" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="additionalCondition" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="condOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="conformanceKind" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EString" |
| defaultValueLiteral="effective"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="metamodel" lowerBound="1" |
| upperBound="-1" eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="Module" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EPackage"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="WellFormedNsURI WellFormedNsPrefix UniqueNsURIs UniqueOperationSignatures UniqueClassifierNames"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="configProperty" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="entry" eType="#//EntryOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="entryContext"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isBlackbox" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" |
| unsettable="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="moduleImport" upperBound="-1" |
| eType="#//ModuleImport" containment="true" eOpposite="#//ModuleImport/module"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="ownedTag" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EAnnotation" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="owner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="ownedVariable" ordered="false" |
| upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="variableOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="usedModelType" upperBound="-1" |
| eType="#//ModelType"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ModuleImport" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="binding" upperBound="-1" |
| eType="#//ModelType"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="importedModule" lowerBound="1" |
| eType="#//Module"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="importingElement"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//ImportKind"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="module" eType="#//Module" |
| transient="true" resolveProxies="false" eOpposite="#//Module/moduleImport"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ObjectExp" eSuperTypes="../../org.eclipse.m2m.qvt.oml.ecore.imperativeocl/model/ImperativeOCL.ecore#//InstantiationExp"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="wellFormedReferredObject"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="referredObject" lowerBound="1" |
| eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="objectExpression"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="body" lowerBound="1" eType="#//ConstructorBody" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="OperationBody" eSuperTypes="../../org.eclipse.emf.ecore/model/Ecore.ecore#//EModelElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="content" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="contentOwner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="operation" eType="#//ImperativeOperation" |
| transient="true" eOpposite="#//ImperativeOperation/body"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="variable" ordered="false" |
| upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="opBody"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="OperationalTransformation" eSuperTypes="#//Module"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="hasModelParameters hasEntryOperation hasSuperClass"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="intermediateClass" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EClass"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="transfClient"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="intermediateProperty" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EStructuralFeature"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="tranfClient"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="modelParameter" upperBound="-1" |
| eType="#//ModelParameter" containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="module"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="refined" eType="ecore:EClass ../../org.eclipse.qvt.declarative.ecore.qvtrelation/model/QVTRelation.ecore#//RelationalTransformation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="refinement"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="relation" upperBound="-1" |
| eType="ecore:EClass ../../org.eclipse.qvt.declarative.ecore.qvtrelation/model/QVTRelation.ecore#//Relation" |
| containment="true"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="owner"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ResolveExp" eSuperTypes="../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/CallExp ../../org.eclipse.m2m.qvt.oml.ecore.imperativeocl/model/ImperativeOCL.ecore#//ImperativeExpression"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="wellFormedCondition"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="condition" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/OCLExpression" |
| containment="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isDeferred" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" |
| unsettable="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isInverse" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" |
| unsettable="true"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="one" eType="ecore:EDataType ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EBoolean" |
| unsettable="true"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="target" eType="ecore:EClass ../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable" |
| containment="true"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="ResolveInExp" eSuperTypes="#//ResolveExp"> |
| <eAnnotations source="http://www.eclipse.org/emf/2002/Ecore"> |
| <details key="constraints" value="wellFormedSource"/> |
| </eAnnotations> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="inMapping" eType="#//MappingOperation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="resolveExpression"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" name="VarParameter" eSuperTypes="../../org.eclipse.ocl.ecore/model/OCLEcore.ecore#//ecore/Variable ../../org.eclipse.emf.ecore/model/Ecore.ecore#//EParameter"> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="ctxOwner" eType="#//ImperativeOperation" |
| transient="true" resolveProxies="false" eOpposite="#//ImperativeOperation/context"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//DirectionKind"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" name="resOwner" eType="#//ImperativeOperation" |
| transient="true" resolveProxies="false" eOpposite="#//ImperativeOperation/result"/> |
| </eClassifiers> |
| </ecore:EPackage> |