blob: 64b91c012bc5da65d77837f4e775323b213bb2da [file] [log] [blame]
<?xml version="1.0" encoding="UTF-8"?>
<xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" xmlns:C_Cpp="http://www.eclipse.org/papyrus/C_Cpp/1" xmlns:UMLRealTime="http://www.eclipse.org/papyrus/umlrt" xmlns:UMLRealTimeStateMach="http://www.eclipse.org/papyrus/umlrt/statemachine" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:uml="http://www.eclipse.org/uml2/5.0.0/UML">
<uml:Model xmi:id="_yKukYCSQEeS0XNKzoL660g" name="MultiPort">
<packageImport xmi:type="uml:PackageImport" xmi:id="_yKukYSSQEeS0XNKzoL660g">
<importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/>
</packageImport>
<packagedElement xmi:type="uml:Class" xmi:id="_97ZrMCSSEeS0XNKzoL660g" name="Top" isActive="true">
<ownedAttribute xmi:type="uml:Property" xmi:id="_AkoIgCSZEeS0XNKzoL660g" name="pinger" visibility="protected" type="__EW3UCSSEeS0XNKzoL660g" aggregation="composite" association="_AkpWoCSZEeS0XNKzoL660g">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AkoIgSSZEeS0XNKzoL660g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AkoIgiSZEeS0XNKzoL660g" value="1"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_CRig0CSaEeS0XNKzoL660g" name="ponger" visibility="protected" type="_BMMGgCSTEeS0XNKzoL660g" aggregation="composite" association="_CRjH4CSaEeS0XNKzoL660g">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CRig0SSaEeS0XNKzoL660g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CRig0iSaEeS0XNKzoL660g" value="1"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_a26IsGRDEeS50LNxj8x9JQ" name="ponger0" type="_BMMGgCSTEeS0XNKzoL660g"/>
<ownedAttribute xmi:type="uml:Property" xmi:id="_abq2AHCrEeSNV8SNHyWPfQ" name="topVar" visibility="private">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
</ownedAttribute>
<ownedConnector xmi:type="uml:Connector" xmi:id="_nfqtsCbyEeSBQ4h-CZj2Uw" name="Connector1">
<end xmi:type="uml:ConnectorEnd" xmi:id="_nfyCcCbyEeSBQ4h-CZj2Uw" partWithPort="_AkoIgCSZEeS0XNKzoL660g" role="_PQ_kMCbnEeSBQ4h-CZj2Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nfyCcSbyEeSBQ4h-CZj2Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nfyCcibyEeSBQ4h-CZj2Uw" value="1"/>
</end>
<end xmi:type="uml:ConnectorEnd" xmi:id="_nfypgCbyEeSBQ4h-CZj2Uw" partWithPort="_CRig0CSaEeS0XNKzoL660g" role="_aXdiUCbnEeSBQ4h-CZj2Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_nfypgSbyEeSBQ4h-CZj2Uw" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_nfypgibyEeSBQ4h-CZj2Uw" value="1"/>
</end>
</ownedConnector>
<ownedConnector xmi:type="uml:Connector" xmi:id="_IUL6gGnMEeSyD9H73K8vrA" name="Connector2">
<end xmi:type="uml:ConnectorEnd" xmi:id="_IUMhkGnMEeSyD9H73K8vrA" partWithPort="_AkoIgCSZEeS0XNKzoL660g" role="_PQ_kMCbnEeSBQ4h-CZj2Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IUMhkWnMEeSyD9H73K8vrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IUMhkmnMEeSyD9H73K8vrA" value="1"/>
</end>
<end xmi:type="uml:ConnectorEnd" xmi:id="_IUNIoGnMEeSyD9H73K8vrA" partWithPort="_a26IsGRDEeS50LNxj8x9JQ" role="_aXdiUCbnEeSBQ4h-CZj2Uw">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_IUNIoWnMEeSyD9H73K8vrA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_IUNIomnMEeSyD9H73K8vrA" value="1"/>
</end>
</ownedConnector>
<ownedConnector xmi:type="uml:Connector" xmi:id="_ltOkIGqoEeSxb7I5cRFJZA" name="Connector3">
<end xmi:type="uml:ConnectorEnd" xmi:id="_ltPLMGqoEeSxb7I5cRFJZA" partWithPort="_CRig0CSaEeS0XNKzoL660g" role="_CzRYIGqnEeSxb7I5cRFJZA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ltPLMWqoEeSxb7I5cRFJZA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ltPLMmqoEeSxb7I5cRFJZA" value="1"/>
</end>
<end xmi:type="uml:ConnectorEnd" xmi:id="_ltPyQGqoEeSxb7I5cRFJZA" partWithPort="_a26IsGRDEeS50LNxj8x9JQ" role="_FgOGkGqnEeSxb7I5cRFJZA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_ltPyQWqoEeSxb7I5cRFJZA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_ltPyQmqoEeSxb7I5cRFJZA" value="1"/>
</end>
</ownedConnector>
<ownedConnector xmi:type="uml:Connector" xmi:id="_puXeUGqoEeSxb7I5cRFJZA" name="Connector4">
<end xmi:type="uml:ConnectorEnd" xmi:id="_puXeUWqoEeSxb7I5cRFJZA" partWithPort="_a26IsGRDEeS50LNxj8x9JQ" role="_CzRYIGqnEeSxb7I5cRFJZA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_puXeUmqoEeSxb7I5cRFJZA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_puXeU2qoEeSxb7I5cRFJZA" value="1"/>
</end>
<end xmi:type="uml:ConnectorEnd" xmi:id="_puYFYGqoEeSxb7I5cRFJZA" partWithPort="_CRig0CSaEeS0XNKzoL660g" role="_FgOGkGqnEeSxb7I5cRFJZA">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_puYFYWqoEeSxb7I5cRFJZA" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_puYFYmqoEeSxb7I5cRFJZA" value="1"/>
</end>
</ownedConnector>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_i-bhQHCrEeSNV8SNHyWPfQ" name="getTopVar" specification="_goj2EHCrEeSNV8SNHyWPfQ">
<language>C/C++</language>
<body>return topVar;</body>
</ownedBehavior>
<ownedOperation xmi:type="uml:Operation" xmi:id="_goj2EHCrEeSNV8SNHyWPfQ" name="getTopVar" visibility="protected" method="_i-bhQHCrEeSNV8SNHyWPfQ">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_goj2EXCrEeSNV8SNHyWPfQ" name="ret" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="__EW3UCSSEeS0XNKzoL660g" name="Pinger" classifierBehavior="_aKvpECb0EeSBQ4h-CZj2Uw" isActive="true">
<ownedAttribute xmi:type="uml:Port" xmi:id="_PQ_kMCbnEeSBQ4h-CZj2Uw" name="PingPort" visibility="public" type="_bEbXYCS1EeS0XNKzoL660g" aggregation="composite">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_EvDaYGQ7EeSDCZqWoWK7yg" value="2"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_EvHEwGQ7EeSDCZqWoWK7yg" value="2"/>
</ownedAttribute>
<ownedBehavior xmi:type="uml:StateMachine" xmi:id="_aKvpECb0EeSBQ4h-CZj2Uw" name="Pinger_SM" isReentrant="false">
<region xmi:type="uml:Region" xmi:id="_ibsLkCb0EeSBQ4h-CZj2Uw" name="Region1">
<transition xmi:type="uml:Transition" xmi:id="_9D_DYCb1EeSBQ4h-CZj2Uw" name="initialise" source="_XswHMCb1EeSBQ4h-CZj2Uw" target="_lY5HECb1EeSBQ4h-CZj2Uw">
<effect xmi:type="uml:OpaqueBehavior" xmi:id="_GPufUFYLEeSmi4Fyw18d0w" name="onInit" isAbstract="true">
<language>C++</language>
<body>
std::cout &lt;&lt; getName() &lt;&lt; &quot; initialised&quot; &lt;&lt; std::endl;
std::cout &lt;&lt; getName() &lt;&lt; &quot; Sending Ping from inital transition action&quot; &lt;&lt; std::endl;
PingPort().ping(100).sendAt(0);
PingPort().ping(500).sendAt(1);</body>
</effect>
</transition>
<transition xmi:type="uml:Transition" xmi:id="_9xGBACb1EeSBQ4h-CZj2Uw" name="onPong" source="_lY5HECb1EeSBQ4h-CZj2Uw" target="_lY5HECb1EeSBQ4h-CZj2Uw">
<ownedRule xmi:type="uml:Constraint" xmi:id="_y9GtMFYMEeSmi4Fyw18d0w" name="true">
<specification xmi:type="uml:LiteralBoolean" xmi:id="_y9GtMVYMEeSmi4Fyw18d0w" value="true"/>
</ownedRule>
<effect xmi:type="uml:OpaqueBehavior" xmi:id="_XTukYCcPEeSlGd4okkPIfw" name="onPong" isAbstract="true">
<language>C++</language>
<body>
std::cout &lt;&lt; getName() &lt;&lt; &quot; Pong received on port &quot; &lt;&lt; msg.sapIndex0 &lt;&lt; &quot; &quot; &lt;&lt; rtdata &lt;&lt; std::endl;;
rtdata++;
PingPort().ping(rtdata).sendAt(msg.sapIndex0);
</body>
</effect>
<trigger xmi:type="uml:Trigger" xmi:id="_byJF4CcOEeSlGd4okkPIfw" name="" event="_zFJ2YCS-EeS0XNKzoL660g" port="_PQ_kMCbnEeSBQ4h-CZj2Uw"/>
</transition>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_XswHMCb1EeSBQ4h-CZj2Uw" name="Initial"/>
<subvertex xmi:type="uml:State" xmi:id="_lY5HECb1EeSBQ4h-CZj2Uw" name="Running" visibility="private">
<entry xmi:type="uml:OpaqueBehavior" xmi:id="_HUocgClWEeSG6Mdl9j2DSg" name="onEntry" isAbstract="true">
<language>C++</language>
<body>/*
std::cout &lt;&lt; getName() &lt;&lt; &quot;Recived &quot; &lt;&lt; rtdata &lt;&lt; std::endl;
std::cout &lt;&lt; getName() &lt;&lt; &quot;Sending Ping from entry action&quot; &lt;&lt; std::endl;
PingPort().ping(777).send();
*/</body>
</entry>
<exit xmi:type="uml:OpaqueBehavior" xmi:id="_2Pd8kGnmEeSyD9H73K8vrA">
<language>C++</language>
<body></body>
</exit>
</subvertex>
</region>
</ownedBehavior>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_BMMGgCSTEeS0XNKzoL660g" name="Ponger" classifierBehavior="_ltVRwCcQEeSlGd4okkPIfw" isActive="true">
<ownedAttribute xmi:type="uml:Port" xmi:id="_aXdiUCbnEeSBQ4h-CZj2Uw" name="PongPort" visibility="public" type="_bEbXYCS1EeS0XNKzoL660g" aggregation="composite" isConjugated="true">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AOjKAGRDEeS50LNxj8x9JQ" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AOmNUGRDEeS50LNxj8x9JQ" value="1"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Port" xmi:id="_CzRYIGqnEeSxb7I5cRFJZA" name="structprotocolOut" type="_fSI8kGqTEeSIl9kmTaAvcg" aggregation="composite"/>
<ownedAttribute xmi:type="uml:Port" xmi:id="_FgOGkGqnEeSxb7I5cRFJZA" name="structprotocolIn" visibility="public" type="_fSI8kGqTEeSIl9kmTaAvcg" aggregation="composite" isConjugated="true"/>
<ownedBehavior xmi:type="uml:StateMachine" xmi:id="_ltVRwCcQEeSlGd4okkPIfw" name="Ponger_SM" isReentrant="false">
<region xmi:type="uml:Region" xmi:id="_mjyYoCcQEeSlGd4okkPIfw" name="Region1">
<transition xmi:type="uml:Transition" xmi:id="_Cf6sUCcREeSlGd4okkPIfw" name="Transition0" source="_0s6PcCcQEeSlGd4okkPIfw" target="_1KbR4CcQEeSlGd4okkPIfw">
<effect xmi:type="uml:OpaqueBehavior" xmi:id="__Obm0FYKEeSmi4Fyw18d0w" name="onInit" isAbstract="true">
<language>C++</language>
<body>std::cout &lt;&lt; getName() &lt;&lt; &quot; initialised&quot; &lt;&lt; std::endl;</body>
</effect>
</transition>
<transition xmi:type="uml:Transition" xmi:id="_DEnU0CcREeSlGd4okkPIfw" name="onPing" source="_1KbR4CcQEeSlGd4okkPIfw" target="_1KbR4CcQEeSlGd4okkPIfw">
<ownedRule xmi:type="uml:Constraint" xmi:id="_owLJsFYNEeSmi4Fyw18d0w" name="true">
<specification xmi:type="uml:LiteralBoolean" xmi:id="_owLJsVYNEeSmi4Fyw18d0w" value="true"/>
</ownedRule>
<effect xmi:type="uml:OpaqueBehavior" xmi:id="_szp-wCcREeSlGd4okkPIfw" name="onPing" isAbstract="true">
<language>C++</language>
<body>Class1 cls1;
cls1.field1 = 1;
cls1.field2 = '2';
std::cout &lt;&lt; getName() &lt;&lt; &quot; Ping received->&quot; &lt;&lt; rtdata&lt;&lt; std::endl;
sleep(1);
rtdata++;
std::cout &lt;&lt; getName() &lt;&lt; &quot; Sending Pong&quot; &lt;&lt; std::endl;
PongPort().pong(rtdata).send();
std::cout &lt;&lt; getName() &lt;&lt; &quot; Sending out structprotocolport sig1 &quot; &lt;&lt; std::endl;
structprotocolOut().sig1(cls1).send();
</body>
</effect>
<trigger xmi:type="uml:Trigger" xmi:id="_mEy6ECcREeSlGd4okkPIfw" name="" event="_yIlgcCS-EeS0XNKzoL660g" port="_aXdiUCbnEeSBQ4h-CZj2Uw"/>
</transition>
<transition xmi:type="uml:Transition" xmi:id="_vjrosGqkEeSxb7I5cRFJZA" name="onSig1" source="_1KbR4CcQEeSlGd4okkPIfw" target="_1KbR4CcQEeSlGd4okkPIfw">
<effect xmi:type="uml:OpaqueBehavior" xmi:id="_zQqbUGqlEeSxb7I5cRFJZA" isAbstract="true">
<language>C++</language>
<body>std::cout
&lt;&lt; getName() &lt;&lt; &quot; sig1 received &quot;
&lt;&lt; &quot;field1 &quot; &lt;&lt; rtdata.field1 &lt;&lt; ' '
&lt;&lt; &quot;field2 &quot; &lt;&lt; rtdata.field2 &lt;&lt; ' '
&lt;&lt; std::endl;</body>
</effect>
<trigger xmi:type="uml:Trigger" xmi:id="_e9Z9gGqlEeSxb7I5cRFJZA" name="onSig1" event="_PweeIGqWEeSIl9kmTaAvcg" port="_FgOGkGqnEeSxb7I5cRFJZA"/>
</transition>
<subvertex xmi:type="uml:Pseudostate" xmi:id="_0s6PcCcQEeSlGd4okkPIfw" name="Initial"/>
<subvertex xmi:type="uml:State" xmi:id="_1KbR4CcQEeSlGd4okkPIfw" name="Running"/>
</region>
</ownedBehavior>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_AkpWoCSZEeS0XNKzoL660g" name="A_top_pinger_1" visibility="protected" memberEnd="_AkpWoSSZEeS0XNKzoL660g _AkoIgCSZEeS0XNKzoL660g">
<ownedEnd xmi:type="uml:Property" xmi:id="_AkpWoSSZEeS0XNKzoL660g" name="top" type="_97ZrMCSSEeS0XNKzoL660g" association="_AkpWoCSZEeS0XNKzoL660g">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_AkpWoiSZEeS0XNKzoL660g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_AkpWoySZEeS0XNKzoL660g" value="1"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Association" xmi:id="_CRjH4CSaEeS0XNKzoL660g" name="A_top_ponger_1" visibility="protected" memberEnd="_CRjH4SSaEeS0XNKzoL660g _CRig0CSaEeS0XNKzoL660g">
<ownedEnd xmi:type="uml:Property" xmi:id="_CRjH4SSaEeS0XNKzoL660g" name="top" type="_97ZrMCSSEeS0XNKzoL660g" association="_CRjH4CSaEeS0XNKzoL660g">
<lowerValue xmi:type="uml:LiteralInteger" xmi:id="_CRjH4iSaEeS0XNKzoL660g" value="1"/>
<upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_CRjH4ySaEeS0XNKzoL660g" value="1"/>
</ownedEnd>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_AsGVkCSxEeS0XNKzoL660g" name="PingPongProtocol">
<packagedElement xmi:type="uml:Collaboration" xmi:id="_bEbXYCS1EeS0XNKzoL660g" name="PingPongProtocol"/>
<packagedElement xmi:type="uml:Interface" xmi:id="_P5bzsCS3EeS0XNKzoL660g" name="PingPongProtocol">
<ownedOperation xmi:type="uml:Operation" xmi:id="_wRxiECS5EeS0XNKzoL660g" name="pong" visibility="private" isAbstract="true">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_GjCcEGnDEeSBLc-34hiImQ" name="parm1">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_s_Lv8CS5EeS0XNKzoL660g" name="PingPongProtocol~">
<ownedOperation xmi:type="uml:Operation" xmi:id="_k7sskCS3EeS0XNKzoL660g" name="ping" isAbstract="true">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_6FxkQF64EeSPZ9xyRaQzVA" name="parm2">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_xSYDcCS5EeS0XNKzoL660g" name="PingPongProtocolSym"/>
<packagedElement xmi:type="uml:Realization" xmi:id="_StYIsCS8EeS0XNKzoL660g" name="ProtocolRealizesIncomingInterface" client="_bEbXYCS1EeS0XNKzoL660g" supplier="_P5bzsCS3EeS0XNKzoL660g"/>
<packagedElement xmi:type="uml:Realization" xmi:id="_TlKsUCS8EeS0XNKzoL660g" name="ProtocolRealizesSymInterface" client="_bEbXYCS1EeS0XNKzoL660g" supplier="_xSYDcCS5EeS0XNKzoL660g"/>
<packagedElement xmi:type="uml:Usage" xmi:id="_epsJsCS8EeS0XNKzoL660g" name="ProtocolUsesOutgoingInterface" client="_bEbXYCS1EeS0XNKzoL660g" supplier="_s_Lv8CS5EeS0XNKzoL660g"/>
<packagedElement xmi:type="uml:Usage" xmi:id="_gdrP0CS8EeS0XNKzoL660g" name="ProtocolUsesSymInterface" client="_bEbXYCS1EeS0XNKzoL660g" supplier="_xSYDcCS5EeS0XNKzoL660g"/>
<packagedElement xmi:type="uml:CallEvent" xmi:id="_yIlgcCS-EeS0XNKzoL660g" name="ping" operation="_k7sskCS3EeS0XNKzoL660g"/>
<packagedElement xmi:type="uml:CallEvent" xmi:id="_zFJ2YCS-EeS0XNKzoL660g" name="pong" operation="_wRxiECS5EeS0XNKzoL660g"/>
<packagedElement xmi:type="uml:AnyReceiveEvent" xmi:id="_JGjJoCTCEeS0XNKzoL660g" name="*"/>
</packagedElement>
<packagedElement xmi:type="uml:Usage" xmi:id="_yt4-MCTEEeS0XNKzoL660g" name="Ponger uses PingPong Protocol" client="_BMMGgCSTEeS0XNKzoL660g" supplier="_bEbXYCS1EeS0XNKzoL660g"/>
<packagedElement xmi:type="uml:Usage" xmi:id="_zQ-dICTEEeS0XNKzoL660g" name="Pinger uses PingPong Protocol" client="__EW3UCSSEeS0XNKzoL660g" supplier="_bEbXYCS1EeS0XNKzoL660g"/>
<packagedElement xmi:type="uml:Package" xmi:id="_EqMhIGBtEeSDCZqWoWK7yg" name="structprotocol">
<packagedElement xmi:type="uml:Package" xmi:id="_Xc8XYGqSEeSIl9kmTaAvcg" name="structprotocolcontainer">
<packagedElement xmi:type="uml:Collaboration" xmi:id="_fSI8kGqTEeSIl9kmTaAvcg" name="structprotocol"/>
<packagedElement xmi:type="uml:Interface" xmi:id="__nDOYGqTEeSIl9kmTaAvcg" name="structprotocol~">
<ownedOperation xmi:type="uml:Operation" xmi:id="_ew7bAGqVEeSIl9kmTaAvcg" name="sig1" isAbstract="true">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_jnFcMGqWEeSIl9kmTaAvcg" name="parm1" type="_eJ6vQGW8EeSV5IMtq5RvhA"/>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Interface" xmi:id="_ISwaQGqUEeSIl9kmTaAvcg" name="structprotocol"/>
<packagedElement xmi:type="uml:Interface" xmi:id="_V2Jt0GqUEeSIl9kmTaAvcg" name="structprotocolSym"/>
<packagedElement xmi:type="uml:Realization" xmi:id="_LHKmIGqVEeSIl9kmTaAvcg" client="_fSI8kGqTEeSIl9kmTaAvcg" supplier="_ISwaQGqUEeSIl9kmTaAvcg"/>
<packagedElement xmi:type="uml:Realization" xmi:id="_Lu6ioGqVEeSIl9kmTaAvcg" client="_fSI8kGqTEeSIl9kmTaAvcg" supplier="_V2Jt0GqUEeSIl9kmTaAvcg"/>
<packagedElement xmi:type="uml:Usage" xmi:id="_OM62IGqVEeSIl9kmTaAvcg" client="_fSI8kGqTEeSIl9kmTaAvcg" supplier="_V2Jt0GqUEeSIl9kmTaAvcg"/>
<packagedElement xmi:type="uml:CallEvent" xmi:id="_PweeIGqWEeSIl9kmTaAvcg" name="sig1event" operation="_ew7bAGqVEeSIl9kmTaAvcg"/>
<packagedElement xmi:type="uml:Usage" xmi:id="_BTMoUGquEeSxb7I5cRFJZA" client="_fSI8kGqTEeSIl9kmTaAvcg" supplier="__nDOYGqTEeSIl9kmTaAvcg"/>
<packagedElement xmi:type="uml:AnyReceiveEvent" xmi:id="_uG59IGquEeSxb7I5cRFJZA" name="*"/>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_HsmiMGBtEeSDCZqWoWK7yg" name="Package2">
<packagedElement xmi:type="uml:DataType" xmi:id="_U1jU4GnCEeSBLc-34hiImQ" name="testtype">
<ownedAttribute xmi:type="uml:Property" xmi:id="_zCaVEGnCEeSBLc-34hiImQ" name="p1">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_1j_hAGnCEeSBLc-34hiImQ" name="p2">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_fUAHYGnbEeSyD9H73K8vrA" name="p3">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
</ownedAttribute>
</packagedElement>
</packagedElement>
<packagedElement xmi:type="uml:DataType" xmi:id="_pVZoUGBuEeSDCZqWoWK7yg" name="NewDataType">
<ownedAttribute xmi:type="uml:Property" xmi:id="_G-9uMGBvEeSDCZqWoWK7yg" name="p1">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_J1tR0GBvEeSDCZqWoWK7yg" name="p2">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_8heigBydEduyofBvg4RL2w"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_ji0TwGBwEeSDCZqWoWK7yg" name="newdata2"/>
<packagedElement xmi:type="uml:Class" xmi:id="_eJ6vQGW8EeSV5IMtq5RvhA" name="Class1" visibility="private" isActive="true">
<ownedAttribute xmi:type="uml:Property" xmi:id="_Qw2UcG8UEeSSYKQMhknjng" name="field1">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_Qw4wsG8UEeSSYKQMhknjng" name="field2">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
</ownedAttribute>
<ownedAttribute xmi:type="uml:Property" xmi:id="_PT5_4G8VEeSSYKQMhknjng" name="field_val" type="_Ni-00G8VEeSSYKQMhknjng"/>
<ownedAttribute xmi:type="uml:Property" xmi:id="_b3GhEG8dEeSmft7duwdl9A" name="field_ptr" type="_UZVvAG8dEeSmft7duwdl9A"/>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Qw6l4G8UEeSSYKQMhknjng" name="getField1" specification="_Qw7M8W8UEeSSYKQMhknjng">
<language>C/C++</language>
<body>return field1;</body>
</ownedBehavior>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_Qw7M8G8UEeSSYKQMhknjng" name="setField2" specification="_Qw9CIG8UEeSSYKQMhknjng">
<language>C/C++</language>
<body>field2 = value;</body>
</ownedBehavior>
<ownedBehavior xmi:type="uml:OpaqueBehavior" xmi:id="_V7h5YHCwEeSPZ_Rid8W-iw" name="getPtr" specification="_LPZjUHCvEeSaSJBfGXHZTA">
<language>C/C++</language>
<body>return field_ptr;</body>
</ownedBehavior>
<ownedOperation xmi:type="uml:Operation" xmi:id="_Qw7M8W8UEeSSYKQMhknjng" name="getField1" method="_Qw6l4G8UEeSSYKQMhknjng">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_Qw7M8m8UEeSSYKQMhknjng" name="_ret" direction="return">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:type="uml:Operation" xmi:id="_Qw9CIG8UEeSSYKQMhknjng" name="setField2" method="_Qw7M8G8UEeSSYKQMhknjng">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_Qw9CIW8UEeSSYKQMhknjng" name="value">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_5lVhgBydEduyofBvg4RL2w"/>
</ownedParameter>
</ownedOperation>
<ownedOperation xmi:type="uml:Operation" xmi:id="_LPZjUHCvEeSaSJBfGXHZTA" name="getPtr" method="_V7h5YHCwEeSPZ_Rid8W-iw">
<ownedParameter xmi:type="uml:Parameter" xmi:id="_LPZjUXCvEeSaSJBfGXHZTA" name="ret" type="_UZVvAG8dEeSmft7duwdl9A" direction="return"/>
</ownedOperation>
</packagedElement>
<packagedElement xmi:type="uml:Package" xmi:id="_2-BDYGqQEeSIl9kmTaAvcg" name="Package3"/>
<packagedElement xmi:type="uml:DataType" xmi:id="_8geR8G5XEeSrPbSpZw2cOg" name="newdata1">
<ownedAttribute xmi:type="uml:Property" xmi:id="_UE1PwHCrEeSNV8SNHyWPfQ" name="field1">
<type xmi:type="uml:PrimitiveType" href="pathmap://PapyrusC_Cpp_LIBRARIES/AnsiCLibrary.uml#_7wRIABydEduyofBvg4RL2w"/>
</ownedAttribute>
</packagedElement>
<packagedElement xmi:type="uml:Class" xmi:id="_Ni-00G8VEeSSYKQMhknjng" name="Class_val"/>
<packagedElement xmi:type="uml:Class" xmi:id="_UZVvAG8dEeSmft7duwdl9A" name="Class_ptr"/>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_ubQ9AFSIEeSJBo_pyoMAEg">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_uc2RYFSIEeSJBo_pyoMAEg" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/umlrt#/"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://UML_RT_PROFILE/uml-rt.profile.uml#_1h74oEeVEeO0lv5O1DTHOQ"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_uc7J4FSIEeSJBo_pyoMAEg">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_ufYoAFSIEeSJBo_pyoMAEg" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/umlrt/statemachine#/"/>
</eAnnotations>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_P2avEFSSEeSg3JDWm8argA">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_P6ldYFSSEeSg3JDWm8argA" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#_sYse0YZLEeKyw49uR6nx3g"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://PAPYRUS_ACTIONLANGUAGE_PROFILE/ActionLanguage-Profile.profile.uml#ActionLanguage"/>
</profileApplication>
<profileApplication xmi:type="uml:ProfileApplication" xmi:id="_-xZP0GBuEeSDCZqWoWK7yg">
<eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_-y4dkGBuEeSDCZqWoWK7yg" source="http://www.eclipse.org/uml2/2.0.0/UML">
<references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/C_Cpp/1#/"/>
</eAnnotations>
<appliedProfile xmi:type="uml:Profile" href="pathmap://PapyrusC_Cpp_PROFILES/C_Cpp.profile.uml#_j9REUByGEduN1bTiWJ0lyw"/>
</profileApplication>
</uml:Model>
<UMLRealTime:Capsule xmi:id="_xRIW4FSIEeSJBo_pyoMAEg" base_Class="__EW3UCSSEeS0XNKzoL660g"/>
<UMLRealTime:ProtocolContainer xmi:id="_y-JSUFSIEeSJBo_pyoMAEg" base_Package="_AsGVkCSxEeS0XNKzoL660g"/>
<UMLRealTime:Capsule xmi:id="_z7XIgFSIEeSJBo_pyoMAEg" base_Class="_BMMGgCSTEeS0XNKzoL660g"/>
<UMLRealTime:Capsule xmi:id="_0lxXcFSIEeSJBo_pyoMAEg" base_Class="_97ZrMCSSEeS0XNKzoL660g"/>
<UMLRealTimeStateMach:RTStateMachine xmi:id="_7RuSEFSIEeSJBo_pyoMAEg" base_StateMachine="_aKvpECb0EeSBQ4h-CZj2Uw"/>
<UMLRealTimeStateMach:RTRegion xmi:id="_8XYSkFSIEeSJBo_pyoMAEg" base_Region="_ibsLkCb0EeSBQ4h-CZj2Uw"/>
<UMLRealTimeStateMach:RTPseudostate xmi:id="_9Hoq0FSIEeSJBo_pyoMAEg" base_Pseudostate="_XswHMCb1EeSBQ4h-CZj2Uw"/>
<UMLRealTimeStateMach:RTState xmi:id="_-tjfwFSIEeSJBo_pyoMAEg" base_State="_lY5HECb1EeSBQ4h-CZj2Uw"/>
<UMLRealTime:RTPort xmi:id="_DF71QFSJEeSJBo_pyoMAEg" base_Port="_PQ_kMCbnEeSBQ4h-CZj2Uw"/>
<UMLRealTime:RTPort xmi:id="_MZ1pkFSJEeSJBo_pyoMAEg" base_Port="_aXdiUCbnEeSBQ4h-CZj2Uw"/>
<UMLRealTimeStateMach:RTStateMachine xmi:id="_NFZIAFSJEeSJBo_pyoMAEg" base_StateMachine="_ltVRwCcQEeSlGd4okkPIfw"/>
<UMLRealTimeStateMach:RTRegion xmi:id="_N7GA8FSJEeSJBo_pyoMAEg" base_Region="_mjyYoCcQEeSlGd4okkPIfw"/>
<UMLRealTimeStateMach:RTPseudostate xmi:id="_PBJDAFSJEeSJBo_pyoMAEg" base_Pseudostate="_0s6PcCcQEeSlGd4okkPIfw"/>
<UMLRealTimeStateMach:RTState xmi:id="_PtUMgFSJEeSJBo_pyoMAEg" base_State="_1KbR4CcQEeSlGd4okkPIfw"/>
<UMLRealTime:RTConnector xmi:id="_RWZqMFSJEeSJBo_pyoMAEg" base_Connector="_nfqtsCbyEeSBQ4h-CZj2Uw"/>
<UMLRealTime:CapsulePart xmi:id="_S04aYFSJEeSJBo_pyoMAEg" base_Property="_AkoIgCSZEeS0XNKzoL660g"/>
<UMLRealTime:CapsulePart xmi:id="_T26fIFSJEeSJBo_pyoMAEg" base_Property="_CRig0CSaEeS0XNKzoL660g"/>
<UMLRealTime:Protocol xmi:id="_54fY0FSJEeSJBo_pyoMAEg" base_Collaboration="_bEbXYCS1EeS0XNKzoL660g"/>
<UMLRealTime:RTMessageSet xmi:id="_J1j5gFSKEeSJBo_pyoMAEg" base_Interface="_s_Lv8CS5EeS0XNKzoL660g" rtMsgKind="out"/>
<UMLRealTime:RTMessageSet xmi:id="_NEeFgFSKEeSJBo_pyoMAEg" base_Interface="_P5bzsCS3EeS0XNKzoL660g"/>
<UMLRealTime:RTMessageSet xmi:id="_NxZc8FSKEeSJBo_pyoMAEg" base_Interface="_xSYDcCS5EeS0XNKzoL660g" rtMsgKind="inOut"/>
<UMLRealTimeStateMach:RTTrigger xmi:id="_O0USgFSKEeSJBo_pyoMAEg" base_Operation="_k7sskCS3EeS0XNKzoL660g"/>
<UMLRealTimeStateMach:RTTrigger xmi:id="_TPJfEFSKEeSJBo_pyoMAEg" base_Operation="_wRxiECS5EeS0XNKzoL660g"/>
<C_Cpp:Union xmi:id="_Cc87kGBvEeSDCZqWoWK7yg" base_DataType="_pVZoUGBuEeSDCZqWoWK7yg"/>
<UMLRealTime:CapsulePart xmi:id="_lZRUMGRDEeS50LNxj8x9JQ" base_Property="_a26IsGRDEeS50LNxj8x9JQ"/>
<UMLRealTime:RTConnector xmi:id="_KN4AAGnMEeSyD9H73K8vrA" base_Connector="_IUL6gGnMEeSyD9H73K8vrA"/>
<UMLRealTime:ProtocolContainer xmi:id="_Y-_Y8GqSEeSIl9kmTaAvcg" base_Package="_Xc8XYGqSEeSIl9kmTaAvcg"/>
<UMLRealTime:RTMessageSet xmi:id="_B0mEAGqUEeSIl9kmTaAvcg" base_Interface="__nDOYGqTEeSIl9kmTaAvcg" rtMsgKind="out"/>
<UMLRealTime:RTMessageSet xmi:id="_MT4tYGqUEeSIl9kmTaAvcg" base_Interface="_ISwaQGqUEeSIl9kmTaAvcg"/>
<UMLRealTime:RTMessageSet xmi:id="_aTCv4GqUEeSIl9kmTaAvcg" base_Interface="_V2Jt0GqUEeSIl9kmTaAvcg" rtMsgKind="inOut"/>
<UMLRealTime:Protocol xmi:id="__3CVsGqUEeSIl9kmTaAvcg" base_Collaboration="_fSI8kGqTEeSIl9kmTaAvcg"/>
<UMLRealTimeStateMach:RTTrigger xmi:id="_nveDUGqVEeSIl9kmTaAvcg" base_Operation="_ew7bAGqVEeSIl9kmTaAvcg"/>
<UMLRealTime:RTPort xmi:id="_j1Cv8GqnEeSxb7I5cRFJZA" base_Port="_CzRYIGqnEeSxb7I5cRFJZA"/>
<UMLRealTime:RTPort xmi:id="_lLeXYGqnEeSxb7I5cRFJZA" base_Port="_FgOGkGqnEeSxb7I5cRFJZA"/>
<UMLRealTime:RTConnector xmi:id="_sAZyYGqoEeSxb7I5cRFJZA" base_Connector="_puXeUGqoEeSxb7I5cRFJZA"/>
<UMLRealTime:RTConnector xmi:id="_tD9hIGqoEeSxb7I5cRFJZA" base_Connector="_ltOkIGqoEeSxb7I5cRFJZA"/>
<C_Cpp:Include xmi:id="_UZXt4GswEeSfgoHiAWwmkQ" body="#include &lt;iostream>" base_class="_97ZrMCSSEeS0XNKzoL660g"/>
<C_Cpp:Include xmi:id="_ZAQZcGswEeSfgoHiAWwmkQ" body="#include &lt;iostream>" base_class="__EW3UCSSEeS0XNKzoL660g"/>
<C_Cpp:Include xmi:id="_kCvPcGswEeSfgoHiAWwmkQ" body="#include &lt;iostream>&#xA;#include &lt;unistd.h>" base_class="_BMMGgCSTEeS0XNKzoL660g"/>
<C_Cpp:Include xmi:id="_wOdtwG5XEeSrPbSpZw2cOg" body="// body include declarations" header="// header include declarations" base_class="_ji0TwGBwEeSDCZqWoWK7yg"/>
<C_Cpp:Include xmi:id="_JsH4AG8VEeSSYKQMhknjng" body="// body include declarations" header="// header include declarations" base_class="_eJ6vQGW8EeSV5IMtq5RvhA"/>
<C_Cpp:Ptr xmi:id="_dSs8YG8dEeSmft7duwdl9A" base_property="_b3GhEG8dEeSmft7duwdl9A" declaration=""/>
<C_Cpp:Ptr xmi:id="_PnYQMHCvEeSaSJBfGXHZTA" base_parameter="_LPZjUXCvEeSaSJBfGXHZTA"/>
</xmi:XMI>