blob: 8ab683b0493cad899cf4769c4aa1fe633baf5314 [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="qvtbase" nsURI="http://www.eclipse.org/qvt/2015/QVTbase" nsPrefix="qvtb">
<eClassifiers xsi:type="ecore:EClass" name="BaseModel" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Model"/>
<eClassifiers xsi:type="ecore:EClass" name="CompoundTargetElement" eSuperTypes="#//TargetElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTargetElements" lowerBound="2"
upperBound="-1" eType="#//SimpleTargetElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Domain" abstract="true" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-NamedElement ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-ReferringElement">
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isCheckable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
unsettable="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="A checkable domain may be selected as the target of a transformation in check mode. An enforceable domain is always checkable. A not-checkable domain cannot be selected as the target of a transformation. See Bug 549776.See Bug 549776."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isEnforceable" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"
unsettable="true">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="An enforceable domain may be selected as the target of a transformation in check or enforce mode. An enforceable domain is always checkable. A not-checkable domain cannot be selected as the target of a transformation. See Bug 549776."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="rule" lowerBound="1" eType="#//Rule"
transient="true" eOpposite="#//Rule/domain"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="typedModel" eType="#//TypedModel"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Operation">
<eStructuralFeatures xsi:type="ecore:EReference" name="queryExpression" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression"
volatile="true" transient="true" derived="true" resolveProxies="false"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FunctionBody" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-ExpressionInOCL">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="FunctionBody refines ExpressionInOCL to avoid the inconvenience of a timely setType() by deriving the type from the bodyExpression. See Bug 481664."/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="FunctionParameter" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Parameter"/>
<eClassifiers xsi:type="ecore:EClass" name="Pattern" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="predicate" ordered="false"
upperBound="-1" eType="#//Predicate" containment="true" eOpposite="#//Predicate/pattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="bindsTo" ordered="false"
upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Variable"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Predicate" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="conditionExpression" lowerBound="1"
eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-OCLExpression"
containment="true">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="predicate"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="pattern" lowerBound="1"
eType="#//Pattern" transient="true" eOpposite="#//Pattern/predicate">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="predicate"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Rule" abstract="true" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="domain" upperBound="-1"
eType="#//Domain" containment="true" eOpposite="#//Domain/rule"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" eType="ecore:EDataType ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Boolean"
defaultValueLiteral="false"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="overridden" ordered="false"
eType="#//Rule" eOpposite="#//Rule/overrides">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="overriden"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="overrides" upperBound="-1"
eType="#//Rule" eOpposite="#//Rule/overridden"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="transformation" eType="#//Transformation"
transient="true" resolveProxies="false" eOpposite="#//Transformation/rule"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="SimpleTargetElement" eSuperTypes="#//TargetElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="typedModel" ordered="false"
lowerBound="1" eType="#//TypedModel"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="iterates" ordered="false"
upperBound="-1" eType="#//TypedModel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The set of typed models whose elements are also part of this TypedModel. An input TypedModel that iterates an output TypedModel specfies a fixed point iteration."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" lowerBound="1" eType="#//TargetElementKind"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Target" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="owningTransformation" lowerBound="1"
eType="#//Transformation" transient="true" eOpposite="#//Transformation/ownedTargets"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTargetElements" ordered="false"
lowerBound="2" upperBound="-1" eType="#//TargetElement" containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TargetElement" abstract="true" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Element"/>
<eClassifiers xsi:type="ecore:EClass" name="Transformation" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Class">
<eOperations name="getFunction" lowerBound="1" eType="#//Function">
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eOperations name="getModelParameter" lowerBound="1" eType="#//TypedModel">
<eParameters name="name" lowerBound="1" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
</eOperations>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTag" ordered="false"
upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Annotation"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="modelParameter" upperBound="-1"
eType="#//TypedModel" containment="true" eOpposite="#//TypedModel/transformation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedTargets" ordered="false"
upperBound="-1" eType="#//Target" containment="true" eOpposite="#//Target/owningTransformation">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="dependent"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The set of typed models that need to be checked/enforced before this TypedModel can be checked/enforced."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="rule" ordered="false" upperBound="-1"
eType="#//Rule" containment="true" eOpposite="#//Rule/transformation"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="extends" eType="#//Transformation">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="extendedBy"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedContext" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Parameter"
containment="true"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="TypedModel" eSuperTypes="../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-NamedElement">
<eStructuralFeatures xsi:type="ecore:EReference" name="transformation" lowerBound="1"
eType="#//Transformation" transient="true" eOpposite="#//Transformation/modelParameter"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="usedPackage" ordered="false"
upperBound="-1" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Package"/>
<eStructuralFeatures xsi:type="ecore:EReference" name="dependsOn" ordered="false"
upperBound="-1" eType="#//TypedModel">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="dependent"/>
</eAnnotations>
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The set of typed models that need to be checked/enforced before this TypedModel can be checked/enforced."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="ownedContext" eType="ecore:EClass ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Parameter"
containment="true"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isPrimitive" lowerBound="1"
eType="ecore:EDataType ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Boolean"
defaultValueLiteral="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The TypedModel is for a primitive domain. It may be added automatically."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isThis" lowerBound="1"
eType="ecore:EDataType ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Boolean"
defaultValueLiteral="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The TypedModel is for the transformation instance trace. It may be added automatically."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" name="isTrace" lowerBound="1"
eType="ecore:EDataType ../../org.eclipse.ocl.pivot/model/Pivot.ecore#T-pivot-Boolean"
defaultValueLiteral="false">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The TypedModel is for the execution trace. It may be added automatically."/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" name="iterates" ordered="false"
upperBound="-1" eType="#//TypedModel">
<eAnnotations source="http://www.eclipse.org/emf/2002/GenModel">
<details key="documentation" value="The set of typed models whose elements are also part of this TypedModel. An input TypedModel that iterates an output TypedModel specfies a fixed point iteration."/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EEnum" name="TargetElementKind">
<eLiterals name="INPUT"/>
<eLiterals name="VIA"/>
<eLiterals name="OUTPUT"/>
</eClassifiers>
</ecore:EPackage>