blob: 6f95aedf779f6342a8b895a04f091f58ae122b63 [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="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>