blob: 5d8d8c9fc45309407c8a6b0de7091a9ab92a589a [file] [log] [blame]
<?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://schema.omg.org/spec/QVT/1.1/qvtbase.xml" nsPrefix="qvtbase">
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Domain" name="Domain" abstract="true">
<eSuperTypes href="EMOF.ecore#EMOF.NamedElement"/>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="QVTBase.Domain.isCheckable" name="isCheckable">
<eType xsi:type="ecore:EDataType" href="EMOF.ecore#PrimitiveTypes.Boolean"/>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="QVTBase.Domain.isEnforceable" name="isEnforceable">
<eType xsi:type="ecore:EDataType" href="EMOF.ecore#PrimitiveTypes.Boolean"/>
</eStructuralFeatures>
<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"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Function" name="Function">
<eSuperTypes href="EMOF.ecore#EMOF.Operation"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Function.queryExpression" name="queryExpression" containment="true" resolveProxies="false">
<eType xsi:type="ecore:EClass" href="EssentialOCL.ecore#EssentialOCL.OclExpression"/>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.FunctionParameter" name="FunctionParameter">
<eSuperTypes href="EssentialOCL.ecore#EssentialOCL.Variable"/>
<eSuperTypes href="EMOF.ecore#EMOF.Parameter"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTBase.Pattern" name="Pattern">
<eSuperTypes href="EMOF.ecore#EMOF.Element"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Pattern.bindsTo" name="bindsTo" ordered="false" upperBound="-1">
<eType xsi:type="ecore:EClass" href="EssentialOCL.ecore#EssentialOCL.Variable"/>
</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 href="EMOF.ecore#EMOF.Element"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Predicate.conditionExpression" name="conditionExpression" lowerBound="1" containment="true" resolveProxies="false">
<eType xsi:type="ecore:EClass" href="EssentialOCL.ecore#EssentialOCL.OclExpression"/>
</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 href="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: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="overriden"/>
</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 href="EMOF.ecore#EMOF.Class"/>
<eSuperTypes href="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" upperBound="-1" eType="QVTBase.TypedModel" containment="true" resolveProxies="false" eOpposite="QVTBase.TypedModel.transformation"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTBase.Transformation.ownedTag" name="ownedTag" ordered="false" upperBound="-1" containment="true" resolveProxies="false">
<eType xsi:type="ecore:EClass" href="EMOF.ecore#EMOF.Tag"/>
</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 href="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 xsi:type="ecore:EClass" href="EMOF.ecore#EMOF.Package"/>
</eStructuralFeatures>
</eClassifiers>
</ecore:EPackage>