blob: 7895dc2529829ee955dcaf6eee14984f44840625 [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<description:Group xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:description="http://www.eclipse.org/sirius/description/1.1.0" xmlns:description_1="http://www.eclipse.org/sirius/diagram/sequence/description/2.0.0" xmlns:filter="http://www.eclipse.org/sirius/diagram/description/filter/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/diagram/sequence/description/tool/2.0.0" xmlns:tool_1="http://www.eclipse.org/sirius/description/tool/1.1.0" xmlns:tool_2="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" name="Interaction" version="10.0.0.201505222000">
<ownedViewpoints endUserDocumentation="Provides diagrams to model interactions between Ecore elements." name="Interactions" label="Interactions" modelFileExtension="interactions">
<ownedRepresentations xsi:type="description_1:SequenceDiagramDescription" endUserDocumentation="Sequence diagram for Ecore interactions." name="Sequence Diagram on Interaction" label="Sequence Diagram on Interaction" titleExpression="aql:'Sequence Diagram on ' + self.name" domainClass="interactions.Interaction" endsOrdering="feature:ends">
<metamodel href="http://www.eclipse.org/sirius/sample/interactions#/"/>
<metamodel href="http://www.eclipse.org/emf/2002/Ecore#/"/>
<filters xsi:type="filter:CompositeFilterDescription" name="CollapseExec" label="Collapse Executions">
<filters xsi:type="filter:MappingFilter" filterKind="COLLAPSE" mappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution']"/>
</filters>
<filters xsi:type="filter:CompositeFilterDescription" name="CollapseObs" label="Collapse Observation points">
<filters xsi:type="filter:MappingFilter" filterKind="COLLAPSE" mappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@additionalLayers[name='duration']/@nodeMappings[name='endObsPoint']"/>
</filters>
<defaultLayer name="Default">
<nodeMappings xsi:type="description_1:InstanceRoleMapping" name="Participant" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.2/@ownedTools[name='Delete%20Participant']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.2/@ownedTools[name='Edit%20Participant']" semanticCandidatesExpression="feature:participants" semanticElements="var:self" synchronizationLock="true" domainClass="interactions.Participant">
<borderedNodeMappings xsi:type="description_1:ExecutionMapping" name="Lifeline" semanticCandidatesExpression="var:self" semanticElements="var:self" synchronizationLock="true" domainClass="interactions.Participant" startingEndFinderExpression="var:self" finishingEndFinderExpression="var:self">
<borderedNodeMappings xsi:type="description_1:ExecutionMapping" name="Execution" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.4/@ownedTools[name='Delete%20Execution']" semanticCandidatesExpression="service:getDirectEventsOnCurrentParticipant" semanticElements="service:computeSemanticElements" synchronizationLock="true" domainClass="interactions.Execution" reusedBorderedNodeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='State']" startingEndFinderExpression="feature:start" finishingEndFinderExpression="feature:end">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="1" showIcon="false" labelExpression="" resizeKind="NORTH_SOUTH" width="2" height="5" color="//@userColorsPalettes[name='Dutch%20Seas']/@entries[name='Interpolated%20blue%20for%20Executions']">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_blue']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings xsi:type="description_1:StateMapping" name="State" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.5/@ownedTools[name='Delete%20State']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.5/@ownedTools[name='Edit%20State']" semanticCandidatesExpression="service:getDirectEventsOnCurrentParticipant" semanticElements="service:computeSemanticElements" synchronizationLock="true" domainClass="interactions.State" startingEndFinderExpression="feature:start" finishingEndFinderExpression="feature:end">
<style xsi:type="style:EllipseNodeDescription" borderColor="//@userColorsPalettes[name='Skyblue']/@entries[name='Midnight_Skyblue']" labelSize="15" showIcon="false" labelColor="//@userColorsPalettes[name='Greens']/@entries[name='Watery%20Green']" labelPosition="node" resizeKind="NSEW" color="//@userColorsPalettes[name='Skyblue']/@entries[name='High_Skyblue']" horizontalDiameterComputationExpression="12" verticalDiameterComputationExpression="3"/>
<conditionnalStyles predicateExpression="aql:self.start = self.end">
<style xsi:type="style:EllipseNodeDescription" borderColor="//@userColorsPalettes[name='Skyblue']/@entries[name='Midnight_Skyblue']" labelSize="15" showIcon="false" labelColor="//@userColorsPalettes[name='Greens']/@entries[name='Flabber%20Green']" labelPosition="node" resizeKind="NSEW" color="//@userColorsPalettes[name='Dutch%20Seas']/@entries[name='Lavonne']" horizontalDiameterComputationExpression="12" verticalDiameterComputationExpression="3"/>
</conditionnalStyles>
</borderedNodeMappings>
<borderedNodeMappings xsi:type="description_1:EndOfLifeMapping" name="EOL" preconditionExpression="service:eolPrecondition" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.2/@ownedTools[name='Delete%20EndOfLife']" semanticCandidatesExpression="var:self" semanticElements="var:self" synchronizationLock="true" domainClass="interactions.Participant">
<style xsi:type="style:WorkspaceImageDescription" showIcon="false" labelExpression="" sizeComputationExpression="5" arcWidth="1" arcHeight="1" workspacePath="/org.eclipse.sirius.sample.interactions.design/description/eol.png">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings xsi:type="description_1:EndOfLifeMapping" name="redimEOL" preconditionExpression="service:redimEolPrecondition" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.2/@ownedTools[name='Delete%20EndOfLife']" semanticCandidatesExpression="var:self" semanticElements="var:self" synchronizationLock="true" domainClass="interactions.Participant">
<style xsi:type="style:DotDescription" labelExpression="" sizeComputationExpression="1" strokeSizeComputationExpression="1">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
</style>
</borderedNodeMappings>
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="3" showIcon="false" labelExpression="" resizeKind="NSEW" width="1" height="40">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
</style>
</borderedNodeMappings>
<style xsi:type="style:SquareDescription" labelSize="12" showIcon="false" labelExpression="aql:self.name + ' : ' + self.type.name" sizeComputationExpression="" labelPosition="node" resizeKind="NSEW" width="12" height="5">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelFormat>bold</labelFormat>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
</style>
</nodeMappings>
<nodeMappings name="Lost Message End" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Delete%20Message']" semanticCandidatesExpression="service:lostMessageEndSemanticCandidates" domainClass="interactions.Message">
<style xsi:type="style:DotDescription" labelExpression="" tooltipExpression="Lost end" sizeComputationExpression="1" resizeKind="NSEW" strokeSizeComputationExpression="1">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</nodeMappings>
<edgeMappings xsi:type="description_1:BasicMessageMapping" name="Feature Access Message" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Delete%20Message']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Edit%20Message']" semanticCandidatesExpression="feature:messages" semanticElements="service:getMessageAssociatedElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetFinderExpression="service:getReceivingContext" sourceFinderExpression="service:getSendingContext" domainClass="interactions.FeatureAccessMessage" useDomainElement="true" sendingEndFinderExpression="feature:sendingEnd" receivingEndFinderExpression="feature:receivingEnd">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_green']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="feature:name">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
<conditionnalStyles predicateExpression="feature:isWrite">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_orange']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="feature:name">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</conditionnalStyles>
</edgeMappings>
<edgeMappings xsi:type="description_1:BasicMessageMapping" name="Call Message" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Delete%20Message']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Edit%20Message']" semanticCandidatesExpression="feature:messages" semanticElements="service:getMessageAssociatedElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetFinderExpression="service:getReceivingContext" sourceFinderExpression="service:getSendingContext" domainClass="interactions.CallMessage" useDomainElement="true" sendingEndFinderExpression="feature:sendingEnd" receivingEndFinderExpression="feature:receivingEnd">
<style sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="feature:name">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings xsi:type="description_1:CreationMessageMapping" name="Create Participant Message" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Delete%20Message']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Edit%20Message']" semanticCandidatesExpression="feature:messages" semanticElements="service:getMessageAssociatedElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetFinderExpression="service:getReceivingContext" sourceFinderExpression="service:getSendingContext" domainClass="interactions.CreateParticipantMessage" useDomainElement="true" sendingEndFinderExpression="feature:sendingEnd" receivingEndFinderExpression="feature:receivingEnd">
<style lineStyle="dash" targetArrow="InputFillClosedArrow" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='green']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="feature:name">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings xsi:type="description_1:DestructionMessageMapping" name="Destroy Participant Message" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Delete%20Message']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Edit%20Message']" semanticCandidatesExpression="feature:messages" semanticElements="service:getMessageAssociatedElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='EOL'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetFinderExpression="service:getReceivingContext" sourceFinderExpression="service:getSendingContext" domainClass="interactions.DestroyParticipantMessage" useDomainElement="true" sendingEndFinderExpression="feature:sendingEnd" receivingEndFinderExpression="feature:receivingEnd">
<style lineStyle="dash" targetArrow="InputFillClosedArrow" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_red']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="feature:name">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<edgeMappings xsi:type="description_1:ReturnMessageMapping" name="Return Message" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.3/@ownedTools[name='Delete%20Message']" semanticCandidatesExpression="feature:messages" semanticElements="service:getMessageAssociatedElements" synchronizationLock="true" sourceMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Lost%20Message%20End']" targetFinderExpression="service:getReceivingContext" sourceFinderExpression="service:getSendingContext" domainClass="interactions.ReturnMessage" useDomainElement="true" sendingEndFinderExpression="feature:sendingEnd" receivingEndFinderExpression="feature:receivingEnd" invocationMessageFinderExpression="feature:invocationMessage">
<style lineStyle="dot" sizeComputationExpression="aql:self.eContents()->size()">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='blue']"/>
<centerLabelStyleDescription showIcon="false">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings xsi:type="description_1:InteractionUseMapping" name="Interaction Use" preconditionExpression="aql:not self.coveredParticipants->isEmpty()" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.7/@ownedTools[name='Delete%20Interaction%20Use']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.7/@ownedTools[name='Edit%20IU%20Label']" semanticCandidatesExpression="feature:eAllContents" semanticElements="self->asSet()->union(self.interaction->asSet())" synchronizationLock="true" domainClass="interactions.InteractionUse" startingEndFinderExpression="service:startingEnd" finishingEndFinderExpression="service:finishingEnd" coveredLifelinesExpression="feature:coveredParticipants" centerLabelExpression="aql:'call(' + self.interaction.name + ')'">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" labelExpression="feature:type" labelAlignment="LEFT">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<backgroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='white']"/>
<foregroundColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
</style>
</containerMappings>
<containerMappings xsi:type="description_1:CombinedFragmentMapping" name="Combined Fragment" preconditionExpression="aql:not self.coveredParticipants->isEmpty()" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.8/@ownedTools[name='Delete%20Combined%20Fragment']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.8/@ownedTools[name='Edit%20Combined%20Fragment']" semanticCandidatesExpression="feature:eAllContents" semanticElements="var:self" synchronizationLock="true" domainClass="interactions.CombinedFragment" startingEndFinderExpression="feature:start" finishingEndFinderExpression="feature:finish" coveredLifelinesExpression="feature:coveredParticipants">
<subContainerMappings xsi:type="description_1:OperandMapping" name="Operand" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.8/@subSections[name='Operands']/@ownedTools[name='Delete%20Operand']" labelDirectEdit="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.8/@subSections[name='Operands']/@ownedTools[name='Edit%20Operand']" semanticCandidatesExpression="feature:ownedOperands" semanticElements="var:self" synchronizationLock="true" domainClass="interactions.Operand" startingEndFinderExpression="feature:start" finishingEndFinderExpression="service:getFinishingEnd">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Dutch%20Seas']/@entries[name='Dutch%20teal']" showIcon="false" labelExpression="aql:'[' + self.name + ']'" labelColor="//@userColorsPalettes[name='Skyblue']/@entries[name='Evening_Skyblue']" labelAlignment="LEFT" backgroundStyle="GradientTopToBottom" backgroundColor="//@userColorsPalettes[name='Dutch%20Seas']/@entries[name='Paleolitico']" foregroundColor="//@userColorsPalettes[name='Dutch%20Seas']/@entries[name='Paleolitico']"/>
</subContainerMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="1" arcHeight="1" borderSizeComputationExpression="1" borderColor="//@userColorsPalettes[name='Dutch%20Seas']/@entries[name='Dutch%20teal']" showIcon="false" labelExpression="feature:operator" labelColor="//@userColorsPalettes[name='Skyblue']/@entries[name='Evening_Skyblue']" labelAlignment="LEFT" backgroundColor="//@userColorsPalettes[name='Greens']/@entries[name='Interpolated%20green%20for%20Combined%20Fragments']" foregroundColor="//@userColorsPalettes[name='Greens']/@entries[name='Interpolated%20green%20for%20Combined%20Fragments']">
<labelBorderStyle href="environment:/viewpoint#//@labelBorderStyles/@labelBorderStyleDescriptions.0"/>
</style>
</containerMappings>
<toolSections name="Tools">
<ownedTools xsi:type="tool:InstanceRoleCreationTool" name="Participant" nodeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']">
<variable name="variable"/>
<viewVariable name="viewVariable"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:container">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Participant" referenceName="participants">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'newParticipant' + self.eContainer(interactions::Interaction).participants->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move participant" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="participants"/>
<parameters name="element" value="var:instance"/>
<parameters name="predecessor" value="aql:predecessor"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<predecessor name="predecessor"/>
</ownedTools>
<ownedTools xsi:type="tool:MessageCreationTool" name="Sync Call" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Call%20Message']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Call Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CallMessage" referenceName="messages" variableName="callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operation" valueExpression="aql:target.currentParticipant.type.eOperations->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Execution" referenceName="executions" variableName="newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'e' + self.eContainerOrSelf(interactions::Interaction).executions->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.ReturnMessage" referenceName="messages" variableName="returnMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="invocationMessage" valueExpression="var:callMsg"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:returnMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_return' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:source.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:callMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MixEnd" referenceName="ends" variableName="startExec">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:callMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + self.execution.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MixEnd" referenceName="ends" variableName="endExec">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:returnMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'finish_' + self.execution.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="aql:sendingEnd.context"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:returnMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:startExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startExec"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="end" valueExpression="var:endExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:returnMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:endExec"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startExec" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startExec"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move endExec" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:endExec"/>
<parameters name="predecessor" value="var:startExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="var:endExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new execution position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.1/@subModelOperations.2"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:returnMsg">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new return message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</ownedTools>
<ownedTools xsi:type="tool:MessageCreationTool" name="Async Call" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Call%20Message']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Call Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CallMessage" referenceName="messages" variableName="callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operation" valueExpression="aql:target.currentParticipant.type.eOperations->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Execution" referenceName="executions" variableName="newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'e' + self.eContainerOrSelf(interactions::Interaction).executions->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:source.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:callMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MixEnd" referenceName="ends" variableName="startExec">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:callMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + self.execution.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.ExecutionEnd" referenceName="ends" variableName="endExec">
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:startExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startExec"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="end" valueExpression="var:endExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startExec" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startExec"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move endExec" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:endExec"/>
<parameters name="predecessor" value="var:startExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new execution position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.1/@subModelOperations.2"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</ownedTools>
<ownedTools xsi:type="tool:MessageCreationTool" name="Create" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Create%20Participant%20Message']" extraTargetMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Creation Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CreateParticipantMessage" referenceName="messages" variableName="newMessage"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:source.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:newMessage.sendingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_create' + self.eContainer(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</ownedTools>
<ownedTools xsi:type="tool:MessageCreationTool" name="Destroy" forceRefresh="true" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Destroy%20Participant%20Message']" extraTargetMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Destruction Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_2:CreateView" mapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='EOL']" containerViewExpression="var:targetView"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.DestroyParticipantMessage" referenceName="messages" variableName="newMessage"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:source.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:newMessage.sendingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_destroy'+ self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</ownedTools>
<ownedTools xsi:type="tool_2:ToolGroup" name="States">
<tools xsi:type="tool:StateCreationTool" name="State" nodeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='State']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Execution creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.State" referenceName="states" variableName="newState">
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="service:container.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.StateEnd" referenceName="ends" variableName="startingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="state" valueExpression="var:newState"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="aql:newState.owner"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.StateEnd" referenceName="ends" variableName="finishingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="state" valueExpression="var:newState"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="aql:newState.owner"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newState">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="end" valueExpression="var:finishingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move finishingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:finishingEnd"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newState">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new state position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.2/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'s' + self.eContainerOrSelf(interactions::Interaction).states->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:startingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + self.state.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:finishingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'finish_' + self.state.name"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</tools>
<tools xsi:type="tool:StateCreationTool" name="Punctual State" nodeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='State']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Execution creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.State" referenceName="states" variableName="newState">
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="service:container.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.StateEnd" referenceName="ends" variableName="startingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="state" valueExpression="var:newState"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="aql:newState.owner"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newState">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="end" valueExpression="var:startingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newState">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new state position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.2/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'ps' + self.eContainerOrSelf(interactions::Interaction).states->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:startingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'middle_' + self.state.name"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</tools>
</ownedTools>
<ownedTools xsi:type="tool_2:ToolGroup" name="Messages">
<tools xsi:type="tool:MessageCreationTool" name="Read" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Feature%20Access%20Message']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Read Feature Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.FeatureAccessMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="feature" valueExpression="aql:target.currentParticipant.type.eStructuralFeatures->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:source.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new read message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</tools>
<tools xsi:type="tool:MessageCreationTool" name="Write" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Feature%20Access%20Message']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Write Feature Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.FeatureAccessMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="feature" valueExpression="aql:target.currentParticipant.type.eStructuralFeatures->first()"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="isWrite" valueExpression="aql:true"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:source.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new write message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</tools>
<tools xsi:type="tool:MessageCreationTool" name="Call" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Call%20Message']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Call Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CallMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operation" valueExpression="aql:target.currentParticipant.type.eOperations->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:source.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</tools>
<tools xsi:type="tool:MessageCreationTool" name="Return" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Return%20Message']">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Read Feature Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.ReturnMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="feature" valueExpression="aql:target.currentParticipant.type.eStructuralFeatures->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:source.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:target.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new return message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_return' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</tools>
</ownedTools>
<ownedTools xsi:type="tool:ExecutionCreationTool" name="Execution" nodeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Execution creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Execution" referenceName="executions" variableName="newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="service:container.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.ExecutionEnd" referenceName="ends" variableName="startingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="aql:newExecution.owner"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.ExecutionEnd" referenceName="ends" variableName="finishingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="aql:newExecution.owner"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="end" valueExpression="var:finishingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move finishingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:finishingEnd"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new execution position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.1/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'e' + self.eContainerOrSelf(interactions::Interaction).executions->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:startingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + self.execution.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:finishingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'finish' + self.execution.name"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</ownedTools>
</toolSections>
<toolSections name="Frames">
<ownedTools xsi:type="tool:InteractionUseCreationTool" name="Interaction Use" containerMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@containerMappings[name='Interaction%20Use']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="IU creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.InteractionUse" referenceName="interactionUses" variableName="newIU">
<subModelOperations xsi:type="tool_1:SetValue" featureName="type" valueExpression="aql:'ref.' + self.eContainer().eContents()->filter(interactions::InteractionUse)->size()"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="interaction" valueExpression="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="coveredParticipants" valueExpression="var:coverage"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.InteractionUseEnd" referenceName="ends" variableName="startingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + instance.name"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="var:newIU"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.InteractionUseEnd" referenceName="ends" variableName="finishingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'finish_' + instance.name"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="var:newIU"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newIU">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startingEnd"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="finish" valueExpression="var:finishingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move finishingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:finishingEnd"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newIU">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust interaction use position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.4/@subModelOperations.2"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
<coveredLifelines name="coverage"/>
</ownedTools>
<ownedTools xsi:type="tool:CombinedFragmentCreationTool" name="Combined Fragment" containerMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@containerMappings[name='Combined%20Fragment']" extraMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@containerMappings[name='Combined%20Fragment']/@subContainerMappings[name='Operand']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="CF creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CombinedFragment" referenceName="combinedFragments" variableName="newCF">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operator" valueExpression="aql:'alt.' + self.eContainer().eContents()->filter(interactions::CombinedFragment)->size()"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="coveredParticipants" valueExpression="var:coverage"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Operand" referenceName="ownedOperands" variableName="newOperand">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="condition1"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CombinedFragmentEnd" referenceName="ends" variableName="startCF">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_'+ newCF.operator"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="var:newCF"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CombinedFragmentEnd" referenceName="ends" variableName="finishCF">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'finish_' + newCF.operator"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="var:newCF"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.OperandEnd" referenceName="ends" variableName="newOpEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + newOperand.name"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="var:newOperand"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newCF">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startCF"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="finish" valueExpression="var:finishCF"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newOperand">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:newOpEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move finishCF" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:finishCF"/>
<parameters name="predecessor" value="aql:finishingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move newOpEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:newOpEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startCF" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startCF"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
<coveredLifelines name="coverage"/>
</ownedTools>
<ownedTools xsi:type="tool:OperandCreationTool" name="Operand" containerMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@containerMappings[name='Combined%20Fragment']/@subContainerMappings[name='Operand']">
<variable name="container"/>
<viewVariable name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Operand Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container.eContainerOrSelf(interactions::CombinedFragment)">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Operand" referenceName="ownedOperands" variableName="newOperand">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'condition.' + self.eContainer().ownedOperands->size()"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.OperandEnd" referenceName="ends" variableName="newOpEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + newOperand.name"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="var:newOperand"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newOperand">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:newOpEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move operand start end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:newOpEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessor.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move operand" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:newOperand.eContainer()"/>
<parameters name="referenceName" value="ownedOperands"/>
<parameters name="element" value="var:newOperand"/>
<parameters name="predecessor" value="aql:newOperand.start.precedingSiblings()->reverse()->filter(interactions::OperandEnd)->asSet()->intersection(newOperand.eContainer().ownedOperands.start->asSet())->first().owner"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
<startingEndPredecessor name="startingEndPredecessor"/>
<finishingEndPredecessor name="finishingEndPredecessor"/>
</ownedTools>
</toolSections>
<toolSections name="Participants">
<ownedTools xsi:type="tool_2:DirectEditLabel" name="Edit Participant">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:arg0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="Delete EndOfLife">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="Delete Participant">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:For" expression="aql:self.eInverse('context')->select( c | c.eContainer()->size() > 0)" iteratorName="end">
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:end.oclIsKindOf(interactions::ExecutionEnd)">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:end.execution">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:end.oclIsKindOf(interactions::MessageEnd)">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:end.message">
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:(self.sendingEnd = end and self.receivingEnd = null) or (self.sendingEnd = null and self.receivingEnd = end)">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:end.oclIsKindOf(interactions::StateEnd)">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:end.state">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Messages">
<ownedTools xsi:type="tool_2:DirectEditLabel" name="Edit Message">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:arg0"/>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="send_var:arg0"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="receive_var:arg0"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="Delete Message">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:sendingEnd">
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:not self.oclIsKindOf(interactions::MixEnd) or (self.oclIsKindOf(interactions::MixEnd) and self.execution = null)">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:receivingEnd">
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:not self.oclIsKindOf(interactions::MixEnd) or (self.oclIsKindOf(interactions::MixEnd) and self.execution = null)">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Executions">
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="Delete Execution">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:start">
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:not self.oclIsKindOf(interactions::MixEnd) or (self.oclIsKindOf(interactions::MixEnd) and self.message = null)">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:end">
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:not self.oclIsKindOf(interactions::MixEnd) or (self.oclIsKindOf(interactions::MixEnd) and self.message = null)">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="States">
<ownedTools xsi:type="tool_2:DirectEditLabel" name="Edit State">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:arg0"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="Delete State">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:element">
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.start &lt;> self.end">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:start">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:end">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Tools">
<ownedTools xsi:type="tool:ReorderTool" name="Reorder Executions, States Messages, InteractionUses" mappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='Execution'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']/@borderedNodeMappings[name='Lifeline']/@borderedNodeMappings[name='State'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Call%20Message'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@containerMappings[name='Combined%20Fragment'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@containerMappings[name='Combined%20Fragment']/@subContainerMappings[name='Operand'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Create%20Participant%20Message'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Destroy%20Participant%20Message'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Feature%20Access%20Message'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@containerMappings[name='Interaction%20Use'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Return%20Message']">
<startingEndPredecessorAfter name="startingEndPredecessorAfter"/>
<finishingEndPredecessorAfter name="finishingEndPredecessorAfter"/>
<onEventMovedOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Event reordering"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsKindOf(interactions::Execution)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move start end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:start"/>
<parameters name="predecessor" value="aql:startingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move finish end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:end"/>
<parameters name="predecessor" value="aql:finishingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Adjust execution position 2" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="executions"/>
<parameters name="element" value="var:self"/>
<parameters name="predecessor" value="aql:self.start.precedingSiblings()->filter(interactions::ExecutionEnd)->select(current | current.execution.start = current)->last().execution"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsKindOf(interactions::State)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move start end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:start"/>
<parameters name="predecessor" value="aql:startingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move finish end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:end"/>
<parameters name="predecessor" value="aql:finishingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Adjust state position" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="states"/>
<parameters name="element" value="var:self"/>
<parameters name="predecessor" value="aql:self.start.precedingSiblings()->filter(interactions::StateEnd)->select(current | current.state.start = current)->last().state"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsKindOf(interactions::Message)">
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.sendingEnd">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sending end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="aql:self.sendingEnd"/>
<parameters name="predecessor" value="aql:startingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.receivingEnd">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receiving end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="aql:self.receivingEnd"/>
<parameters name="predecessor" value="aql:finishingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Adjust message position 2" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="messages"/>
<parameters name="element" value="var:self"/>
<parameters name="predecessor" value="aql:self.sendingEnd.precedingSiblings()->filter(interactions::MessageEnd)->select(current | current.message.receivingEnd = current)->last().message"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsKindOf(interactions::InteractionUse)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move start end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:start"/>
<parameters name="predecessor" value="aql:startingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move finish end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:finish"/>
<parameters name="predecessor" value="aql:finishingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Adjust Interaction Use position" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="interactionUses"/>
<parameters name="element" value="var:self"/>
<parameters name="predecessor" value="aql:self.start.precedingSiblings()->filter(interactions::InteractionUseEnd)->select(current| current.owner.start = current)->last().owner"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsKindOf(interactions::CombinedFragment)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move start end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:start"/>
<parameters name="predecessor" value="aql:startingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move finish end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:finish"/>
<parameters name="predecessor" value="aql:finishingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Adjust CombinedFragment position" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="combinedFragments"/>
<parameters name="element" value="var:self"/>
<parameters name="predecessor" value="aql:self.start.precedingSiblings()->filter(interactions::CombinedFragmentEnd)->select(current | current.owner.start = current)->last().owner"/>
</subModelOperations>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsKindOf(interactions::Operand)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move start end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="feature:start"/>
<parameters name="predecessor" value="aql:startingEndPredecessorAfter.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Adjust Operand position" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::CombinedFragment)"/>
<parameters name="referenceName" value="ownedOperands"/>
<parameters name="element" value="var:self"/>
<parameters name="predecessor" value="aql:self.start.precedingSiblings()->filter(interactions::OperandEnd)->select(op | op.owner.start = op and self.eContainerOrSelf(interactions::CombinedFragment) = op.owner.eContainerOrSelf(interactions::CombinedFragment))->last().owner)"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</onEventMovedOperation>
</ownedTools>
<ownedTools xsi:type="tool:InstanceRoleReorderTool" name="Reorder Participants" mappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@nodeMappings[name='Participant']">
<predecessorBefore name="predecessorBefore"/>
<predecessorAfter name="predecessorAfter"/>
<instanceRoleMoved>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Event reordering"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:If" conditionExpression="aql:self.oclIsKindOf(interactions::Participant)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move start end" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="aql:self.eContainerOrSelf(interactions::Interaction)"/>
<parameters name="referenceName" value="participants"/>
<parameters name="element" value="var:self"/>
<parameters name="predecessor" value="aql:predecessorAfter"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</instanceRoleMoved>
</ownedTools>
</toolSections>
<toolSections name="Interaction Use">
<ownedTools xsi:type="tool_2:DirectEditLabel" name="Edit IU Label">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:SetValue" featureName="type" valueExpression="var:arg0"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="Delete Interaction Use">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:start">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="feature:finish">
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:RemoveElement"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Combined Fragment">
<ownedTools xsi:type="tool_2:DirectEditLabel" name="Edit Combined Fragment">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operator" valueExpression="var:arg0"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="Delete Combined Fragment">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.deleteCombinedFragment()"/>
</initialOperation>
</ownedTools>
<subSections name="Operands">
<ownedTools xsi:type="tool_2:DirectEditLabel" name="Edit Operand">
<mask mask="{0}"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:self">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="var:arg0"/>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="Delete Operand">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.deleteOperand()"/>
</initialOperation>
</ownedTools>
</subSections>
</toolSections>
</defaultLayer>
<additionalLayers name="Lost Found" label="Lost and found messages creation">
<toolSections name="Lost Messages">
<ownedTools xsi:type="tool_1:ToolDescription" name="Lost Sync/ASync Call" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Call Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CallMessage" referenceName="messages" variableName="callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operation" valueExpression="aql:element.currentParticipant.type.eOperations->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:callMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ToolDescription" name="Lost Create" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Creation Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CreateParticipantMessage" referenceName="messages" variableName="newMessage"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_create' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ToolDescription" name="Lost Destroy" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Destruction Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.DestroyParticipantMessage" referenceName="messages" variableName="newMessage"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_destroy'+ self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:ToolGroup" name="Lost Messages">
<tools xsi:type="tool_1:ToolDescription" name="Lost Read" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Read Feature Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.FeatureAccessMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="feature" valueExpression="aql:element.currentParticipant.type.eStructuralFeatures->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new read message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
<tools xsi:type="tool_1:ToolDescription" name="Lost Write" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Write Feature Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.FeatureAccessMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="feature" valueExpression="aql:element.currentParticipant.type.eStructuralFeatures->first()"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="isWrite" valueExpression="aql:true"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new write message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
<tools xsi:type="tool_1:ToolDescription" name="Lost Call" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Call Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CallMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operation" valueExpression="aql:element.currentParticipant.type.eOperations->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:sendingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move sendingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:sendingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:sendingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'send_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
</ownedTools>
</toolSections>
<toolSections name="Found Messages">
<ownedTools xsi:type="tool_1:ToolDescription" name="Found Sync Call" precondition="aql:(container.oclIsKindOf(interactions::Participant) and containerView.eContainer().oclIsKindOf(diagram::DNode)) or container.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="container"/>
<elementView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Call Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CallMessage" referenceName="messages" variableName="callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operation" valueExpression="aql:container.currentParticipant.type.eOperation->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Execution" referenceName="executions" variableName="newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="service:container.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'e' + self.eContainerOrSelf(interactions::Interaction).executions->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.ReturnMessage" referenceName="messages" variableName="returnMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="invocationMessage" valueExpression="var:callMsg"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:returnMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_return' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MixEnd" referenceName="ends" variableName="startExec">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:container.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:callMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + self.execution.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MixEnd" referenceName="ends" variableName="endExec">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:container.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:returnMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'finish' + self.execution.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:startExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startExec"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="end" valueExpression="var:endExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:returnMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="sendingEnd" valueExpression="var:endExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startExec" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startExec"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move endExec" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:endExec"/>
<parameters name="predecessor" value="var:startExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new execution position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.1/@subModelOperations.2"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:returnMsg">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new return message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ToolDescription" name="Found ASync Call" precondition="aql:(container.oclIsKindOf(interactions::Participant) and containerView.eContainer().oclIsKindOf(diagram::DNode)) or container.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="container"/>
<elementView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:container.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Call Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CallMessage" referenceName="messages" variableName="callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operation" valueExpression="aql:container.currentParticipant.type.eOperation->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Execution" referenceName="executions" variableName="newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="owner" valueExpression="service:container.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'e' + self.eContainerOrSelf(interactions::Interaction).executions->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MixEnd" referenceName="ends" variableName="startExec">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:container.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:callMsg"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'start_' + self.execution.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.ExecutionEnd" referenceName="ends" variableName="endExec">
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:container.currentParticipant"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="execution" valueExpression="var:newExecution"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'finish' + self.execution.name"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:startExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:SetValue" featureName="start" valueExpression="var:startExec"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="end" valueExpression="var:endExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move startExec" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:startExec"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move endExec" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:endExec"/>
<parameters name="predecessor" value="var:startExec"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:callMsg">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newExecution">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new execution position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.1/@subModelOperations.2"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ToolDescription" name="Found Create" precondition="aql:element.oclIsKindOf(interactions::Participant) and elementview.eContainer().oclIsKindOf(diagram::DNode) and elementView.eContainer().eContainer().oclIsKindOf(diagram::DDiagram) and element.canCreate(endBefore)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Creation Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CreateParticipantMessage" referenceName="messages" variableName="newMessage"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_create' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_1:ToolDescription" name="Found Destroy" precondition="aql:element.oclIsKindOf(interactions::Participant) and elementView.eContainer().oclIsKindOf(diagram::DNode) and elementView.eContaienr().eContainer().oclIsKindOf(diagram::DDiagram) and element.canDestroy(endBefore)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Destruction Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.DestroyParticipantMessage" referenceName="messages" variableName="newMessage"/>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m_destroy'+ self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:ToolGroup" name="Found Messages">
<tools xsi:type="tool_1:ToolDescription" name="Found Read" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Read Feature Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.FeatureAccessMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="feature" valueExpression="aql:element.currentParticipant.type.eStructuralFeatures->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new read message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
<tools xsi:type="tool_1:ToolDescription" name="Found Write" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Write Feature Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.FeatureAccessMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="feature" valueExpression="aql:element.currentParticipant.type.eStructuralFeatures->first()"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="isWrite" valueExpression="aql:true"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new write message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
<tools xsi:type="tool_1:ToolDescription" name="Found Call" precondition="aql:(element.oclIsKindOf(interactions::Participant) and elementView.eContaienr().oclIsKindOf(diagram::DNode)) or element.oclIsKindOf(interactions::Execution)" forceRefresh="true">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:element.eContainerOrSelf(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Show variables" id="org.eclipse.sirius.business.api.action.printVariables">
<parameters name="title" value="Call Message Creation"/>
<parameters name="enabled" value="aql:false"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.CallMessage" referenceName="messages" variableName="newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="operation" valueExpression="aql:element.currentParticipant.type.eOperations->first()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.MessageEnd" referenceName="ends" variableName="receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="message" valueExpression="var:newMessage"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="context" valueExpression="service:element.currentParticipant"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:SetValue" featureName="receivingEnd" valueExpression="var:receivingEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ExternalJavaAction" name="Move receivingEnd" icon="" id="org.eclipse.sirius.business.api.action.moveElement">
<parameters name="referenceOwner" value="var:self"/>
<parameters name="referenceName" value="ends"/>
<parameters name="element" value="var:receivingEnd"/>
<parameters name="predecessor" value="aql:endBefore.semanticEnd"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:newMessage">
<subModelOperations xsi:type="tool_1:ExternalJavaActionCall" name="Adjust new call message position" action="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@toolSections.6/@ownedTools[name='Reorder%20Executions%2C%20States%20Messages%2C%20InteractionUses']/@onEventMovedOperation/@firstModelOperations/@subModelOperations.3/@subModelOperations.2"/>
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'m' + self.eContainerOrSelf(interactions::Interaction).messages->size()"/>
</subModelOperations>
<subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="var:receivingEnd">
<subModelOperations xsi:type="tool_1:SetValue" featureName="name" valueExpression="aql:'receive_' + self.message.name"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</tools>
</ownedTools>
</toolSections>
</additionalLayers>
<additionalLayers name="duration" label="Duration Constraints">
<nodeMappings xsi:type="description_1:ObservationPointMapping" name="endObsPoint" deletionDescription="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@additionalLayers[name='duration']/@toolSections.0/@ownedTools[name='noDeleteObsPoint']" semanticCandidatesExpression="aql:self.ends" domainClass="AbstractEnd">
<style xsi:type="style:WorkspaceImageDescription" showIcon="false" labelExpression="" sizeComputationExpression="-1" arcWidth="1" arcHeight="1" workspacePath="/org.eclipse.sirius.sample.interactions.design/description/observation.svg">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</style>
</nodeMappings>
<edgeMappings name="constraint" preconditionExpression="aql:self.constrainedEnds->size() = 2" semanticCandidatesExpression="aql:self.constraints" sourceMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@additionalLayers[name='duration']/@nodeMappings[name='endObsPoint']" targetMapping="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@additionalLayers[name='duration']/@nodeMappings[name='endObsPoint']" targetFinderExpression="aql:self.constrainedEnds->at(2)" sourceFinderExpression="aql:self.constrainedEnds->at(1)" domainClass="Constraint" useDomainElement="true">
<style xsi:type="style:BracketEdgeStyleDescription" sourceArrow="InputArrow">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="aql:self.expression">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='gray']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<toolSections name="Constraints">
<ownedTools xsi:type="tool_2:DeleteElementDescription" name="noDeleteObsPoint" precondition="false">
<element name="element"/>
<elementView name="elementView"/>
<containerView name="containerView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:self"/>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool_2:EdgeCreationDescription" name="Constraint" precondition="aql:preSource &lt;> preTarget and preTarget.isValidTargetForConstraintCreation()" edgeMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@additionalLayers[name='duration']/@edgeMappings[name='constraint']" extraSourceMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Call%20Message'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Return%20Message']" extraTargetMappings="//@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Call%20Message'] //@ownedViewpoints[name='Interactions']/@ownedRepresentations[name='Sequence%20Diagram%20on%20Interaction']/@defaultLayer/@edgeMappings[name='Return%20Message']" connectionStartPrecondition="aql:preSource.isValidSourceForConstraintCreation()">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="aql:source.eContainer(interactions::Interaction)">
<subModelOperations xsi:type="tool_1:CreateInstance" typeName="interactions.Constraint" referenceName="constraints" variableName="ct">
<subModelOperations xsi:type="tool_1:SetValue" featureName="expression" valueExpression="aql:'constraint' + self.eContainer().eContents()->filter(interactions::Constraint)->size()"/>
<subModelOperations xsi:type="tool_1:Switch">
<cases conditionExpression="aql:source.oclIsKindOf(interactions::CallMessage) and source.receivingEnd.oclIsKindOf(interactions::MixEnd)">
<subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedEnds" valueExpression="aql:source.receivingEnd"/>
</cases>
<cases conditionExpression="aql:source.oclIsKindOf(interactions::ReturnMessage) and source.sendingEnd.oclIsKindOf(interactions::MixEnd)">
<subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedEnds" valueExpression="aql:source.sendingEnd"/>
</cases>
<default>
<subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedEnds" valueExpression="var:source"/>
</default>
</subModelOperations>
<subModelOperations xsi:type="tool_1:Switch">
<cases conditionExpression="aql:target.oclIsKindOf(interactions::ReturnMessage) and target.sendingEnd.oclIsKindOf(interactions::MixEnd)">
<subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedEnds" valueExpression="aql:target.sendingEnd"/>
</cases>
<cases conditionExpression="aql:target.oclIsKindOf(interactions::CallMessage) and target.receivingEnd.oclIsKindOf(interactions::MixEnd)">
<subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedEnds" valueExpression="aql:target.receivingEnd"/>
</cases>
<default>
<subModelOperations xsi:type="tool_1:SetValue" featureName="constrainedEnds" valueExpression="var:target"/>
</default>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</additionalLayers>
</ownedRepresentations>
<ownedJavaExtensions qualifiedClassName="org.eclipse.sirius.sample.interactions.services.InteractionOrderingServices"/>
</ownedViewpoints>
<userColorsPalettes name="Skyblue">
<entries xsi:type="description:UserFixedColor" red="16" green="127" blue="201" name="High_Skyblue"/>
<entries xsi:type="description:UserFixedColor" red="14" green="78" blue="173" name="Afternoon_Skyblue"/>
<entries xsi:type="description:UserFixedColor" red="11" green="16" blue="140" name="Evening_Skyblue"/>
<entries xsi:type="description:UserFixedColor" red="12" green="15" blue="102" name="Moonview_Skyblue"/>
<entries xsi:type="description:UserFixedColor" red="4" green="14" blue="61" name="Midnight_Skyblue"/>
</userColorsPalettes>
<userColorsPalettes name="Dutch Seas">
<entries xsi:type="description:UserFixedColor" red="22" green="147" blue="165" name="Dutch teal"/>
<entries xsi:type="description:UserFixedColor" red="69" green="181" blue="196" name="Lavonne"/>
<entries xsi:type="description:UserFixedColor" red="126" green="206" blue="202" name="Seabluff"/>
<entries xsi:type="description:UserFixedColor" red="160" green="222" blue="214" name="Paleolitico"/>
<entries xsi:type="description:UserFixedColor" red="199" green="237" blue="232" name="Glint on the ocean"/>
<entries xsi:type="description:InterpolatedColor" name="Interpolated blue for Executions" colorValueComputationExpression="aql:self.computeExecutionDepth()">
<colorSteps associatedValue="0" associatedColor="//@userColorsPalettes[name='Dutch%20Seas']/@entries[name='Glint%20on%20the%20ocean']"/>
<colorSteps associatedValue="10" associatedColor="//@userColorsPalettes[name='Dutch%20Seas']/@entries[name='Dutch%20teal']"/>
</entries>
</userColorsPalettes>
<userColorsPalettes name="Greens">
<entries xsi:type="description:UserFixedColor" red="160" green="212" blue="164" name="Irish Sea"/>
<entries xsi:type="description:UserFixedColor" red="166" green="227" blue="187" name="Watery Green"/>
<entries xsi:type="description:UserFixedColor" red="186" green="250" blue="158" name="Gentler Spring"/>
<entries xsi:type="description:UserFixedColor" red="16" green="120" blue="103" name="Flabber Green"/>
<entries xsi:type="description:InterpolatedColor" name="Interpolated green for Combined Fragments" colorValueComputationExpression="aql:self.computeCombinedFragmentDepth()">
<colorSteps associatedValue="0" associatedColor="//@userColorsPalettes[name='Greens']/@entries[name='Watery%20Green']"/>
<colorSteps associatedValue="5" associatedColor="//@userColorsPalettes[name='Greens']/@entries[name='Flabber%20Green']"/>
</entries>
</userColorsPalettes>
</description:Group>