blob: 088d7d4aeaba8dc5bbf23a9cc9127096ef267037 [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/2015/Pivot" xmlns:qvtr="http://www.eclipse.org/qvt/2015/QVTrelation"
xmlns:qvtt="http://www.eclipse.org/qvt/2015/QVTtemplate" xsi:schemaLocation="http://www.eclipse.org/ocl/2015/Pivot java://org.eclipse.ocl.pivot.PivotPackage http://www.eclipse.org/qvt/2015/QVTrelation java://org.eclipse.qvtd.pivot.qvtrelation.QVTrelationPackage http://www.eclipse.org/qvt/2015/QVTtemplate java://org.eclipse.qvtd.pivot.qvttemplate.QVTtemplatePackage"
name="SeqToStm.qvtr" externalURI="platform:/resource/org.eclipse.qvtd.build.qvtrtoqvtc.tests/src/org/eclipse/qvtd/build/qvtrtoqvtc/tests/seqtostm/SeqToStm.qvtr">
<ownedComments 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;*****************************************************************************"/>
<ownedImports name="SeqMM" importedNamespace="pivot:Package SeqMM.emof.oclas#P.SeqMM">
<ownedComments 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;*****************************************************************************"/>
</ownedImports>
<ownedImports name="StmcMM" importedNamespace="pivot:Package StmcMM.emof.oclas#P.StmcMM"/>
<ownedPackages xmi:id="P." name="">
<ownedClasses xsi:type="qvtr:RelationalTransformation" xmi:id="T..SeqToStm" name="SeqToStm"
superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclElement">
<modelParameter xmi:id="qT..SeqToStm.seqDgm" name="seqDgm" usedPackage="SeqMM.emof.oclas#P.SeqMM"/>
<modelParameter xmi:id="qT..SeqToStm.stm" name="stm" usedPackage="StmcMM.emof.oclas#P.StmcMM"/>
<rule xsi:type="qvtr:Relation" name="InteractionToStateMachine" isTopLevel="true">
<domain xsi:type="qvtr:RelationDomain" xmi:id="qD..SeqToStm.InteractionToStateMachine.seqDgm"
isCheckable="true" isEnforceable="false" typedModel="#qT..SeqToStm.seqDgm"
rootVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.1">
<pattern>
<templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Interaction"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.1"
referredClass="SeqMM.emof.oclas#T.SeqMM.Interaction">
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.Interaction.name">
<value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.0"/>
</part>
</templateExpression>
</pattern>
</domain>
<domain xsi:type="qvtr:RelationDomain" xmi:id="qD..SeqToStm.InteractionToStateMachine.stm"
isCheckable="true" isEnforceable="true" typedModel="#qT..SeqToStm.stm"
rootVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.2">
<pattern>
<templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.StateMachine"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.2"
referredClass="StmcMM.emof.oclas#T.StmcMM.StateMachine">
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.StateMachine.name">
<value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.0/@variable.0"/>
</part>
</templateExpression>
</pattern>
</domain>
<variable name="sn" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"/>
<variable name="i" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Interaction"/>
<variable name="s" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.StateMachine"/>
</rule>
<rule xsi:type="qvtr:Relation" name="StateToState" isTopLevel="true">
<domain xsi:type="qvtr:RelationDomain" xmi:id="qD..SeqToStm.StateToState.seqDgm"
isCheckable="true" isEnforceable="false" typedModel="#qT..SeqToStm.seqDgm"
rootVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.1">
<pattern>
<templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.1"
referredClass="SeqMM.emof.oclas#T.SeqMM.State">
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.State.name">
<value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.0"/>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.State.lifeline">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.LifeLine"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.2"
referredClass="SeqMM.emof.oclas#T.SeqMM.LifeLine">
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.LifeLine.interaction">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Interaction"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.3"
referredClass="SeqMM.emof.oclas#T.SeqMM.Interaction"/>
</part>
</value>
</part>
</templateExpression>
</pattern>
</domain>
<domain xsi:type="qvtr:RelationDomain" xmi:id="qD..SeqToStm.StateToState.stm"
isCheckable="true" isEnforceable="true" typedModel="#qT..SeqToStm.stm"
rootVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.4">
<pattern>
<templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.4"
referredClass="StmcMM.emof.oclas#T.StmcMM.State">
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.State.name">
<value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.0"/>
</part>
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.State.owner">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.StateMachine"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.5"
referredClass="StmcMM.emof.oclas#T.StmcMM.StateMachine"/>
</part>
</templateExpression>
</pattern>
</domain>
<variable name="sn" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"/>
<variable name="st1" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"/>
<variable name="l" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.LifeLine"/>
<variable name="i" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Interaction"/>
<variable name="st2" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"/>
<variable name="s" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.StateMachine"/>
<when>
<predicate>
<conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#Boolean"
referredRelation="#//@ownedPackages.0/@ownedClasses.0/@rule.0">
<argument xsi:type="pivot:VariableExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Interaction"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.3"/>
<argument xsi:type="pivot:VariableExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.StateMachine"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.1/@variable.5"/>
</conditionExpression>
</predicate>
</when>
</rule>
<rule xsi:type="qvtr:Relation" name="MessageToTransition" isTopLevel="true">
<domain xsi:type="qvtr:RelationDomain" xmi:id="qD..SeqToStm.MessageToTransition.seqDgm"
isCheckable="true" isEnforceable="false" typedModel="#qT..SeqToStm.seqDgm"
rootVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.1">
<pattern>
<templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Message"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.1"
referredClass="SeqMM.emof.oclas#T.SeqMM.Message">
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.Message.messageId">
<value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.0"/>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.Message.event">
<value xsi:type="qvtt:CollectionTemplateExp" type="#//@ownedPackages.1/@ownedClasses.0"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.2"
referredCollectionType="http://www.eclipse.org/ocl/2015/Orphanage#//@ownedClasses.30"
rest="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.7">
<member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.3"
referredClass="SeqMM.emof.oclas#T.SeqMM.MessageEvent">
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.type">
<value xsi:type="pivot:EnumLiteralExp" type="pivot:Enumeration SeqMM.emof.oclas#T.SeqMM.MessageEventType"
referredLiteral="SeqMM.emof.oclas#//@ownedPackages.0/@ownedClasses.7/@ownedLiterals.0"/>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.state">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.4"
referredClass="SeqMM.emof.oclas#T.SeqMM.State"/>
</part>
</member>
<member xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.5"
referredClass="SeqMM.emof.oclas#T.SeqMM.MessageEvent">
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.type">
<value xsi:type="pivot:EnumLiteralExp" type="pivot:Enumeration SeqMM.emof.oclas#T.SeqMM.MessageEventType"
referredLiteral="SeqMM.emof.oclas#//@ownedPackages.0/@ownedClasses.7/@ownedLiterals.1"/>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.state">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.6"
referredClass="SeqMM.emof.oclas#T.SeqMM.State"/>
</part>
</member>
</value>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.Message.interaction">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Interaction"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.8"
referredClass="SeqMM.emof.oclas#T.SeqMM.Interaction"/>
</part>
</templateExpression>
</pattern>
</domain>
<domain xsi:type="qvtr:RelationDomain" xmi:id="qD..SeqToStm.MessageToTransition.stm"
isCheckable="true" isEnforceable="true" typedModel="#qT..SeqToStm.stm"
rootVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.9">
<pattern>
<templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Transition"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.9"
referredClass="StmcMM.emof.oclas#T.StmcMM.Transition">
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.Transition.name">
<value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.0"/>
</part>
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.Transition.fromState">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.10"
referredClass="StmcMM.emof.oclas#T.StmcMM.State"/>
</part>
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.Transition.toState">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.11"
referredClass="StmcMM.emof.oclas#T.StmcMM.State"/>
</part>
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.Transition.action">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.SendMsg"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.12"
referredClass="StmcMM.emof.oclas#T.StmcMM.SendMsg">
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.SendMsg.message">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Message"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.13"
referredClass="StmcMM.emof.oclas#T.StmcMM.Message">
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.Message.messageId">
<value xsi:type="pivot:VariableExp" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.0"/>
</part>
</value>
</part>
</value>
</part>
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.Transition.owner">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.StateMachine"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.14"
referredClass="StmcMM.emof.oclas#T.StmcMM.StateMachine"/>
</part>
</templateExpression>
</pattern>
</domain>
<variable name="mid" isRequired="false" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#String"/>
<variable name="m1" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Message"/>
<variable name="eSet" type="#//@ownedPackages.1/@ownedClasses.0"/>
<variable name="send" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"/>
<variable name="ist1" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"/>
<variable name="receive" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"/>
<variable name="ist2" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"/>
<variable isImplicit="true"/>
<variable name="i" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Interaction"/>
<variable name="tr" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Transition"/>
<variable name="fst" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"/>
<variable name="tst" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"/>
<variable name="sm" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.SendMsg"/>
<variable name="m2" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Message"/>
<variable name="s" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.StateMachine"/>
<when>
<predicate>
<conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#Boolean"
referredRelation="#//@ownedPackages.0/@ownedClasses.0/@rule.0">
<argument xsi:type="pivot:VariableExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Interaction"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.8"/>
<argument xsi:type="pivot:VariableExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.StateMachine"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.14"/>
</conditionExpression>
</predicate>
<predicate>
<conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#Boolean"
referredRelation="#//@ownedPackages.0/@ownedClasses.0/@rule.1">
<argument xsi:type="pivot:VariableExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.4"/>
<argument xsi:type="pivot:VariableExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.10"/>
</conditionExpression>
</predicate>
<predicate>
<conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#Boolean"
referredRelation="#//@ownedPackages.0/@ownedClasses.0/@rule.1">
<argument xsi:type="pivot:VariableExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.6"/>
<argument xsi:type="pivot:VariableExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.2/@variable.11"/>
</conditionExpression>
</predicate>
</when>
</rule>
<rule xsi:type="qvtr:Relation" name="MessageSequenceToTransitionSequence" isTopLevel="true">
<domain xsi:type="qvtr:RelationDomain" xmi:id="qD..SeqToStm.MessageSequenceToTransitionSequence.seqDgm"
isCheckable="true" isEnforceable="false" typedModel="#qT..SeqToStm.seqDgm"
rootVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.0">
<pattern>
<templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.0"
referredClass="SeqMM.emof.oclas#T.SeqMM.MessageEvent">
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.type">
<value xsi:type="pivot:EnumLiteralExp" type="pivot:Enumeration SeqMM.emof.oclas#T.SeqMM.MessageEventType"
referredLiteral="SeqMM.emof.oclas#//@ownedPackages.0/@ownedClasses.7/@ownedLiterals.1"/>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.message">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Message"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.1"
referredClass="SeqMM.emof.oclas#T.SeqMM.Message"/>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.state">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.2"
referredClass="SeqMM.emof.oclas#T.SeqMM.State"/>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.next">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.3"
referredClass="SeqMM.emof.oclas#T.SeqMM.MessageEvent">
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.type">
<value xsi:type="pivot:EnumLiteralExp" type="pivot:Enumeration SeqMM.emof.oclas#T.SeqMM.MessageEventType"
referredLiteral="SeqMM.emof.oclas#//@ownedPackages.0/@ownedClasses.7/@ownedLiterals.0"/>
</part>
<part referredProperty="SeqMM.emof.oclas#p.SeqMM.MessageEvent.message">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Message"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.4"
referredClass="SeqMM.emof.oclas#T.SeqMM.Message"/>
</part>
</value>
</part>
</templateExpression>
</pattern>
</domain>
<domain xsi:type="qvtr:RelationDomain" xmi:id="qD..SeqToStm.MessageSequenceToTransitionSequence.stm"
isCheckable="true" isEnforceable="true" typedModel="#qT..SeqToStm.stm"
rootVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.5">
<pattern>
<templateExpression xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Transition"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.5"
referredClass="StmcMM.emof.oclas#T.StmcMM.Transition">
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.Transition.toState">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.6"
referredClass="StmcMM.emof.oclas#T.StmcMM.State">
<part referredProperty="StmcMM.emof.oclas#p.StmcMM.State.outTransition">
<value xsi:type="qvtt:ObjectTemplateExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Transition"
bindsTo="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.7"
referredClass="StmcMM.emof.oclas#T.StmcMM.Transition"/>
</part>
</value>
</part>
</templateExpression>
</pattern>
</domain>
<variable name="ev1" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"/>
<variable name="m1" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Message"/>
<variable name="est" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"/>
<variable name="ev2" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"/>
<variable name="m2" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Message"/>
<variable name="tr1" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Transition"/>
<variable name="tst" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"/>
<variable name="tr2" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Transition"/>
<when>
<predicate>
<conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#Boolean"
referredRelation="#//@ownedPackages.0/@ownedClasses.0/@rule.1">
<argument xsi:type="pivot:VariableExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.State"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.2"/>
<argument xsi:type="pivot:VariableExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.State"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.6"/>
</conditionExpression>
</predicate>
<predicate>
<conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#Boolean"
referredRelation="#//@ownedPackages.0/@ownedClasses.0/@rule.2">
<argument xsi:type="pivot:VariableExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Message"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.1"/>
<argument xsi:type="pivot:VariableExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Transition"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.5"/>
</conditionExpression>
</predicate>
<predicate>
<conditionExpression xsi:type="qvtr:RelationCallExp" type="pivot:PrimitiveType http://www.eclipse.org/ocl/2015/Library.oclas#Boolean"
referredRelation="#//@ownedPackages.0/@ownedClasses.0/@rule.2">
<argument xsi:type="pivot:VariableExp" type="pivot:Class SeqMM.emof.oclas#T.SeqMM.Message"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.4"/>
<argument xsi:type="pivot:VariableExp" type="pivot:Class StmcMM.emof.oclas#T.StmcMM.Transition"
referredVariable="#//@ownedPackages.0/@ownedClasses.0/@rule.3/@variable.7"/>
</conditionExpression>
</predicate>
</when>
</rule>
<ownedKey identifies="StmcMM.emof.oclas#T.StmcMM.StateMachine" part="StmcMM.emof.oclas#p.StmcMM.StateMachine.name"/>
<ownedKey identifies="StmcMM.emof.oclas#T.StmcMM.State" part="StmcMM.emof.oclas#p.StmcMM.State.name StmcMM.emof.oclas#p.StmcMM.State.owner"/>
<ownedKey identifies="StmcMM.emof.oclas#T.StmcMM.Transition" part="StmcMM.emof.oclas#p.StmcMM.Transition.name StmcMM.emof.oclas#p.StmcMM.Transition.owner StmcMM.emof.oclas#p.StmcMM.Transition.fromState StmcMM.emof.oclas#p.StmcMM.Transition.toState"/>
<ownedKey identifies="StmcMM.emof.oclas#T.StmcMM.SendMsg" part="StmcMM.emof.oclas#p.StmcMM.SendMsg.message"/>
<ownedKey identifies="StmcMM.emof.oclas#T.StmcMM.Message" part="StmcMM.emof.oclas#p.StmcMM.Message.messageId"/>
</ownedClasses>
</ownedPackages>
<ownedPackages xmi:id="P.$$" name="$$" URI="http://www.eclipse.org/ocl/2015/Orphanage"
nsPrefix="orphanage">
<ownedClasses xsi:type="pivot:SetType" name="Set" superClasses="#//@ownedPackages.1/@ownedClasses.1"
elementType="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent">
<ownedBindings>
<ownedSubstitutions actual="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"
formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..SetT"/>
</ownedBindings>
</ownedClasses>
<ownedClasses xsi:type="pivot:CollectionType" name="UniqueCollection" superClasses="#//@ownedPackages.1/@ownedClasses.2"
elementType="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent">
<ownedBindings>
<ownedSubstitutions actual="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"
formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..UniqueCollectionT"/>
</ownedBindings>
</ownedClasses>
<ownedClasses xsi:type="pivot:CollectionType" name="Collection" superClasses="http://www.eclipse.org/ocl/2015/Library.oclas#T.ocl.OclAny"
elementType="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent">
<ownedBindings>
<ownedSubstitutions actual="pivot:Class SeqMM.emof.oclas#T.SeqMM.MessageEvent"
formal="http://www.eclipse.org/ocl/2015/Library.oclas#t.ocl..CollectionT"/>
</ownedBindings>
</ownedClasses>
</ownedPackages>
</qvtr:RelationModel>