blob: 9f99f55f59ce3464cc5356ec4fb97a5d49bd809d [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:mtl="http://www.eclipse.org/acceleo/mtl/3.0" xmlns:ocl.ecore="http://www.eclipse.org/ocl/1.1.0/Ecore">
<mtl:Module name="generate_rtmaps_component_cpp" nsURI="org::eclipse::papyrus::robotml::generators::intempora::rtmaps::files::generate_rtmaps_component_cpp" startHeaderPosition="775" endHeaderPosition="972">
<input>
<takesTypesFrom href="http://www.eclipse.org/uml2/5.0.0/UML#/"/>
</input>
<input>
<takesTypesFrom href="http://Papyrus/RobotML/1#/"/>
</input>
<imports href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/GeneralQueries.emtl#/0"/>
<imports href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0"/>
<imports href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/DataTypeQueries.emtl#/0"/>
<imports href="../RTMapsDataTypeQueries.emtl#/0"/>
<ownedModuleElement xsi:type="mtl:Template" name="generateRTMapsComponentCpp" visibility="Public">
<body xsi:type="mtl:FileBlock" openMode="OverWrite">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;#include &quot;maps_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".h&quot;&#xD;&#xA;// "/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// "/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Additional includes">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#xA;// Use the macros to declare the inputs&#xD;&#xA;MAPS_BEGIN_INPUTS_DEFINITION(MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")&#xD;&#xA;"/>
<body xsi:type="mtl:LetBlock">
<body xsi:type="mtl:ForBlock">
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<definition href="../RTMapsDataTypeQueries.emtl#/0/getRTMapsInputDefForPrimitiveType"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.7/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.7/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>
<ifExpr xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/DataTypeQueries.emtl#/0/isPrimitiveType"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.7/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</argument>
</ifExpr>
<else>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;MAPS_INPUT(&quot;"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.7/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;,MAPSFilter"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.7/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",MAPS::FifoReader)&#xD;&#xA;"/>
</else>
</body>
<loopVariable name="port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</loopVariable>
<iterSet xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getInputPortsForElement"/>
<argument xsi:type="ocl.ecore:VariableExp" name="elt" referredVariable="/0/generateRTMapsComponentCpp/%/%.7/elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
</iterSet>
</body>
<letVariable name="elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<initExpression xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</initExpression>
</letVariable>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// &#x9;"/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Additional input definitions">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;MAPS_END_INPUTS_DEFINITION&#xD;&#xA;&#xD;&#xA;// Use the macros to declare the outputs&#xD;&#xA;MAPS_BEGIN_OUTPUTS_DEFINITION(MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")&#xD;&#xA;"/>
<body xsi:type="mtl:LetBlock">
<body xsi:type="mtl:ForBlock">
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<definition href="../RTMapsDataTypeQueries.emtl#/0/getRTMapsOutputDefForPrimitiveType"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.13/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.13/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.13/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//MultiplicityElement/upper"/>
</argument>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>
<ifExpr xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/DataTypeQueries.emtl#/0/isPrimitiveType"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.13/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</argument>
</ifExpr>
<else>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;//Declare a vector of max 0 elements in order to be able to handle the output buffers&#xD;&#xA;&#x9;//allocation &quot;manually&quot; later (in ::Birth()).&#xD;&#xA;&#x9;MAPS_OUTPUT_USER_STRUCTURES_VECTOR(&quot;"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.13/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;,"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.13/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=", 0)&#xD;&#xA;"/>
</else>
</body>
<loopVariable name="port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</loopVariable>
<iterSet xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getOutputPortsForElement"/>
<argument xsi:type="ocl.ecore:VariableExp" name="elt" referredVariable="/0/generateRTMapsComponentCpp/%/%.13/elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
</iterSet>
</body>
<letVariable name="elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<initExpression xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</initExpression>
</letVariable>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// &#x9;"/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Additional output definitions">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;MAPS_END_OUTPUTS_DEFINITION&#xD;&#xA;&#xD;&#xA;// Use the macros to declare the properties&#xD;&#xA;MAPS_BEGIN_PROPERTIES_DEFINITION(MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")&#xD;&#xA;// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// &#x9;"/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Additional property definitions">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;MAPS_END_PROPERTIES_DEFINITION&#xD;&#xA;&#xD;&#xA;// Use the macros to declare the actions&#xD;&#xA;MAPS_BEGIN_ACTIONS_DEFINITION(MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=")&#xD;&#xA;// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// &#x9;"/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Additional action definitions">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;MAPS_END_ACTIONS_DEFINITION&#xD;&#xA;&#xD;&#xA;// Use the macros to declare this component ("/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") behaviour&#xD;&#xA;MAPS_COMPONENT_DEFINITION(MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",&quot;"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;,&quot;1.0&quot;,128,&#xD;&#xA;&#x9;&#x9;&#x9; MAPS::Threaded,MAPS::Threaded,&#xD;&#xA;&#x9;&#x9;&#x9; -1, // Nb of inputs. Leave -1 to use the number of declared input definitions&#xD;&#xA;&#x9;&#x9;&#x9; -1, // Nb of outputs. Leave -1 to use the number of declared output definitions&#xD;&#xA;&#x9;&#x9;&#x9; -1, // Nb of properties. Leave -1 to use the number of declared property definitions&#xD;&#xA;&#x9;&#x9;&#x9; -1) // Nb of actions. Leave -1 to use the number of declared action definitions&#xD;&#xA;&#xD;&#xA;&#xD;&#xA;// "/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// "/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Overloaded methods from MAPSComponent (Dynamic, Set...">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#xA;//***********************************************&#xD;&#xA;// INITIALIZATION FUNCTION.&#xD;&#xA;// CALLED ONCE AT DIAGRAM EXECUTION START.&#xD;&#xA;//***********************************************&#xD;&#xA;void MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::Birth()&#xD;&#xA;{&#xD;&#xA;&#xD;&#xA;"/>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;//********************************************************************&#xD;&#xA;&#x9;//Output buffers allocation &#xD;&#xA;&#x9;//Performed &quot;by hand&quot; (the code is quite ugly but it is&#xD;&#xA;&#x9;//the only way for the most generic cases we have to deal with&#xD;&#xA;&#x9;//in RobotML).&#xD;&#xA;&#x9;//********************************************************************&#xD;&#xA;"/>
<body xsi:type="mtl:ForBlock">
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_buffers.Clear();&#xD;&#xA;&#x9;MAPSIOMonitor &amp;monitor_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="=Output("/>
<body xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/69">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</source>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/-"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=").Monitor();&#xD;&#xA;&#x9;MAPSFastIOHandle it_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;&#x9;it_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="=monitor_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".InitBegin();&#xD;&#xA;&#x9;while (it_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=") {&#xD;&#xA;&#x9;&#x9;MAPSIOElt &amp;IOElt_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="=monitor_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="[">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="it_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="]">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;&#x9;&#x9;IOElt_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".Data() = (void*) new "/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="[1]">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="; //TODO: replace 1 by port.upper.&#xD;&#xA;&#x9;&#x9;if (IOElt_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".Data() == NULL)&#xD;&#xA;&#x9;&#x9;&#x9;Error(&quot;Not enough memory.&quot;);&#xD;&#xA;&#x9;&#x9;_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_buffers.Append(("/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="*)IOElt_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".Data());&#xD;&#xA;&#x9;&#x9;monitor_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".InitNext(it_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=");&#xD;&#xA;&#x9;}&#xD;&#xA;"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/DataTypeQueries.emtl#/0/isPrimitiveType"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.35/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/>
</ifExpr>
</body>
<loopVariable name="port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</loopVariable>
<iterSet xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getOutputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</iterSet>
</body>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getOutputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</source>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
</ifExpr>
</body>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#x9;//Initialize a member array containing pointers to the component inputs for&#xD;&#xA;&#x9;//use in the Core() function with the asynchronous StartReading.&#xD;&#xA;&#x9;_nb_inputs = "/>
<body xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getInputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;&#x9;_inputs = new MAPSInput*"/>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="[_nb_inputs]">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;&#x9;for (int i=0; i&lt;_nb_inputs; i++) {&#xD;&#xA;&#x9;&#x9;_inputs"/>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="[i]">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" = &amp;Input(i);&#xD;&#xA;&#x9;}&#xD;&#xA;"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getInputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</source>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
</ifExpr>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// &#x9;"/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="User-specific initalizations">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;//****************************************************************************&#xD;&#xA;// Core() IS THE MAIN EXECUTION LOOP FUNCTION.&#xD;&#xA;// THE ONE AND ONLY BLOCKING CALL IN HERE SHALL BE THE StartReading function.&#xD;&#xA;//****************************************************************************&#xD;&#xA;void MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::Core() &#xD;&#xA;{&#xD;&#xA;"/>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;//Without specification of reading policies, let's implement the most generic case:&#xD;&#xA;&#x9;//an asynchronous blocking read on all the inputs.&#xD;&#xA;&#x9;int input_that_answered;&#xD;&#xA;&#x9;MAPSIOElt* ioelt_in = StartReading(_nb_inputs, _inputs, &amp;input_that_answered);&#xD;&#xA;&#x9;if (ioelt_in == NULL)&#xD;&#xA;&#x9;&#x9;return;&#xD;&#xA;&#xD;&#xA;&#x9;MAPSTimestamp timestamp_in = ioelt_in->Timestamp();&#xD;&#xA;&#xD;&#xA;&#x9;switch (input_that_answered) {&#xD;&#xA;"/>
<body xsi:type="mtl:ForBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;case "/>
<body xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="ocl.ecore:VariableExp" name="i" referredVariable="/86">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</source>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="1">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/-"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=": //We received an element from port "/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.42/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".&#xD;&#xA;&#x9;&#x9;&#x9;{&#xD;&#xA;&#x9;&#x9;&#x9;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<definition href="../RTMapsDataTypeQueries.emtl#/0/getNbElementsInVector"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.42/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="ioelt_in">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="count">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#x9;&#x9;&#x9;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<definition href="../RTMapsDataTypeQueries.emtl#/0/getMAPSIOEltAccessFunction"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.42/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="ioelt_in">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="data_in">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#x9;&#x9;&#x9;"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.42/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_Received_on_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.42/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_InPort(data_in,count, ioelt_in->Timestamp());&#x9;&#x9;&#x9;&#xD;&#xA;&#x9;&#x9;&#x9;} &#xD;&#xA;&#x9;&#x9;&#x9;break;&#xD;&#xA;"/>
<loopVariable name="port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</loopVariable>
<iterSet xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getInputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</iterSet>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#x9;default:&#xD;&#xA;&#x9;&#x9;&#x9;Error(&quot;Unknown input.&quot;);&#x9;&#xD;&#xA;&#x9;}&#xD;&#xA;// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// &#x9;"/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Core processing">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getInputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</source>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
</ifExpr>
<else>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;//There are no inputs to read from in this component.&#xD;&#xA;&#x9;//Make sure you have one and only blocking function (Rest, Wait, MAPS::Sleep, select, whatever...)&#xD;&#xA;&#x9;//inside Core().&#xD;&#xA;// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#x9;Wait4Event(isDyingEvent); //Pause the current thread until shutdown.&#xD;&#xA;// &#x9;"/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Core processing with no inputs">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;"/>
</else>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;"/>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;//**********************************************************************************************&#xD;&#xA;// INPUT METHODS CALLED FROM THE Core() METHOD WHENEVER A SAMPLE IS RECEIVED ON AN INPUT PORT&#xD;&#xA;// NOTE THAT IN CORE, OTHER SAMPLING STRATEGIES COULD BE AVAILABE (SYNCHRONIZED, TRIGGERED, RESAMPLING...)&#xD;&#xA;// BUT ARE NOT IMPLEMENTED YET.&#xD;&#xA;//**********************************************************************************************&#xD;&#xA;&#xD;&#xA;"/>
<body xsi:type="mtl:ForBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="//This callback will be called each time a new sample is received on the corresponding input port.&#xD;&#xA;void MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.44/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_Received_on_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.44/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_InPort("/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.44/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="* data_in, int count, MAPSTimestamp t)&#xD;&#xA;{&#xD;&#xA;//&#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;//&#x9;"/>
<marker xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Processing code for samples received on ">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</source>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.44/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;}&#xD;&#xA;"/>
<loopVariable name="port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</loopVariable>
<iterSet xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getInputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</iterSet>
</body>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getInputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</source>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
</ifExpr>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#xA;"/>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="//**********************************************************************************************&#xD;&#xA;// OUTPUT METHODS TO BE CALLED BY THE PROGRAMMER FOR EMITTING A SAMPLE ON AN OUTPUT PORT.&#xD;&#xA;//**********************************************************************************************&#xD;&#xA;&#xD;&#xA;"/>
<body xsi:type="mtl:ForBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="//To be completed by programmer, then called by programmer whenever necessary in order to&#xD;&#xA;//output a data sample on output port "/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;void MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::Output_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="(MAPSTimestamp t)&#xD;&#xA;{&#xD;&#xA;&#x9;MAPSIOElt* ioeltout = StartWriting(Output(&quot;"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&quot;));&#xD;&#xA;&#xD;&#xA;// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#x9;int count_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_out = 1; &#x9;//changed it to the number of samples to write in output MAPSIOElt &#xD;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;&#x9;//(but never more than the max vector size allocated on the output).&#xD;&#xA;&#x9;"/>
<body xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<definition href="../RTMapsDataTypeQueries.emtl#/0/getMAPSIOEltAccessFunction"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="ioeltout">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="data_out">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#xA;&#x9;//Fill in data_out here.&#xD;&#xA;&#x9;//....&#xD;&#xA;&#xD;&#xA;"/>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;ioeltout->VectorSize() = count_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_out * sizeof("/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="); //For non-standard datatypes, by convention, &#xD;&#xA;"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/DataTypeQueries.emtl#/0/isPrimitiveType"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/>
</ifExpr>
<else>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;ioeltout->VectorSize() = count_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_out; //Number of elements in output vector (not number of bytes).&#xD;&#xA;"/>
</else>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="//&#x9;"/>
<marker xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Output on ">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</source>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.46/%.1/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" implementation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#xA;&#x9;ioeltout->Timestamp() = t;&#x9;&#xD;&#xA;&#x9;StopWriting(ioeltout);&#xD;&#xA;}&#xD;&#xA;"/>
<loopVariable name="port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</loopVariable>
<iterSet xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getOutputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</iterSet>
</body>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getOutputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</source>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
</ifExpr>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;//**********************************************************************************************&#xD;&#xA;// RELEASE FUNCTION.&#xD;&#xA;// CALLED ONCE WHEN DIAGRAMS STOPS EXECUTING OR AFTER A CALL TO Error(&quot;...&quot;); IN Birth OR Core.&#xD;&#xA;//**********************************************************************************************&#xD;&#xA;void MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::Death()&#xD;&#xA;{&#xD;&#xA;// &#x9;"/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// &#x9;"/>
<marker xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Death implementation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#xA;}&#xD;&#xA;&#xD;&#xA;"/>
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="//*******************************************************************************************************************&#xD;&#xA;// OVERLOADED METHOD: WILL BE CALLED AT DIAGRAM EXECUTION SHUTDOWN ONCE ALL THE COMPONENTS HAVE GONE THROUGH Death().&#xD;&#xA;// THIS IS THE PLACE WHERE TO RELEASE BUFFERS THAT WERE DYNAMICALLY ALLOCATED BY THE PROGRAMMER IN BIRTH. &#xD;&#xA;//*******************************************************************************************************************&#xD;&#xA;void MAPS"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="::FreeBuffers()&#xD;&#xA;{&#xD;&#xA;&#x9;//Let's release the memory we allocated on the output buffers.&#xD;&#xA;"/>
<body xsi:type="mtl:LetBlock">
<body xsi:type="mtl:ForBlock">
<body xsi:type="mtl:IfBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;MAPSListIterator it_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.52/%.3/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;&#x9;MAPSForallItems(it_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.52/%.3/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=",_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.52/%.3/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_buffers) {&#xD;&#xA;&#x9;&#x9;delete "/>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="[]">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" _"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.52/%.3/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_buffers"/>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="[">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="it_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.52/%.3/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=" "/>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="]">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=";&#xD;&#xA;&#x9;}&#xD;&#xA;&#x9;_"/>
<body xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.52/%.3/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="_buffers.Clear();&#xD;&#xA;"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="mtl:QueryInvocation">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/DataTypeQueries.emtl#/0/isPrimitiveType"/>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Type"/>
<source xsi:type="ocl.ecore:VariableExp" name="port" referredVariable="/0/generateRTMapsComponentCpp/%/%.52/%.3/%/port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</source>
<referredProperty xsi:type="ecore:EReference" href="http://www.eclipse.org/uml2/5.0.0/UML#//TypedElement/type"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:BooleanLiteralExp" booleanSymbol="false">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean_Class/="/>
</ifExpr>
</body>
<loopVariable name="port">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</loopVariable>
<iterSet xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getOutputPortsForElement"/>
<argument xsi:type="ocl.ecore:VariableExp" name="elt" referredVariable="/0/generateRTMapsComponentCpp/%/%.52/%.3/elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
</iterSet>
</body>
<letVariable name="elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<initExpression xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</initExpression>
</letVariable>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#x9;&#xD;&#xA;&#x9;MAPSComponent::FreeBuffers();&#xD;&#xA;}&#xD;&#xA;"/>
<ifExpr xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<source xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
<source xsi:type="mtl:QueryInvocation" eType="/13/Sequence(Port)">
<definition href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getOutputPortsForElement"/>
<argument xsi:type="ocl.ecore:OperationCallExp">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<argument xsi:type="ocl.ecore:TypeExp" eType="/11/Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny_Class/oclAsType"/>
</argument>
</source>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)_Class/size"/>
</source>
<argument xsi:type="ocl.ecore:IntegerLiteralExp" integerSymbol="0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</argument>
<referredOperation xsi:type="ecore:EOperation" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer_Class/%3E"/>
</ifExpr>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// "/>
<body xsi:type="mtl:ProtectedAreaBlock">
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;// "/>
<marker xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="Additional methods for MAPS">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</source>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
</marker>
</body>
<body xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="&#xD;&#xA;&#xD;&#xA;"/>
<fileUrl xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:OperationCallExp" referredOperation="/1/String_Class/+">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="user_sdk/">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</source>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="root_model" referredVariable="/0/generateRTMapsComponentCpp/root_model">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".u/src/maps_">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:PropertyCallExp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<source xsi:type="ocl.ecore:VariableExp" name="c" referredVariable="/0/generateRTMapsComponentCpp/c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</source>
<referredProperty xsi:type="ecore:EAttribute" href="http://www.eclipse.org/uml2/5.0.0/UML#//NamedElement/name"/>
</argument>
</source>
<argument xsi:type="ocl.ecore:StringLiteralExp" stringSymbol=".cpp">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</argument>
</fileUrl>
<charset xsi:type="ocl.ecore:StringLiteralExp" stringSymbol="UTF-8">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</charset>
</body>
<parameter name="c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</parameter>
<parameter name="root_model">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>
</parameter>
</ownedModuleElement>
</mtl:Module>
<ecore:EPackage name="additions">
<eClassifiers xsi:type="ecore:EClass" name="String_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eAnnotations>
<eOperations name="+">
<eAnnotations source="MTL non-standard"/>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="other">
<eType xsi:type="ocl.ecore:AnyType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Integer_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Real_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Real"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="EObject_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</eAnnotations>
<eOperations name="generateRTMapsComponentCpp">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL" references="/0/generateRTMapsComponentCpp"/>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="c">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</eParameters>
<eParameters name="root_model">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>
</eParameters>
</eOperations>
<eOperations name="getOutputPortsForElement">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL">
<references href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getOutputPortsForElement"/>
</eAnnotations>
<eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/3/Sequence(Port)"/>
<eParameters name="elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</eParameters>
</eOperations>
<eOperations name="getInputPortsForElement">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL">
<references href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/0/getInputPortsForElement"/>
</eAnnotations>
<eType xsi:type="ocl.ecore:SequenceType" href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/ArchitectureQueries.emtl#/3/Sequence(Port)"/>
<eParameters name="elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</eParameters>
</eOperations>
<eOperations name="isPrimitiveType">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL">
<references href="../../../../../../../../../../../common/org.eclipse.papyrus.robotml.generators.common/bin/org/eclipse/papyrus/robotml/generators/common/mmqueries/DataTypeQueries.emtl#/0/isPrimitiveType"/>
</eAnnotations>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Boolean"/>
<eParameters name="elt">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</eParameters>
</eOperations>
<eOperations name="getMAPSIOEltAccessFunction">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL">
<references href="../RTMapsDataTypeQueries.emtl#/0/getMAPSIOEltAccessFunction"/>
</eAnnotations>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="type_name">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="ioelt_name">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="return_var_name">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
</eOperations>
<eOperations name="getRTMapsOutputDefForPrimitiveType">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL">
<references href="../RTMapsDataTypeQueries.emtl#/0/getRTMapsOutputDefForPrimitiveType"/>
</eAnnotations>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="arg0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="arg1">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="arg2">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</eParameters>
</eOperations>
<eOperations name="getRTMapsInputDefForPrimitiveType">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL">
<references href="../RTMapsDataTypeQueries.emtl#/0/getRTMapsInputDefForPrimitiveType"/>
</eAnnotations>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="arg0">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="arg1">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
</eOperations>
<eOperations name="getNbElementsInVector">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<contents xsi:type="ocl.ecore:Constraint"/>
</eAnnotations>
<eAnnotations source="MTL">
<references href="../RTMapsDataTypeQueries.emtl#/0/getNbElementsInVector"/>
</eAnnotations>
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
<eParameters name="type_name">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="ioelt_name">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
<eParameters name="return_value_name">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</eParameters>
</eOperations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OclAny_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OclAny"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Collection(T)_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Collection(T)"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Sequence(T)_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Sequence(T)"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="OrderedSet(T)_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/OrderedSet(T)"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Class_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Model_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Model"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Element_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Property_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Property"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Connector_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Connector"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Parameter_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Parameter"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Classifier_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Classifier"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="Port_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</eAnnotations>
</eClassifiers>
<eClassifiers xsi:type="ecore:EClass" name="DataType_Class">
<eAnnotations source="http://www.eclipse.org/ocl/1.1.0/OCL">
<references href="http://www.eclipse.org/uml2/5.0.0/UML#//DataType"/>
</eAnnotations>
</eClassifiers>
</ecore:EPackage>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/String"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ecore:EPackage name="types">
<eClassifiers xsi:type="ocl.ecore:TypeType" name="Element">
<referredType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Element"/>
</eClassifiers>
</ecore:EPackage>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ecore:EPackage name="collections">
<eClassifiers xsi:type="ocl.ecore:SequenceType" name="Sequence(Port)" instanceClassName="java.util.List">
<elementType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</eClassifiers>
</ecore:EPackage>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Port"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="i">
<eType xsi:type="ocl.ecore:PrimitiveType" href="http://www.eclipse.org/ocl/1.1.0/oclstdlib.ecore#/0/Integer"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/uml2/5.0.0/UML#//Class"/>
</ocl.ecore:Variable>
<ocl.ecore:Variable name="self">
<eType xsi:type="ecore:EClass" href="http://www.eclipse.org/emf/2002/Ecore#//EObject"/>
</ocl.ecore:Variable>
<ecore:EAnnotation source="positions">
<eAnnotations source="positions.0" references="/0/generateRTMapsComponentCpp">
<details key="start" value="1261"/>
<details key="end" value="11043"/>
<details key="line" value="27"/>
</eAnnotations>
<eAnnotations source="positions.1" references="/0/generateRTMapsComponentCpp/%">
<details key="start" value="1338"/>
<details key="end" value="11030"/>
<details key="line" value="28"/>
</eAnnotations>
<eAnnotations source="positions.2" references="/0/generateRTMapsComponentCpp/%/%">
<details key="start" value="1429"/>
<details key="end" value="1446"/>
<details key="line" value="29"/>
</eAnnotations>
<eAnnotations source="positions.3" references="/0/generateRTMapsComponentCpp/%/%.1">
<details key="start" value="1447"/>
<details key="end" value="1453"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.4" references="/0/generateRTMapsComponentCpp/%/%.1/c">
<details key="start" value="1447"/>
<details key="end" value="1448"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.5" references="/0/generateRTMapsComponentCpp/%/%.2">
<details key="start" value="1455"/>
<details key="end" value="1463"/>
<details key="line" value="30"/>
</eAnnotations>
<eAnnotations source="positions.6" references="/0/generateRTMapsComponentCpp/%/%.3">
<details key="start" value="1463"/>
<details key="end" value="1515"/>
<details key="line" value="31"/>
</eAnnotations>
<eAnnotations source="positions.7" references="/0/generateRTMapsComponentCpp/%/%.3/%">
<details key="start" value="1498"/>
<details key="end" value="1503"/>
<details key="line" value="32"/>
</eAnnotations>
<eAnnotations source="positions.8" references="/0/generateRTMapsComponentCpp/%/%.3/%.1">
<details key="start" value="1475"/>
<details key="end" value="1496"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.9" references="/0/generateRTMapsComponentCpp/%/%.4">
<details key="start" value="1515"/>
<details key="end" value="1593"/>
<details key="line" value="33"/>
</eAnnotations>
<eAnnotations source="positions.10" references="/0/generateRTMapsComponentCpp/%/%.5">
<details key="start" value="1594"/>
<details key="end" value="1600"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.11" references="/0/generateRTMapsComponentCpp/%/%.5/c">
<details key="start" value="1594"/>
<details key="end" value="1595"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.12" references="/0/generateRTMapsComponentCpp/%/%.6">
<details key="start" value="1602"/>
<details key="end" value="1605"/>
<details key="line" value="35"/>
</eAnnotations>
<eAnnotations source="positions.13" references="/0/generateRTMapsComponentCpp/%/%.7">
<details key="start" value="1606"/>
<details key="end" value="1912"/>
<details key="line" value="36"/>
</eAnnotations>
<eAnnotations source="positions.14" references="/0/generateRTMapsComponentCpp/%/%.7/%">
<details key="start" value="1651"/>
<details key="end" value="1903"/>
<details key="line" value="37"/>
</eAnnotations>
<eAnnotations source="positions.15" references="/0/generateRTMapsComponentCpp/%/%.7/%/%">
<details key="start" value="1704"/>
<details key="end" value="1894"/>
<details key="line" value="38"/>
</eAnnotations>
<eAnnotations source="positions.16" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%">
<details key="start" value="1739"/>
<details key="end" value="1740"/>
<details key="line" value="39"/>
</eAnnotations>
<eAnnotations source="positions.17" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.1">
<details key="start" value="1741"/>
<details key="end" value="1801"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.18" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.1/%">
<details key="start" value="1775"/>
<details key="end" value="1784"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.19" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.1/%/port">
<details key="start" value="1775"/>
<details key="end" value="1779"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.20" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.1/%.1">
<details key="start" value="1786"/>
<details key="end" value="1800"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.21" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.1/%.1/%">
<details key="start" value="1786"/>
<details key="end" value="1795"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.22" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.1/%.1/%/port">
<details key="start" value="1786"/>
<details key="end" value="1790"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.23" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.2">
<details key="start" value="1803"/>
<details key="end" value="1805"/>
<details key="line" value="40"/>
</eAnnotations>
<eAnnotations source="positions.24" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.3">
<details key="start" value="1708"/>
<details key="end" value="1736"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.25" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.3/%">
<details key="start" value="1725"/>
<details key="end" value="1734"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.26" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.3/%/port">
<details key="start" value="1725"/>
<details key="end" value="1729"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.27" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4">
<details key="start" value="1806"/>
<details key="end" value="1889"/>
<details key="line" value="40"/>
</eAnnotations>
<eAnnotations source="positions.28" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4/%">
<details key="start" value="1814"/>
<details key="end" value="1827"/>
<details key="line" value="41"/>
</eAnnotations>
<eAnnotations source="positions.29" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4/%.1">
<details key="start" value="1828"/>
<details key="end" value="1837"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.30" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4/%.1/port">
<details key="start" value="1828"/>
<details key="end" value="1832"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.31" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4/%.2">
<details key="start" value="1839"/>
<details key="end" value="1851"/>
<details key="line" value="41"/>
</eAnnotations>
<eAnnotations source="positions.32" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4/%.3">
<details key="start" value="1852"/>
<details key="end" value="1866"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.33" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4/%.3/%">
<details key="start" value="1852"/>
<details key="end" value="1861"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.34" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4/%.3/%/port">
<details key="start" value="1852"/>
<details key="end" value="1856"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.35" references="/0/generateRTMapsComponentCpp/%/%.7/%/%/%.4/%.4">
<details key="start" value="1868"/>
<details key="end" value="1888"/>
<details key="line" value="41"/>
</eAnnotations>
<eAnnotations source="positions.36" references="/0/generateRTMapsComponentCpp/%/%.7/%/port">
<details key="start" value="1657"/>
<details key="end" value="1668"/>
<details key="line" value="37"/>
</eAnnotations>
<eAnnotations source="positions.37" references="/0/generateRTMapsComponentCpp/%/%.7/%/%.1">
<details key="start" value="1671"/>
<details key="end" value="1699"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.38" references="/0/generateRTMapsComponentCpp/%/%.7/%/%.1/elt">
<details key="start" value="1695"/>
<details key="end" value="1698"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.39" references="/0/generateRTMapsComponentCpp/%/%.7/elt">
<details key="start" value="1611"/>
<details key="end" value="1647"/>
<details key="line" value="36"/>
</eAnnotations>
<eAnnotations source="positions.40" references="/0/generateRTMapsComponentCpp/%/%.7/elt/%">
<details key="start" value="1628"/>
<details key="end" value="1648"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.41" references="/0/generateRTMapsComponentCpp/%/%.7/elt/%/c">
<details key="start" value="1628"/>
<details key="end" value="1629"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.42" references="/0/generateRTMapsComponentCpp/%/%.7/elt/%/%">
<details key="start" value="1640"/>
<details key="end" value="1647"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.43" references="/0/generateRTMapsComponentCpp/%/%.8">
<details key="start" value="1914"/>
<details key="end" value="1918"/>
<details key="line" value="45"/>
</eAnnotations>
<eAnnotations source="positions.44" references="/0/generateRTMapsComponentCpp/%/%.9">
<details key="start" value="1918"/>
<details key="end" value="1980"/>
<details key="line" value="45"/>
</eAnnotations>
<eAnnotations source="positions.45" references="/0/generateRTMapsComponentCpp/%/%.9/%">
<details key="start" value="1962"/>
<details key="end" value="1968"/>
<details key="line" value="46"/>
</eAnnotations>
<eAnnotations source="positions.46" references="/0/generateRTMapsComponentCpp/%/%.9/%.1">
<details key="start" value="1930"/>
<details key="end" value="1960"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.47" references="/0/generateRTMapsComponentCpp/%/%.10">
<details key="start" value="1980"/>
<details key="end" value="2088"/>
<details key="line" value="47"/>
</eAnnotations>
<eAnnotations source="positions.48" references="/0/generateRTMapsComponentCpp/%/%.11">
<details key="start" value="2089"/>
<details key="end" value="2095"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.49" references="/0/generateRTMapsComponentCpp/%/%.11/c">
<details key="start" value="2089"/>
<details key="end" value="2090"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.50" references="/0/generateRTMapsComponentCpp/%/%.12">
<details key="start" value="2097"/>
<details key="end" value="2100"/>
<details key="line" value="50"/>
</eAnnotations>
<eAnnotations source="positions.51" references="/0/generateRTMapsComponentCpp/%/%.13">
<details key="start" value="2101"/>
<details key="end" value="2557"/>
<details key="line" value="51"/>
</eAnnotations>
<eAnnotations source="positions.52" references="/0/generateRTMapsComponentCpp/%/%.13/%">
<details key="start" value="2146"/>
<details key="end" value="2548"/>
<details key="line" value="52"/>
</eAnnotations>
<eAnnotations source="positions.53" references="/0/generateRTMapsComponentCpp/%/%.13/%/%">
<details key="start" value="2200"/>
<details key="end" value="2539"/>
<details key="line" value="53"/>
</eAnnotations>
<eAnnotations source="positions.54" references="/0/generateRTMapsComponentCpp/%/%.13/%/%/%">
<details key="start" value="2235"/>
<details key="end" value="2236"/>
<details key="line" value="54"/>
</eAnnotations>
<eAnnotations source="positions.55" references="/0/generateRTMapsComponentCpp/%/%.13/%/%/%.1">
<details key="start" value="2237"/>
<details key="end" value="2310"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.56" references="/0/generateRTMapsComponentCpp/%/%.13/%/%/%.1/%">
<details key="start" value="2272"/>
<details key="end" value="2281"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.57" references="/0/generateRTMapsComponentCpp/%/%.13/%/%/%.1/%/port">
<details key="start" value="2272"/>
<details key="end" value="2276"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.58" references="/0/generateRTMapsComponentCpp/%/%.13/%/%/%.1/%.1">
<details key="start" value="2283"/>
<details key="end" value="2297"/>
<details key="line" value="0"/>
</eAnnotations>
<eAnnotations source="positions.59" references="/0/generateRTMapsComponentCpp/%/%.13/%/%/%.1/%.1/%">
<details key="start" value="2283"/>
<details key="end"