blob: 02de19707ffe476652e5994c5bcfa21e013216e8 [file] [log] [blame]
<?xml version="1.0" encoding="ASCII"?>
<uml:Model xmi:version="20110701" xmlns:xmi="http://www.omg.org/spec/XMI/20110701" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:uml="http://www.omg.org/spec/UML/20131001" xmi:id="QVTRelation" name="QVTRelation" URI="http://schema.omg.org/spec/QVT/20140401/QVTRelation">
<packagedElement xsi:type="uml:Class" xmi:id="DomainPattern" name="DomainPattern">
<generalization xmi:id="G_DomainPattern_Pattern">
<general xsi:type="uml:Class" href="QVTBase.xmi#Pattern"/>
</generalization>
<ownedAttribute xmi:id="DomainPattern.relationDomain" name="relationDomain" type="RelationDomain" association="A_DomainPattern.relationDomain_RelationDomain.pattern"/>
<ownedAttribute xmi:id="DomainPattern.templateExpression" name="templateExpression" aggregation="composite" association="A_DomainPattern.templateExpression_domainPattern">
<type xsi:type="uml:Class" href="QVTTemplate.xmi#TemplateExp"/>
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedAttribute>
</packagedElement>
<packagedElement xsi:type="uml:Class" xmi:id="Key" name="Key">
<generalization xmi:id="G_Key_Element">
<general xsi:type="uml:Class" href="EMOF.xmi#Element"/>
</generalization>
<ownedAttribute xmi:id="Key.identifies" name="identifies" association="A_Key.identifies_key">
<type xsi:type="uml:Class" href="EMOF.xmi#Class"/>
</ownedAttribute>
<ownedAttribute xmi:id="Key.oppositePart" name="oppositePart" association="A_Key.oppositePart_oppKey">
<type xsi:type="uml:Class" href="EMOF.xmi#Property"/>
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="Key.part" name="part" association="A_Key.part_key">
<type xsi:type="uml:Class" href="EMOF.xmi#Property"/>
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="Key.transformation" name="transformation" type="RelationalTransformation" association="A_Key.transformation_RelationalTransformation.ownedKey">
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedAttribute>
</packagedElement>
<packagedElement xsi:type="uml:Class" xmi:id="OppositePropertyCallExp" name="OppositePropertyCallExp">
<generalization xmi:id="G_OppositePropertyCallExp_PropertyCallExp">
<general xsi:type="uml:Class" href="EssentialOCL.xmi#PropertyCallExp"/>
</generalization>
</packagedElement>
<packagedElement xsi:type="uml:Class" xmi:id="Relation" name="Relation">
<generalization xmi:id="G_Relation_Rule">
<general xsi:type="uml:Class" href="QVTBase.xmi#Rule"/>
</generalization>
<ownedAttribute xmi:id="Relation.isTopLevel" name="isTopLevel" visibility="public">
<type xsi:type="uml:PrimitiveType" href="PrimitiveTypes.xmi#Boolean"/>
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedAttribute>
<ownedAttribute xmi:id="Relation.operationalImpl" name="operationalImpl" type="RelationImplementation" aggregation="composite" association="A_Relation.operationalImpl_RelationImplementation.relation">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="Relation.variable" name="variable" aggregation="composite" association="A_Relation.variable_relation">
<type xsi:type="uml:Class" href="EssentialOCL.xmi#Variable"/>
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="Relation.when" name="when" aggregation="composite" association="A_Relation.when_whenOwner">
<type xsi:type="uml:Class" href="QVTBase.xmi#Pattern"/>
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedAttribute>
<ownedAttribute xmi:id="Relation.where" name="where" aggregation="composite" association="A_Relation.where_whereOwner">
<type xsi:type="uml:Class" href="QVTBase.xmi#Pattern"/>
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedAttribute>
</packagedElement>
<packagedElement xsi:type="uml:Class" xmi:id="RelationCallExp" name="RelationCallExp">
<generalization xmi:id="G_RelationCallExp_OclExpression">
<general xsi:type="uml:Class" href="EssentialOCL.xmi#OclExpression"/>
</generalization>
<ownedAttribute xmi:id="RelationCallExp.argument" name="argument" isOrdered="true" aggregation="composite" association="A_RelationCallExp.argument_relationCallExp">
<type xsi:type="uml:Class" href="EssentialOCL.xmi#OclExpression"/>
<lowerValue xsi:type="uml:LiteralInteger" value="2"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="RelationCallExp.referredRelation" name="referredRelation" type="Relation" association="A_RelationCallExp.referredRelation_relationCallExp"/>
</packagedElement>
<packagedElement xsi:type="uml:Class" xmi:id="RelationDomain" name="RelationDomain">
<generalization xmi:id="G_RelationDomain_Domain">
<general xsi:type="uml:Class" href="QVTBase.xmi#Domain"/>
</generalization>
<ownedAttribute xmi:id="RelationDomain.defaultAssignment" name="defaultAssignment" type="RelationDomainAssignment" aggregation="composite"
association="A_RelationDomain.defaultAssignment_RelationDomainAssignment.owner">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedAttribute>
<ownedAttribute xmi:id="RelationDomain.pattern" name="pattern" type="DomainPattern" aggregation="composite" association="A_DomainPattern.relationDomain_RelationDomain.pattern">
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedAttribute>
<ownedAttribute xmi:id="RelationDomain.rootVariable" name="rootVariable" association="A_RelationDomain.rootVariable_relationDomain">
<type xsi:type="uml:Class" href="EssentialOCL.xmi#Variable"/>
</ownedAttribute>
</packagedElement>
<packagedElement xsi:type="uml:Class" xmi:id="RelationDomainAssignment" name="RelationDomainAssignment">
<generalization xmi:id="G_RelationDomainAssignment_Element">
<general xsi:type="uml:Class" href="EMOF.xmi#Element"/>
</generalization>
<ownedAttribute xmi:id="RelationDomainAssignment.owner" name="owner" type="RelationDomain" association="A_RelationDomain.defaultAssignment_RelationDomainAssignment.owner"/>
<ownedAttribute xmi:id="RelationDomainAssignment.valueExp" name="valueExp" aggregation="composite" association="A_RelationDomainAssignment.valueExp_domainAssignment">
<type xsi:type="uml:Class" href="EssentialOCL.xmi#OclExpression"/>
</ownedAttribute>
<ownedAttribute xmi:id="RelationDomainAssignment.variable" name="variable" association="A_RelationDomainAssignment.variable_domainAssignment">
<type xsi:type="uml:Class" href="EssentialOCL.xmi#Variable"/>
</ownedAttribute>
</packagedElement>
<packagedElement xsi:type="uml:Class" xmi:id="RelationImplementation" name="RelationImplementation">
<generalization xmi:id="G_RelationImplementation_Element">
<general xsi:type="uml:Class" href="EMOF.xmi#Element"/>
</generalization>
<ownedAttribute xmi:id="RelationImplementation.impl" name="impl" association="A_RelationImplementation.impl_relationImplementation">
<type xsi:type="uml:Class" href="EMOF.xmi#Operation"/>
</ownedAttribute>
<ownedAttribute xmi:id="RelationImplementation.inDirectionOf" name="inDirectionOf" association="A_RelationImplementation.inDirectionOf_relationImplementation">
<type xsi:type="uml:Class" href="QVTBase.xmi#TypedModel"/>
</ownedAttribute>
<ownedAttribute xmi:id="RelationImplementation.relation" name="relation" type="Relation" association="A_Relation.operationalImpl_RelationImplementation.relation"/>
</packagedElement>
<packagedElement xsi:type="uml:Class" xmi:id="RelationalTransformation" name="RelationalTransformation">
<generalization xmi:id="G_RelationalTransformation_Transformation">
<general xsi:type="uml:Class" href="QVTBase.xmi#Transformation"/>
</generalization>
<ownedAttribute xmi:id="RelationalTransformation.ownedKey" name="ownedKey" type="Key" aggregation="composite" association="A_Key.transformation_RelationalTransformation.ownedKey">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedAttribute>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_DomainPattern.relationDomain_RelationDomain.pattern" name="A_DomainPattern.relationDomain_RelationDomain.pattern"
memberEnd="RelationDomain.pattern DomainPattern.relationDomain"/>
<packagedElement xsi:type="uml:Association" xmi:id="A_DomainPattern.templateExpression_domainPattern" name="A_DomainPattern.templateExpression_domainPattern"
memberEnd="DomainPattern.templateExpression A_DomainPattern.templateExpression_domainPattern.domainPattern">
<ownedEnd xmi:id="A_DomainPattern.templateExpression_domainPattern.domainPattern" name="domainPattern" type="DomainPattern" association="A_DomainPattern.templateExpression_domainPattern">
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_Key.identifies_key" name="A_Key.identifies_key" memberEnd="Key.identifies A_Key.identifies_key.key">
<ownedEnd xmi:id="A_Key.identifies_key.key" name="key" type="Key" association="A_Key.identifies_key">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_Key.oppositePart_oppKey" name="A_Key.oppositePart_oppKey" memberEnd="Key.oppositePart A_Key.oppositePart_oppKey.oppKey">
<ownedEnd xmi:id="A_Key.oppositePart_oppKey.oppKey" name="oppKey" type="Key" association="A_Key.oppositePart_oppKey">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_Key.part_key" name="A_Key.part_key" memberEnd="Key.part A_Key.part_key.key">
<ownedEnd xmi:id="A_Key.part_key.key" name="key" type="Key" association="A_Key.part_key">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_Key.transformation_RelationalTransformation.ownedKey" name="A_Key.transformation_RelationalTransformation.ownedKey"
memberEnd="RelationalTransformation.ownedKey Key.transformation"/>
<packagedElement xsi:type="uml:Association" xmi:id="A_Relation.operationalImpl_RelationImplementation.relation" name="A_Relation.operationalImpl_RelationImplementation.relation"
memberEnd="Relation.operationalImpl RelationImplementation.relation"/>
<packagedElement xsi:type="uml:Association" xmi:id="A_Relation.variable_relation" name="A_Relation.variable_relation" memberEnd="Relation.variable A_Relation.variable_relation.relation">
<ownedEnd xmi:id="A_Relation.variable_relation.relation" name="relation" type="Relation" association="A_Relation.variable_relation">
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_Relation.when_whenOwner" name="A_Relation.when_whenOwner" memberEnd="Relation.when A_Relation.when_whenOwner.whenOwner">
<ownedEnd xmi:id="A_Relation.when_whenOwner.whenOwner" name="whenOwner" type="Relation" association="A_Relation.when_whenOwner">
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_Relation.where_whereOwner" name="A_Relation.where_whereOwner" memberEnd="Relation.where A_Relation.where_whereOwner.whereOwner">
<ownedEnd xmi:id="A_Relation.where_whereOwner.whereOwner" name="whereOwner" type="Relation" association="A_Relation.where_whereOwner">
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_RelationCallExp.argument_relationCallExp" name="A_RelationCallExp.argument_relationCallExp"
memberEnd="RelationCallExp.argument A_RelationCallExp.argument_relationCallExp.relationCallExp">
<ownedEnd xmi:id="A_RelationCallExp.argument_relationCallExp.relationCallExp" name="relationCallExp" type="RelationCallExp" association="A_RelationCallExp.argument_relationCallExp">
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_RelationCallExp.referredRelation_relationCallExp" name="A_RelationCallExp.referredRelation_relationCallExp"
memberEnd="RelationCallExp.referredRelation A_RelationCallExp.referredRelation_relationCallExp.relationCallExp">
<ownedEnd xmi:id="A_RelationCallExp.referredRelation_relationCallExp.relationCallExp" name="relationCallExp" type="RelationCallExp"
association="A_RelationCallExp.referredRelation_relationCallExp">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_RelationDomain.defaultAssignment_RelationDomainAssignment.owner" name="A_RelationDomain.defaultAssignment_RelationDomainAssignment.owner"
memberEnd="RelationDomain.defaultAssignment RelationDomainAssignment.owner"/>
<packagedElement xsi:type="uml:Association" xmi:id="A_RelationDomain.rootVariable_relationDomain" name="A_RelationDomain.rootVariable_relationDomain"
memberEnd="RelationDomain.rootVariable A_RelationDomain.rootVariable_relationDomain.relationDomain">
<ownedEnd xmi:id="A_RelationDomain.rootVariable_relationDomain.relationDomain" name="relationDomain" type="RelationDomain" association="A_RelationDomain.rootVariable_relationDomain">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_RelationDomainAssignment.valueExp_domainAssignment" name="A_RelationDomainAssignment.valueExp_domainAssignment"
memberEnd="RelationDomainAssignment.valueExp A_RelationDomainAssignment.valueExp_domainAssignment.domainAssignment">
<ownedEnd xmi:id="A_RelationDomainAssignment.valueExp_domainAssignment.domainAssignment" name="domainAssignment" type="RelationDomainAssignment"
association="A_RelationDomainAssignment.valueExp_domainAssignment">
<lowerValue xsi:type="uml:LiteralInteger"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_RelationDomainAssignment.variable_domainAssignment" name="A_RelationDomainAssignment.variable_domainAssignment"
memberEnd="RelationDomainAssignment.variable A_RelationDomainAssignment.variable_domainAssignment.domainAssignment">
<ownedEnd xmi:id="A_RelationDomainAssignment.variable_domainAssignment.domainAssignment" name="domainAssignment" type="RelationDomainAssignment"
association="A_RelationDomainAssignment.variable_domainAssignment">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_RelationImplementation.impl_relationImplementation" name="A_RelationImplementation.impl_relationImplementation"
memberEnd="RelationImplementation.impl A_RelationImplementation.impl_relationImplementation.relationImplementation">
<ownedEnd xmi:id="A_RelationImplementation.impl_relationImplementation.relationImplementation" name="relationImplementation" type="RelationImplementation"
association="A_RelationImplementation.impl_relationImplementation">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
<packagedElement xsi:type="uml:Association" xmi:id="A_RelationImplementation.inDirectionOf_relationImplementation" name="A_RelationImplementation.inDirectionOf_relationImplementation"
memberEnd="RelationImplementation.inDirectionOf A_RelationImplementation.inDirectionOf_relationImplementation.relationImplementation">
<ownedEnd xmi:id="A_RelationImplementation.inDirectionOf_relationImplementation.relationImplementation" name="relationImplementation"
type="RelationImplementation" association="A_RelationImplementation.inDirectionOf_relationImplementation">
<lowerValue xsi:type="uml:LiteralInteger"/>
<upperValue xsi:type="uml:LiteralUnlimitedNatural" value="*"/>
</ownedEnd>
</packagedElement>
</uml:Model>