| <?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="QVTBase" name="QVTBase" nsURI="http://www.omg.org/spec/QVT/20151201/QVTBase" |
| nsPrefix="qvtbase"> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Domain" name="Domain" abstract="true" |
| eSuperTypes="EMOF.ecore#EMOF.NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="QVTBase.Domain.isCheckable" |
| name="isCheckable" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="QVTBase.Domain.isEnforceable" |
| name="isEnforceable" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Domain.rule" |
| name="rule" lowerBound="1" eType="#QVTBase.Rule" transient="true" resolveProxies="false" |
| eOpposite="#QVTBase.Rule.domain"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Domain.typedModel" |
| name="typedModel" eType="#QVTBase.TypedModel"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="domain"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Function" name="Function" |
| eSuperTypes="EMOF.ecore#EMOF.Operation"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Function.queryExpression" |
| name="queryExpression" eType="ecore:EClass EssentialOCL.ecore#EssentialOCL.OclExpression" |
| containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="function"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.FunctionParameter" name="FunctionParameter" |
| eSuperTypes="EssentialOCL.ecore#EssentialOCL.Variable EMOF.ecore#EMOF.Parameter"/> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Pattern" name="Pattern" eSuperTypes="EMOF.ecore#EMOF.Element"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Pattern.bindsTo" |
| name="bindsTo" ordered="false" upperBound="-1" eType="ecore:EClass EssentialOCL.ecore#EssentialOCL.Variable"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="pattern"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Pattern.predicate" |
| name="predicate" ordered="false" upperBound="-1" eType="#QVTBase.Predicate" |
| containment="true" resolveProxies="false" eOpposite="#QVTBase.Predicate.pattern"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Predicate" name="Predicate" |
| eSuperTypes="EMOF.ecore#EMOF.Element"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Predicate.conditionExpression" |
| name="conditionExpression" lowerBound="1" eType="ecore:EClass EssentialOCL.ecore#EssentialOCL.OclExpression" |
| containment="true" resolveProxies="false"> |
| <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" xmi:id="QVTBase.Predicate.pattern" |
| name="pattern" lowerBound="1" eType="#QVTBase.Pattern" transient="true" resolveProxies="false" |
| eOpposite="#QVTBase.Pattern.predicate"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Rule" name="Rule" abstract="true" |
| eSuperTypes="EMOF.ecore#EMOF.NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Rule.domain" |
| name="domain" upperBound="-1" eType="#QVTBase.Domain" containment="true" resolveProxies="false" |
| eOpposite="#QVTBase.Domain.rule"/> |
| <eStructuralFeatures xsi:type="ecore:EAttribute" name="isAbstract" lowerBound="1" |
| eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean" defaultValueLiteral="false"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Rule.overrides" |
| name="overrides" eType="#QVTBase.Rule"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="overridden"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Rule.transformation" |
| name="transformation" eType="#QVTBase.Transformation" transient="true" resolveProxies="false" |
| eOpposite="#QVTBase.Transformation.rule"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Transformation" name="Transformation" |
| eSuperTypes="EMOF.ecore#EMOF.Class EMOF.ecore#EMOF.Package"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Transformation.extends" |
| name="extends" eType="#QVTBase.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" xmi:id="QVTBase.Transformation.modelParameter" |
| name="modelParameter" ordered="false" upperBound="-1" eType="#QVTBase.TypedModel" |
| containment="true" resolveProxies="false" eOpposite="#QVTBase.TypedModel.transformation"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="transformation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Transformation.ownedTag" |
| name="ownedTag" ordered="false" upperBound="-1" eType="ecore:EClass EMOF.ecore#EMOF.Tag" |
| containment="true" resolveProxies="false"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="transformation"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Transformation.rule" |
| name="rule" ordered="false" upperBound="-1" eType="#QVTBase.Rule" containment="true" |
| resolveProxies="false" eOpposite="#QVTBase.Rule.transformation"/> |
| </eClassifiers> |
| <eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.TypedModel" name="TypedModel" |
| eSuperTypes="EMOF.ecore#EMOF.NamedElement"> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.TypedModel.dependsOn" |
| name="dependsOn" ordered="false" upperBound="-1" eType="#QVTBase.TypedModel"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="dependent"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.TypedModel.transformation" |
| name="transformation" lowerBound="1" eType="#QVTBase.Transformation" transient="true" |
| resolveProxies="false" eOpposite="#QVTBase.Transformation.modelParameter"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.TypedModel.usedPackage" |
| name="usedPackage" ordered="false" lowerBound="1" upperBound="-1" eType="ecore:EClass EMOF.ecore#EMOF.Package"> |
| <eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName"> |
| <details key="body" value="typedModel"/> |
| </eAnnotations> |
| </eStructuralFeatures> |
| </eClassifiers> |
| </ecore:EPackage> |