blob: 05d7612254a1b7cfe80095e5bfb339e298aa698e [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="QVTRelation" name="QVTRelation" nsURI="http://schema.omg.org/spec/QVT/20140401/QVTRelation"
nsPrefix="qvtrelation">
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTRelation.DomainPattern" name="DomainPattern"
eSuperTypes="QVTBase.ecore#QVTBase.Pattern">
<eStructuralFeatures xsi:type="ecore:EReference" name="relationDomain" lowerBound="1"
eType="#QVTRelation.RelationDomain" eOpposite="#QVTRelation.RelationDomain.pattern"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.DomainPattern.templateExpression"
name="templateExpression" eType="ecore:EClass QVTTemplate.ecore#QVTTemplate.TemplateExp"
containment="true" resolveProxies="false">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="domainPattern"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTRelation.Key" name="Key" eSuperTypes="EMOF.ecore#EMOF.Element">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.Key.identifies"
name="identifies" lowerBound="1" eType="ecore:EClass EMOF.ecore#EMOF.Class">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="key"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.Key.oppositePart"
name="oppositePart" ordered="false" upperBound="-1" eType="ecore:EClass EMOF.ecore#EMOF.Property">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="oppKey"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.Key.part"
name="part" ordered="false" upperBound="-1" eType="ecore:EClass EMOF.ecore#EMOF.Property">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="key"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.Key.transformation"
name="transformation" eType="#QVTRelation.RelationalTransformation" transient="true"
resolveProxies="false" eOpposite="#QVTRelation.RelationalTransformation.ownedKey"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTRelation.OppositePropertyCallExp"
name="OppositePropertyCallExp" eSuperTypes="EssentialOCL.ecore#EssentialOCL.PropertyCallExp"/>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTRelation.Relation" name="Relation"
eSuperTypes="QVTBase.ecore#QVTBase.Rule">
<eStructuralFeatures xsi:type="ecore:EAttribute" xmi:id="QVTRelation.Relation.isTopLevel"
name="isTopLevel" eType="ecore:EDataType PrimitiveTypes.ecore#PrimitiveTypes.Boolean"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.Relation.operationalImpl"
name="operationalImpl" ordered="false" upperBound="-1" eType="#QVTRelation.RelationImplementation"
containment="true" resolveProxies="false" eOpposite="#QVTRelation.RelationImplementation.relation"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.Relation.variable"
name="variable" ordered="false" upperBound="-1" eType="ecore:EClass EssentialOCL.ecore#EssentialOCL.Variable"
containment="true" resolveProxies="false">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="relation"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.Relation.when"
name="when" eType="ecore:EClass QVTBase.ecore#QVTBase.Pattern" containment="true"
resolveProxies="false">
<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" xmi:id="QVTRelation.Relation.where"
name="where" eType="ecore:EClass QVTBase.ecore#QVTBase.Pattern" containment="true"
resolveProxies="false">
<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" xmi:id="QVTRelation.RelationCallExp" name="RelationCallExp"
eSuperTypes="EssentialOCL.ecore#EssentialOCL.OclExpression">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationCallExp.argument"
name="argument" lowerBound="2" upperBound="-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="relationCallExp"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationCallExp.referredRelation"
name="referredRelation" lowerBound="1" eType="#QVTRelation.Relation">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="relationCallExp"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTRelation.RelationDomain" name="RelationDomain"
eSuperTypes="QVTBase.ecore#QVTBase.Domain">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationDomain.defaultAssignment"
name="defaultAssignment" ordered="false" upperBound="-1" eType="#QVTRelation.RelationDomainAssignment"
containment="true" resolveProxies="false" eOpposite="#//RelationDomainAssignment/owner"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationDomain.pattern"
name="pattern" eType="#QVTRelation.DomainPattern" containment="true" resolveProxies="false"
eOpposite="#//DomainPattern/relationDomain"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationDomain.rootVariable"
name="rootVariable" lowerBound="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="relationDomain"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTRelation.RelationDomainAssignment"
name="RelationDomainAssignment" eSuperTypes="EMOF.ecore#EMOF.Element">
<eStructuralFeatures xsi:type="ecore:EReference" name="owner" lowerBound="1" eType="#QVTRelation.RelationDomain"
eOpposite="#QVTRelation.RelationDomain.defaultAssignment"/>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationDomainAssignment.valueExp"
name="valueExp" 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="domainAssignment"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationDomainAssignment.variable"
name="variable" lowerBound="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="domainAssignment"/>
</eAnnotations>
</eStructuralFeatures>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTRelation.RelationImplementation"
name="RelationImplementation" eSuperTypes="EMOF.ecore#EMOF.Element">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationImplementation.impl"
name="impl" lowerBound="1" eType="ecore:EClass EMOF.ecore#EMOF.Operation">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="relationImplementation"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationImplementation.inDirectionOf"
name="inDirectionOf" lowerBound="1" eType="ecore:EClass QVTBase.ecore#QVTBase.TypedModel">
<eAnnotations source="http://schema.omg.org/spec/MOF/2.0/emof.xml#Property.oppositeRoleName">
<details key="body" value="relationImplementation"/>
</eAnnotations>
</eStructuralFeatures>
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationImplementation.relation"
name="relation" lowerBound="1" eType="#QVTRelation.Relation" transient="true"
resolveProxies="false" eOpposite="#QVTRelation.Relation.operationalImpl"/>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" xmi:id="QVTRelation.RelationalTransformation"
name="RelationalTransformation" eSuperTypes="QVTBase.ecore#QVTBase.Transformation">
<eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationalTransformation.ownedKey"
name="ownedKey" ordered="false" upperBound="-1" eType="#QVTRelation.Key" containment="true"
resolveProxies="false" eOpposite="#QVTRelation.Key.transformation"/>
</eClassifiers>
</ecore:EPackage>