blob: 4eb78a9114624b88d77aac4ae266f3ebd163cd1f [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<qvtr:RelationModel
xmi:version="2.0"
xmlns:xmi="http://www.omg.org/XMI"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:pivot="http://www.eclipse.org/ocl/3.1.0/Pivot"
xmlns:qvtr="http://www.eclipse.org/qvt/0.9/QVTrelation"
xmlns:qvtt="http://www.eclipse.org/qvt/0.9/QVTtemplate"
xsi:schemaLocation="http://www.eclipse.org/ocl/3.1.0/Pivot java://org.eclipse.ocl.examples.pivot.PivotPackage http://www.eclipse.org/qvt/0.9/QVTrelation java://org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage http://www.eclipse.org/qvt/0.9/QVTtemplate java://org.eclipse.qvtd.pivot.qvttemplate.QVTtemplatePackage"
name="AbstractToConcrete.qvtr"
externalURI="platform:/resource/org.eclipse.qvtd.examples.qvtrelation.modelmorf/qvtrsrc/AbstractToConcrete/AbstractToConcrete.qvtr">
<ownedComment
body="*****************************************************************************&#xA;Copyright (c) 2007,2008 Tata Consultancy Services and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;TCS - initial implementation for ModelMorf&#xA;E.D.Willink - alignment with evolved specification&#xA;*****************************************************************************"/>
<nestedPackage
xsi:type="qvtr:RelationalTransformation"
xmi:id="T.AbstractToConcrete"
name="AbstractToConcrete"
superClass="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#T.ocl.OclElement">
<modelParameter
xmi:id="qT.AbstractToConcrete.uml1"
name="uml1"
usedPackage="ClassMM_IN.emof.oclas#P.ClassMM"/>
<modelParameter
xmi:id="qT.AbstractToConcrete.uml2"
name="uml2"
usedPackage="ClassMM_IN.emof.oclas#P.ClassMM"/>
<rule xsi:type="qvtr:Relation"
name="AbstractClassToConcreteClass"
isTopLevel="true">
<domain
xsi:type="qvtr:RelationDomain"
xmi:id="qD.AbstractToConcrete.AbstractClassToConcreteClass.uml1"
isCheckable="true"
isEnforceable="false"
typedModel="#qT.AbstractToConcrete.uml1"
rootVariable="#//@nestedPackage.0/@rule.0/@variable.3">
<pattern>
<templateExpression
xsi:type="qvtt:ObjectTemplateExp"
type="ClassMM_IN.emof.oclas#T.ClassMM.Class"
bindsTo="#//@nestedPackage.0/@rule.0/@variable.3"
referredClass="ClassMM_IN.emof.oclas#T.ClassMM.Class">
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Class.inheritsFrom">
<value
xsi:type="qvtt:ObjectTemplateExp"
type="ClassMM_IN.emof.oclas#T.ClassMM.Class"
bindsTo="#//@nestedPackage.0/@rule.0/@variable.4"
referredClass="ClassMM_IN.emof.oclas#T.ClassMM.Class">
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Class.isAbstract">
<value
xsi:type="pivot:BooleanLiteralExp"
type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#Boolean"
booleanSymbol="true"/>
</part>
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Class.operation">
<value
xsi:type="qvtt:ObjectTemplateExp"
type="ClassMM_IN.emof.oclas#T.ClassMM.Operation"
bindsTo="#//@nestedPackage.0/@rule.0/@variable.5"
referredClass="ClassMM_IN.emof.oclas#T.ClassMM.Operation">
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Operation.name">
<value
xsi:type="pivot:VariableExp"
isRequired="false"
type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
referredVariable="#//@nestedPackage.0/@rule.0/@variable.1"/>
</part>
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Operation.parameter">
<value
xsi:type="qvtt:ObjectTemplateExp"
type="ClassMM_IN.emof.oclas#T.ClassMM.Parameter"
bindsTo="#//@nestedPackage.0/@rule.0/@variable.6"
referredClass="ClassMM_IN.emof.oclas#T.ClassMM.Parameter">
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Parameter.name">
<value
xsi:type="pivot:VariableExp"
isRequired="false"
type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
referredVariable="#//@nestedPackage.0/@rule.0/@variable.2"/>
</part>
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Parameter.type">
<value
xsi:type="pivot:VariableExp"
isRequired="false"
type="ClassMM_IN.emof.oclas#T.ClassMM.Type"
referredVariable="#//@nestedPackage.0/@rule.0/@variable.0"/>
</part>
</value>
</part>
</value>
</part>
</value>
</part>
</templateExpression>
</pattern>
</domain>
<domain
xsi:type="qvtr:RelationDomain"
xmi:id="qD.AbstractToConcrete.AbstractClassToConcreteClass.uml2"
isCheckable="true"
isEnforceable="true"
typedModel="#qT.AbstractToConcrete.uml2"
rootVariable="#//@nestedPackage.0/@rule.0/@variable.3">
<pattern>
<templateExpression
xsi:type="qvtt:ObjectTemplateExp"
type="ClassMM_IN.emof.oclas#T.ClassMM.Class"
bindsTo="#//@nestedPackage.0/@rule.0/@variable.3"
referredClass="ClassMM_IN.emof.oclas#T.ClassMM.Class">
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Class.operation">
<value
xsi:type="qvtt:ObjectTemplateExp"
type="ClassMM_IN.emof.oclas#T.ClassMM.Operation"
bindsTo="#//@nestedPackage.0/@rule.0/@variable.7"
referredClass="ClassMM_IN.emof.oclas#T.ClassMM.Operation">
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Operation.name">
<value
xsi:type="pivot:VariableExp"
isRequired="false"
type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
referredVariable="#//@nestedPackage.0/@rule.0/@variable.1"/>
</part>
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Operation.parameter">
<value
xsi:type="qvtt:ObjectTemplateExp"
type="ClassMM_IN.emof.oclas#T.ClassMM.Parameter"
bindsTo="#//@nestedPackage.0/@rule.0/@variable.8"
referredClass="ClassMM_IN.emof.oclas#T.ClassMM.Parameter">
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Parameter.name">
<value
xsi:type="pivot:VariableExp"
isRequired="false"
type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"
referredVariable="#//@nestedPackage.0/@rule.0/@variable.2"/>
</part>
<part
referredProperty="ClassMM_IN.emof.oclas#p.ClassMM.Parameter.type">
<value
xsi:type="pivot:VariableExp"
isRequired="false"
type="ClassMM_IN.emof.oclas#T.ClassMM.Type"
referredVariable="#//@nestedPackage.0/@rule.0/@variable.0"/>
</part>
</value>
</part>
</value>
</part>
</templateExpression>
</pattern>
</domain>
<variable
name="t"
isRequired="false"
type="ClassMM_IN.emof.oclas#T.ClassMM.Type"/>
<variable
name="acon"
isRequired="false"
type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
<variable
name="acopn"
isRequired="false"
type="http://www.eclipse.org/ocl/3.1.0/OCL.oclstdlib.oclas#String"/>
<variable
name="cc"
type="ClassMM_IN.emof.oclas#T.ClassMM.Class"/>
<variable
name="ac"
type="ClassMM_IN.emof.oclas#T.ClassMM.Class"/>
<variable
name="aco"
type="ClassMM_IN.emof.oclas#T.ClassMM.Operation"/>
<variable
name="acop"
type="ClassMM_IN.emof.oclas#T.ClassMM.Parameter"/>
<variable
name="cco"
type="ClassMM_IN.emof.oclas#T.ClassMM.Operation"/>
<variable
name="ccop"
type="ClassMM_IN.emof.oclas#T.ClassMM.Parameter"/>
</rule>
<ownedKey
identifies="ClassMM_IN.emof.oclas#T.ClassMM.Type"
part="ClassMM_IN.emof.oclas#p.ClassMM.Type.name"/>
<ownedKey
identifies="ClassMM_IN.emof.oclas#T.ClassMM.Operation"
part="ClassMM_IN.emof.oclas#p.ClassMM.Operation.name ClassMM_IN.emof.oclas#p.ClassMM.Operation.class"/>
<ownedKey
identifies="ClassMM_IN.emof.oclas#T.ClassMM.Parameter"
part="ClassMM_IN.emof.oclas#p.ClassMM.Parameter.name ClassMM_IN.emof.oclas#p.ClassMM.Parameter.operation ClassMM_IN.emof.oclas#p.ClassMM.Parameter.type"/>
</nestedPackage>
<unit name="UMLMM"
usedPackage="pivot:Package ClassMM_IN.emof.oclas#P.ClassMM">
<ownedComment
body="*****************************************************************************&#xA;Copyright (c) 2007,2008 Tata Consultancy Services and others.&#xA;All rights reserved. This program and the accompanying materials&#xA;are made available under the terms of the Eclipse Public License v1.0&#xA;which accompanies this distribution, and is available at&#xA;http://www.eclipse.org/legal/epl-v10.html&#xA;&#xA;Contributors:&#xA;TCS - initial implementation for ModelMorf&#xA;E.D.Willink - alignment with evolved specification&#xA;*****************************************************************************"/>
</unit>
</qvtr:RelationModel>