This project is a demonstrator of pattern instanciation on system engineering model (pseim), made by the MOISE project. It contains the metamodel of the pseim, graphical and textual editors, formal verification models (event-B) and examples.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

326 lines
35 KiB

6 years ago
<?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/description/1.1.0" xmlns:style="http://www.eclipse.org/sirius/diagram/description/style/1.1.0" xmlns:tool="http://www.eclipse.org/sirius/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/diagram/description/tool/1.1.0" name="se" version="12.0.0.2017041100">
<ownedViewpoints name="SE model pattern" modelFileExtension="pseim pseimx">
<ownedRepresentations xsi:type="description_1:DiagramDescription" name="System Engineering Pattern Diagram" titleExpression="[thisEObject.name + ' pattern'/]" initialisation="true" domainClass="pseim::Pattern" enablePopupBars="true">
<metamodel href="http://www.irt-saintexupery.com/pseim/0.1#/"/>
<metamodel href="http://www.irt-saintexupery.com/seim/0.1#/"/>
<defaultLayer name="Default">
<edgeMappings name="Ports 2 ports links" sourceMapping="//@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@borderedNodeMappings[name='Ports'] //@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@subContainerMappings[name='Sub%20components']/@borderedNodeMappings[name='Ports']" targetMapping="//@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@borderedNodeMappings[name='Ports'] //@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@subContainerMappings[name='Sub%20components']/@borderedNodeMappings[name='Ports']" targetFinderExpression="feature:dst" sourceFinderExpression="feature:src" domainClass="pseim::PatternLink" useDomainElement="true">
<style targetArrow="InputFillClosedArrow" routingStyle="manhattan" endsCentering="Both">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="['&lt;' + linkType.toString() + '>'/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
<conditionnalStyles predicateExpression="[src.oclAsType(PatternPort).dir = PatternPortDirection::IN and dst.oclAsType(PatternPort).dir = PatternPortDirection::IN/]">
<style lineStyle="dash" targetArrow="NoDecoration" sizeComputationExpression="2" routingStyle="manhattan">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='green']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="['&lt;' + linkType.toString() + '>'/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[src.oclAsType(PatternPort).dir = PatternPortDirection::OUT and dst.oclAsType(PatternPort).dir = PatternPortDirection::OUT/]">
<style lineStyle="dash" targetArrow="NoDecoration" sizeComputationExpression="2" routingStyle="manhattan">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
<centerLabelStyleDescription showIcon="false" labelExpression="['&lt;' + linkType.toString() + '>'/]">
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</conditionnalStyles>
</edgeMappings>
<edgeMappings name="Ports 2 multiplicities links" sourceMapping="//@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@borderedNodeMappings[name='Ports'] //@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@subContainerMappings[name='Sub%20components']/@borderedNodeMappings[name='Ports']" targetMapping="//@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@subNodeMappings[name='Port%20Static%20multiplicity'] //@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@subContainerMappings[name='Sub%20components']/@subNodeMappings[name='Port%20Static%20multiplicity']" targetFinderExpression="[self/]">
<style lineStyle="dot" targetArrow="NoDecoration" sizeComputationExpression="2">
<strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<centerLabelStyleDescription>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
</centerLabelStyleDescription>
</style>
</edgeMappings>
<containerMappings name="Pattern" semanticCandidatesExpression="[self/]" domainClass="pseim::Pattern">
<subContainerMappings name="Root component" semanticCandidatesExpression="[modelElements->filter(PatternComponent)/]" domainClass="pseim::PatternComponent">
<borderedNodeMappings name="Ports" semanticCandidatesExpression="[self.content->filter(PatternPort)/]" domainClass="pseim::PatternPort">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="[name/]" labelAlignment="RIGHT" sizeComputationExpression="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']"/>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_green']"/>
</style>
<conditionnalStyles predicateExpression="[dir = PatternPortDirection::IN/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="[name/]" labelAlignment="RIGHT" sizeComputationExpression="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']"/>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_green']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[dir = PatternPortDirection::OUT/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="[name/]" labelAlignment="RIGHT" sizeComputationExpression="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']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_red']"/>
</style>
</conditionnalStyles>
</borderedNodeMappings>
<borderedNodeMappings name="Multiplicity" semanticCandidatesExpression="[self.cardinalityElement/]" domainClass="pseim::CardinalityElement">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="2" borderLineStyle="dash" labelExpression="[name/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/replay_icon.gif" labelAlignment="LEFT" labelPosition="node" resizeKind="EAST_WEST">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings name="Static multiplicity" semanticCandidatesExpression="[if (multiplicityValue.oclIsUndefined() or multiplicityValue = 1) then OclVoid else self endif/]" domainClass="pseim::PatternComponent">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="2" borderLineStyle="dash" labelExpression="[multiplicityValue/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/replay_icon.gif" labelAlignment="LEFT" labelPosition="node" resizeKind="EAST_WEST">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</borderedNodeMappings>
<subNodeMappings name="Port Static multiplicity" semanticCandidatesExpression="[self.content->filter(PatternPort)->select(p : PatternPort | (not p.multiplicityValue.oclIsUndefined() and p.multiplicityValue &lt;> 1) or (not p.cardinalityElement.oclIsUndefined()))/]" domainClass="pseim::PatternPort">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="2" borderLineStyle="dash" labelExpression="[if (cardinalityElement.oclIsUndefined()) then (if (multiplicityValue.oclIsUndefined() or multiplicityValue = '') then '' else multiplicityValue endif) else cardinalityElement.name endif/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/replay_icon.gif" labelAlignment="LEFT" labelPosition="node" resizeKind="EAST_WEST">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</subNodeMappings>
<subNodeMappings name="Property value element" semanticCandidatesExpression="[self.properties/]" domainClass="seim::BasicProperty">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="Unimplemented property type" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
<conditionnalStyles predicateExpression="[self.oclIsKindOf(seim::StringProperty)/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="['[' +self.key + '] ' + self.oclAsType(seim::StringProperty).value/]" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[self.oclIsKindOf(seim::IntegerProperty)/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="['[' +self.key + '] ' + self.oclAsType(seim::IntegerProperty).value/]" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[self.oclIsKindOf(seim::BooleanProperty)/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="['[' +self.key + '] ' + self.oclAsType(seim::BooleanProperty).value/]" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
</conditionnalStyles>
</subNodeMappings>
<subContainerMappings name="Sub components" semanticCandidatesExpression="[content->filter(PatternComponent)/]" domainClass="pseim::PatternComponent" reusedContainerMappings="//@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@containerMappings[name='Pattern']/@subContainerMappings[name='Root%20component']/@subContainerMappings[name='Sub%20components']">
<borderedNodeMappings name="Ports" semanticCandidatesExpression="[self.content->filter(PatternPort)/]" domainClass="pseim::PatternPort">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="[name/]" labelAlignment="RIGHT" sizeComputationExpression="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']"/>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_green']"/>
</style>
<conditionnalStyles predicateExpression="[dir = PatternPortDirection::IN/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="[name/]" labelAlignment="RIGHT" sizeComputationExpression="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']"/>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_green']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[dir = PatternPortDirection::OUT/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="[name/]" labelAlignment="RIGHT" sizeComputationExpression="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']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>SOUTH</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='dark_red']"/>
</style>
</conditionnalStyles>
</borderedNodeMappings>
<borderedNodeMappings name="Multiplicity" semanticCandidatesExpression="[self.cardinalityElement/]" domainClass="pseim::CardinalityElement">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="2" borderLineStyle="dash" labelExpression="[name/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/replay_icon.gif" labelAlignment="LEFT" labelPosition="node" resizeKind="EAST_WEST">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</borderedNodeMappings>
<borderedNodeMappings name="Static multiplicity" semanticCandidatesExpression="[if (multiplicityValue.oclIsUndefined() or multiplicityValue = 1) then OclVoid else self endif/]" domainClass="pseim::PatternComponent">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="2" borderLineStyle="dash" labelExpression="[multiplicityValue/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/replay_icon.gif" labelAlignment="LEFT" labelPosition="node" resizeKind="EAST_WEST">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</borderedNodeMappings>
<subNodeMappings name="Port Static multiplicity" semanticCandidatesExpression="[self.content->filter(PatternPort)->select(p : PatternPort | (not p.multiplicityValue.oclIsUndefined() and p.multiplicityValue &lt;> 1) or (not p.cardinalityElement.oclIsUndefined()))/]" domainClass="pseim::PatternPort">
<style xsi:type="style:SquareDescription" borderSizeComputationExpression="2" borderLineStyle="dash" labelExpression="[if (cardinalityElement.oclIsUndefined()) then (if (multiplicityValue.oclIsUndefined() or multiplicityValue = '') then '' else multiplicityValue endif) else cardinalityElement.name endif/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/replay_icon.gif" labelAlignment="LEFT" labelPosition="node" resizeKind="EAST_WEST">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<forbiddenSides>WEST</forbiddenSides>
<forbiddenSides>EAST</forbiddenSides>
<forbiddenSides>NORTH</forbiddenSides>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_gray']"/>
</style>
</subNodeMappings>
<subNodeMappings name="Property value element" semanticCandidatesExpression="[self.properties/]" domainClass="seim::BasicProperty">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="test" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
<conditionnalStyles predicateExpression="[self.oclIsKindOf(seim::StringProperty)/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="['[' +self.key + '] ' + self.oclAsType(seim::StringProperty).value/]" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[self.oclIsKindOf(seim::IntegerProperty)/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="['[' +self.key + '] ' + self.oclAsType(seim::IntegerProperty).value/]" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
</conditionnalStyles>
<conditionnalStyles predicateExpression="[self.oclIsKindOf(seim::BooleanProperty)/]">
<style xsi:type="style:SquareDescription" showIcon="false" labelExpression="['[' +self.key + '] ' + self.oclAsType(seim::BooleanProperty).value/]" labelPosition="node" resizeKind="NSEW">
<borderColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
<color xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='light_yellow']"/>
</style>
</conditionnalStyles>
</subNodeMappings>
<style xsi:type="style:WorkspaceImageDescription" labelExpression="[name/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/Component.gif" sizeComputationExpression="-1" workspacePath="/com.irtsaintexupery.sirius.pseim/img/PatternComponent-fun.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>
<conditionnalStyles predicateExpression="[cardinalityElement.oclIsUndefined() and multiplicityValue = 1/]">
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="30" arcHeight="20" borderSizeComputationExpression="1" labelExpression="[name/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/Component.gif" roundedCorner="true" widthComputationExpression="[name.size() * 5/]" backgroundStyle="GradientTopToBottom">
<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_green']"/>
</style>
</conditionnalStyles>
</subContainerMappings>
<style xsi:type="style:FlatContainerStyleDescription" arcWidth="30" arcHeight="30" borderSizeComputationExpression="1" labelExpression="[name/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/Component.gif" widthComputationExpression="[name.size() * 5/]" backgroundStyle="GradientTopToBottom">
<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_green']"/>
</style>
</subContainerMappings>
<style xsi:type="style:FlatContainerStyleDescription" showIcon="false" labelExpression="" iconPath="/com.irtsaintexupery.sirius.pseim/img/Component.gif">
<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='white']"/>
</style>
</containerMappings>
<toolSections name="Nodes">
<ownedTools xsi:type="tool:ToolDescription" documentation="Create a new pattern component" name="Component" elementsToSelect="[instanceComponent.name/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/Component.gif">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="[element/]">
<subModelOperations xsi:type="tool:If" conditionExpression="[element.oclIsTypeOf(Pattern)/]">
<subModelOperations xsi:type="tool:CreateInstance" typeName="pseim::PatternComponent" referenceName="modelElements" variableName="instanceComponent"/>
</subModelOperations>
<subModelOperations xsi:type="tool:If" conditionExpression="[element.oclIsTypeOf(PatternComponent)/]">
<subModelOperations xsi:type="tool:CreateInstance" typeName="pseim::PatternComponent" referenceName="content" variableName="instanceComponent"/>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ToolDescription" name="Input Port" precondition="[container.oclIsTypeOf(PatternComponent)/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/InputPort.gif">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="[element/]">
<subModelOperations xsi:type="tool:CreateInstance" typeName="pseim::PatternPort" referenceName="elements" variableName="instanceIPort">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="[instanceIPort/]">
<subModelOperations xsi:type="tool:SetValue" featureName="direction" valueExpression="[PortDirection::IN/]"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
<ownedTools xsi:type="tool:ToolDescription" name="Output Port" precondition="[container.oclIsTypeOf(PatternComponent)/]" iconPath="/com.irtsaintexupery.sirius.pseim/img/OutputPort.gif">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="[element/]">
<subModelOperations xsi:type="tool:CreateInstance" typeName="pseim::PatternPort" referenceName="elements" variableName="instanceIPort">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="[instanceIPort/]">
<subModelOperations xsi:type="tool:SetValue" featureName="direction" valueExpression="[PortDirection::OUT/]"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Links">
<ownedTools xsi:type="tool_1:EdgeCreationDescription" name="Link" precondition="[preTarget.eContainer() = preSource.eContainer() or preSource.eContainer(PatternComponent).content->includes(preTarget.eContainer())/]" edgeMappings="//@ownedViewpoints[name='SE%20model%20pattern']/@ownedRepresentations[name='System%20Engineering%20Pattern%20Diagram']/@defaultLayer/@edgeMappings[name='Ports%202%20ports%20links']" iconPath="/com.irtsaintexupery.sirius.pseim/img/Link.gif" connectionStartPrecondition="[preSource.direction = PortDirection::IN or preSource.direction = PortDirection::OUT/]">
<sourceVariable name="source"/>
<targetVariable name="target"/>
<sourceViewVariable name="sourceView"/>
<targetViewVariable name="targetView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="[source.eContainer()/]">
<subModelOperations xsi:type="tool:CreateInstance" typeName="pattern_modelling::PatternLink" referenceName="content">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="instance">
<subModelOperations xsi:type="tool:SetValue" featureName="src" valueExpression="var:source"/>
<subModelOperations xsi:type="tool:SetValue" featureName="dst" valueExpression="var:target"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
<toolSections name="Properties">
<ownedTools xsi:type="tool:ToolDescription" name="Requirement" precondition="[element.oclIsKindOf(PropertyHolder)/]">
<element name="element"/>
<elementView name="elementView"/>
<initialOperation>
<firstModelOperations xsi:type="tool:ChangeContext" browseExpression="[element/]">
<subModelOperations xsi:type="tool:CreateInstance" typeName="seim::StringProperty" referenceName="properties" variableName="property_instance">
<subModelOperations xsi:type="tool:ChangeContext" browseExpression="[property_instance/]">
<subModelOperations xsi:type="tool:SetValue" featureName="value" valueExpression="['Type in the property content'/]"/>
<subModelOperations xsi:type="tool:SetValue" featureName="key" valueExpression="['REQ-' + eContainer().oclAsType(PropertyHolder).name/]"/>
</subModelOperations>
</subModelOperations>
</firstModelOperations>
</initialOperation>
</ownedTools>
</toolSections>
</defaultLayer>
</ownedRepresentations>
</ownedViewpoints>
</description:Group>