<?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/diagram/description/tool/1.1.0" xmlns:tool_1="http://www.eclipse.org/sirius/description/tool/1.1.0" name="seim" version="12.0.0.2017041100">
  <ownedViewpoints name="SE model" modelFileExtension="seim seimx">
    <ownedRepresentations xsi:type="description_1:DiagramDescription" name="System Engineering Diagram" initialisation="true" domainClass="seim::Model" enablePopupBars="true">
      <metamodel href="http://www.irt-saintexupery.com/seim/0.1#/"/>
      <defaultLayer name="Default">
        <edgeMappings name="Ports 2 ports links" sourceMapping="//@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@borderedNodeMappings[name='Ports'] //@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@subContainerMappings[name='Sub%20components']/@borderedNodeMappings[name='Ports']" targetMapping="//@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@borderedNodeMappings[name='Ports'] //@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@subContainerMappings[name='Sub%20components']/@borderedNodeMappings[name='Ports']" targetFinderExpression="feature:dst" sourceFinderExpression="feature:src" domainClass="seim::Link" 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="feature:name">
              <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
            </centerLabelStyleDescription>
          </style>
          <conditionnalStyles predicateExpression="[self.src.direction = PortDirection::IN and self.dst.direction = PortDirection::IN/]">
            <style lineStyle="dash" targetArrow="NoDecoration" 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>
          </conditionnalStyles>
          <conditionnalStyles predicateExpression="[self.src.direction = PortDirection::OUT and self.dst.direction = PortDirection::OUT/]">
            <style lineStyle="dash" targetArrow="NoDecoration" sizeComputationExpression="2">
              <strokeColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='red']"/>
              <centerLabelStyleDescription showIcon="false" labelExpression="feature:name">
                <labelColor xsi:type="description:SystemColor" href="environment:/viewpoint#//@systemColors/@entries[name='black']"/>
              </centerLabelStyleDescription>
            </style>
          </conditionnalStyles>
        </edgeMappings>
        <containerMappings name="Model" semanticCandidatesExpression="[self/]" domainClass="seim::Model">
          <subContainerMappings name="RootComponent" semanticCandidatesExpression="[self.modelElements->filter(seim::Component)->select(c | c.eContainer().oclIsTypeOf(seim::Model))/]" domainClass="seim::Component">
            <borderedNodeMappings name="Ports" semanticCandidatesExpression="[self.content->filter(Port)/]" domainClass="seim::Port">
              <style xsi:type="style:SquareDescription" showIcon="false" sizeComputationExpression="1" labelPosition="node">
                <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_green']"/>
              </style>
              <conditionnalStyles predicateExpression="[self.direction = PortDirection::IN/]">
                <style xsi:type="style:SquareDescription" showIcon="false" labelAlignment="RIGHT" sizeComputationExpression="1" labelPosition="node">
                  <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="[self.direction = PortDirection::OUT/]">
                <style xsi:type="style:SquareDescription" showIcon="false" labelAlignment="RIGHT" sizeComputationExpression="1" labelPosition="node">
                  <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>
            <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="[self.content->filter(Component)/]" domainClass="seim::Component" reusedContainerMappings="//@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@subContainerMappings[name='Sub%20components']">
              <borderedNodeMappings name="Ports" semanticCandidatesExpression="[self.content->filter(Port)/]" domainClass="seim::Port">
                <style xsi:type="style:SquareDescription" showIcon="false" sizeComputationExpression="1" labelPosition="node">
                  <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_green']"/>
                </style>
                <conditionnalStyles predicateExpression="[self.direction = PortDirection::IN/]">
                  <style xsi:type="style:SquareDescription" showIcon="false" labelAlignment="RIGHT" sizeComputationExpression="1" labelPosition="node">
                    <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="[self.direction = PortDirection::OUT/]">
                  <style xsi:type="style:SquareDescription" showIcon="false" labelAlignment="RIGHT" sizeComputationExpression="1" labelPosition="node">
                    <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>
              <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>
              <style xsi:type="style:FlatContainerStyleDescription" arcWidth="30" arcHeight="30" borderSizeComputationExpression="1" roundedCorner="true" widthComputationExpression="[name.size() * 5/]" heightComputationExpression="[content->filter(seim::Port)->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" arcWidth="30" arcHeight="30" borderSizeComputationExpression="1" roundedCorner="true" widthComputationExpression="[name.size() * 5/]" heightComputationExpression="[content->filter(seim::Port)->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">
            <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="Container">
          <ownedTools xsi:type="tool:ContainerCreationDescription" name="Container" containerMappings="//@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent'] //@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@subContainerMappings[name='Sub%20components']">
            <variable name="container"/>
            <viewVariable name="containerView"/>
            <initialOperation>
              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[container/]">
                <subModelOperations xsi:type="tool_1:If" conditionExpression="[container.oclIsTypeOf(seim::Model)/]">
                  <subModelOperations xsi:type="tool_1:CreateInstance" typeName="seim::Component" referenceName="modelElements"/>
                </subModelOperations>
                <subModelOperations xsi:type="tool_1:If" conditionExpression="[container.oclIsTypeOf(seim::Component)/]">
                  <subModelOperations xsi:type="tool_1:CreateInstance" typeName="seim::Component" referenceName="content"/>
                </subModelOperations>
              </firstModelOperations>
            </initialOperation>
          </ownedTools>
          <ownedTools xsi:type="tool:NodeCreationDescription" name="Input port" nodeMappings="//@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@borderedNodeMappings[name='Ports'] //@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@subContainerMappings[name='Sub%20components']/@borderedNodeMappings[name='Ports']" iconPath="/com.irtsaintexupery.pseim.edit/icons/full/obj16/IPort.gif">
            <variable name="container"/>
            <viewVariable name="containerView"/>
            <initialOperation>
              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[container/]">
                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="seim::Port" referenceName="content">
                  <subModelOperations xsi:type="tool_1:SetValue" featureName="direction" valueExpression="[PortDirection::IN/]"/>
                </subModelOperations>
              </firstModelOperations>
            </initialOperation>
          </ownedTools>
          <ownedTools xsi:type="tool:NodeCreationDescription" name="Output port" nodeMappings="//@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@borderedNodeMappings[name='Ports'] //@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@containerMappings[name='Model']/@subContainerMappings[name='RootComponent']/@subContainerMappings[name='Sub%20components']/@borderedNodeMappings[name='Ports']" iconPath="/com.irtsaintexupery.pseim.edit/icons/full/obj16/OPort.gif">
            <variable name="container"/>
            <viewVariable name="containerView"/>
            <initialOperation>
              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[container/]">
                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="seim::Port" referenceName="content">
                  <subModelOperations xsi:type="tool_1:SetValue" featureName="direction" valueExpression="[PortDirection::OUT/]"/>
                </subModelOperations>
              </firstModelOperations>
            </initialOperation>
          </ownedTools>
        </toolSections>
        <toolSections name="Links">
          <ownedTools xsi:type="tool:EdgeCreationDescription" name="Links" edgeMappings="//@ownedViewpoints[name='SE%20model']/@ownedRepresentations[name='System%20Engineering%20Diagram']/@defaultLayer/@edgeMappings[name='Ports%202%20ports%20links']">
            <sourceVariable name="source"/>
            <targetVariable name="target"/>
            <sourceViewVariable name="sourceView"/>
            <targetViewVariable name="targetView"/>
            <initialOperation>
              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[source.eContainer()/]">
                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="seim::Link" referenceName="content">
                  <subModelOperations xsi:type="tool_1:SetValue" featureName="src" valueExpression="var:source"/>
                  <subModelOperations xsi:type="tool_1:SetValue" featureName="dst" valueExpression="var:target"/>
                </subModelOperations>
              </firstModelOperations>
            </initialOperation>
          </ownedTools>
        </toolSections>
        <toolSections name="Properties">
          <ownedTools xsi:type="tool_1:ToolDescription" name="String property">
            <element name="element"/>
            <elementView name="elementView"/>
            <initialOperation>
              <firstModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[element/]">
                <subModelOperations xsi:type="tool_1:CreateInstance" typeName="seim::StringProperty" referenceName="properties" variableName="property_instance">
                  <subModelOperations xsi:type="tool_1:ChangeContext" browseExpression="[property_instance/]">
                    <subModelOperations xsi:type="tool_1:SetValue" featureName="value" valueExpression="['Type in the property content'/]"/>
                    <subModelOperations xsi:type="tool_1:SetValue" featureName="key" valueExpression="['[' + eContainer().oclAsType(PropertyHolder).name + ']'/]"/>
                  </subModelOperations>
                </subModelOperations>
              </firstModelOperations>
            </initialOperation>
          </ownedTools>
        </toolSections>
      </defaultLayer>
    </ownedRepresentations>
  </ownedViewpoints>
</description:Group>
