| <?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://www.omg.org/spec/QVT/20151201/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" upperBound="-1" eType="#QVTRelation.DomainPattern" containment="true" |
| resolveProxies="false" eOpposite="#//DomainPattern/relationDomain"/> |
| <eStructuralFeatures xsi:type="ecore:EReference" xmi:id="QVTRelation.RelationDomain.rootVariable" |
| name="rootVariable" lowerBound="1" 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="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> |