| <?xml version="1.0" encoding="UTF-8"?> |
| <xmi:XMI xmi:version="20131001" xmlns:xmi="http://www.omg.org/spec/XMI/20131001" 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="_b1SIwIuQEeSDrov2-V2T6g" name="SMCapsuleInheritance7"> |
| <packageImport xmi:type="uml:PackageImport" xmi:id="_b1SIwYuQEeSDrov2-V2T6g"> |
| <importedPackage xmi:type="uml:Model" href="pathmap://UML_LIBRARIES/UMLPrimitiveTypes.library.uml#_0"/> |
| </packageImport> |
| <packagedElement xmi:type="uml:Package" xmi:id="_ypZZwIuQEeSDrov2-V2T6g" name="Protocol1"> |
| <packagedElement xmi:type="uml:Collaboration" xmi:id="_ypmOEIuQEeSDrov2-V2T6g" name="Protocol1"/> |
| <packagedElement xmi:type="uml:Interface" xmi:id="_ypoqUIuQEeSDrov2-V2T6g" name="Protocol1"> |
| <ownedOperation xmi:type="uml:Operation" xmi:id="_6b8wEIuQEeSDrov2-V2T6g" name="inSig1"/> |
| <ownedOperation xmi:type="uml:Operation" xmi:id="_7_rzsIuQEeSDrov2-V2T6g" name="inSig2"/> |
| <ownedOperation xmi:type="uml:Operation" xmi:id="_9PsqEIuQEeSDrov2-V2T6g" name="inSig3"/> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Realization" xmi:id="_ypti0IuQEeSDrov2-V2T6g" name="ProtocolRealizesIncomingInterface" client="_ypmOEIuQEeSDrov2-V2T6g" supplier="_ypoqUIuQEeSDrov2-V2T6g"/> |
| <packagedElement xmi:type="uml:Interface" xmi:id="_ypuw8IuQEeSDrov2-V2T6g" name="Protocol1~"/> |
| <packagedElement xmi:type="uml:Usage" xmi:id="_ypxNMIuQEeSDrov2-V2T6g" name="ProtocolUsesOutgoingInterface" client="_ypmOEIuQEeSDrov2-V2T6g" supplier="_ypuw8IuQEeSDrov2-V2T6g"/> |
| <packagedElement xmi:type="uml:Interface" xmi:id="_ypybUIuQEeSDrov2-V2T6g" name="Protocol1Sym"/> |
| <packagedElement xmi:type="uml:Realization" xmi:id="_yp0QgIuQEeSDrov2-V2T6g" name="ProtocolRealizesSymInterface" client="_ypmOEIuQEeSDrov2-V2T6g" supplier="_ypybUIuQEeSDrov2-V2T6g"/> |
| <packagedElement xmi:type="uml:Usage" xmi:id="_yp03kIuQEeSDrov2-V2T6g" name="ProtocolUsesSymInterface" client="_ypmOEIuQEeSDrov2-V2T6g" supplier="_ypybUIuQEeSDrov2-V2T6g"/> |
| <packagedElement xmi:type="uml:AnyReceiveEvent" xmi:id="_yp2swIuQEeSDrov2-V2T6g" name="*"/> |
| <packagedElement xmi:type="uml:CallEvent" xmi:id="_6cHvMIuQEeSDrov2-V2T6g" name="inSig1" operation="_6b8wEIuQEeSDrov2-V2T6g"/> |
| <packagedElement xmi:type="uml:CallEvent" xmi:id="_7_uP8IuQEeSDrov2-V2T6g" name="inSig2" operation="_7_rzsIuQEeSDrov2-V2T6g"/> |
| <packagedElement xmi:type="uml:CallEvent" xmi:id="_9PvtYIuQEeSDrov2-V2T6g" name="inSig3" operation="_9PsqEIuQEeSDrov2-V2T6g"/> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Class" xmi:id="_CmDDsIuREeSDrov2-V2T6g" name="Top" isActive="true"> |
| <ownedAttribute xmi:type="uml:Property" xmi:id="_BtlVMIuSEeSDrov2-V2T6g" name="sender" type="_K9ZwMIuREeSDrov2-V2T6g" aggregation="composite" association="_Btl8QIuSEeSDrov2-V2T6g"> |
| <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_BtlVMYuSEeSDrov2-V2T6g" value="1"/> |
| <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_BtlVMouSEeSDrov2-V2T6g" value="1"/> |
| </ownedAttribute> |
| <ownedAttribute xmi:type="uml:Property" xmi:id="_D1Bi0IuSEeSDrov2-V2T6g" name="specialReceiver" type="_WPOpwIuREeSDrov2-V2T6g" aggregation="composite" association="_D1CJ4IuSEeSDrov2-V2T6g"> |
| <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_D1Bi0YuSEeSDrov2-V2T6g" value="1"/> |
| <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_D1Bi0ouSEeSDrov2-V2T6g" value="1"/> |
| </ownedAttribute> |
| <ownedConnector xmi:type="uml:Connector" xmi:id="_pQfpUIuTEeSDrov2-V2T6g" name="Connector1"> |
| <end xmi:type="uml:ConnectorEnd" xmi:id="_pQjTsIuTEeSDrov2-V2T6g" partWithPort="_BtlVMIuSEeSDrov2-V2T6g" role="_-wrpwIuSEeSDrov2-V2T6g"> |
| <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pQjTsYuTEeSDrov2-V2T6g" value="1"/> |
| <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pQjTsouTEeSDrov2-V2T6g" value="1"/> |
| </end> |
| <end xmi:type="uml:ConnectorEnd" xmi:id="_pQjTs4uTEeSDrov2-V2T6g" partWithPort="_D1Bi0IuSEeSDrov2-V2T6g" role="_XLVawIuTEeSDrov2-V2T6g"> |
| <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_pQjTtIuTEeSDrov2-V2T6g" value="1"/> |
| <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_pQjTtYuTEeSDrov2-V2T6g" value="1"/> |
| </end> |
| </ownedConnector> |
| <ownedConnector xmi:type="uml:Connector" xmi:id="_tiK54IuTEeSDrov2-V2T6g" name="Connector2"> |
| <end xmi:type="uml:ConnectorEnd" xmi:id="_tiLg8IuTEeSDrov2-V2T6g" partWithPort="_BtlVMIuSEeSDrov2-V2T6g" role="_NmN6oIuTEeSDrov2-V2T6g"> |
| <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tiLg8YuTEeSDrov2-V2T6g" value="1"/> |
| <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tiLg8ouTEeSDrov2-V2T6g" value="1"/> |
| </end> |
| <end xmi:type="uml:ConnectorEnd" xmi:id="_tiLg84uTEeSDrov2-V2T6g" partWithPort="_D1Bi0IuSEeSDrov2-V2T6g" role="_b_kl0IuTEeSDrov2-V2T6g"> |
| <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_tiLg9IuTEeSDrov2-V2T6g" value="1"/> |
| <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_tiLg9YuTEeSDrov2-V2T6g" value="1"/> |
| </end> |
| </ownedConnector> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Class" xmi:id="_K9ZwMIuREeSDrov2-V2T6g" name="Sender" isActive="true"> |
| <ownedAttribute xmi:type="uml:Port" xmi:id="_-wrpwIuSEeSDrov2-V2T6g" name="Port1" type="_ypmOEIuQEeSDrov2-V2T6g" aggregation="composite" isConjugated="true"/> |
| <ownedAttribute xmi:type="uml:Port" xmi:id="_NmN6oIuTEeSDrov2-V2T6g" name="Port2" type="_ypmOEIuQEeSDrov2-V2T6g" aggregation="composite" isConjugated="true"/> |
| <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_z02_8IuTEeSDrov2-V2T6g" name="SenderStateMachine"> |
| <region xmi:type="uml:Region" xmi:id="_3U70cIuTEeSDrov2-V2T6g" name="Region1"> |
| <transition xmi:type="uml:Transition" xmi:id="__OzTsIuTEeSDrov2-V2T6g" name="t0" source="_6RWiQIuTEeSDrov2-V2T6g" target="_8f42YIuTEeSDrov2-V2T6g"> |
| <effect xmi:type="uml:OpaqueBehavior" xmi:id="_TrCHUIuUEeSDrov2-V2T6g"> |
| <language>C++</language> |
| <body>std::cout << "Sender::t0" << endl; |
| Port1().inSig1().send(); |
| std::cout << "Sender::t0 -- sent Port1.inSig1" << endl; |
| Port2().inSig2().send(); |
| std::cout << "Sender::t0 -- sent Port2.inSig2" << endl; |
| </body> |
| </effect> |
| </transition> |
| <subvertex xmi:type="uml:Pseudostate" xmi:id="_6RWiQIuTEeSDrov2-V2T6g" name="Initial1"/> |
| <subvertex xmi:type="uml:State" xmi:id="_8f42YIuTEeSDrov2-V2T6g" name="Done"/> |
| </region> |
| </ownedBehavior> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Class" xmi:id="_Q_GM4IuREeSDrov2-V2T6g" name="Receiver" isActive="true"> |
| <ownedAttribute xmi:type="uml:Port" xmi:id="_XLVawIuTEeSDrov2-V2T6g" name="Port1" type="_ypmOEIuQEeSDrov2-V2T6g" aggregation="composite"/> |
| <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_ZQi-UIuUEeSDrov2-V2T6g" name="ReceiverStateMachine"> |
| <region xmi:type="uml:Region" xmi:id="_a-H6cIuUEeSDrov2-V2T6g" name="ReceiverSMRegion1"> |
| <transition xmi:type="uml:Transition" xmi:id="_n-ojYIuUEeSDrov2-V2T6g" name="t0" source="_eb7eEIuUEeSDrov2-V2T6g" target="_hGoJwIuUEeSDrov2-V2T6g"/> |
| <transition xmi:type="uml:Transition" xmi:id="_tID7UIuUEeSDrov2-V2T6g" name="t1" source="_hGoJwIuUEeSDrov2-V2T6g" target="_q0lc0IuUEeSDrov2-V2T6g"> |
| <effect xmi:type="uml:OpaqueBehavior" xmi:id="_LVkbwIuVEeSDrov2-V2T6g"> |
| <language>C++</language> |
| <body>std::cout << "Receiver::t1 -- received Port1.inSig1" << endl; |
| </body> |
| </effect> |
| <trigger xmi:type="uml:Trigger" xmi:id="_DV7EoIuVEeSDrov2-V2T6g" event="_6cHvMIuQEeSDrov2-V2T6g" port="_XLVawIuTEeSDrov2-V2T6g"/> |
| </transition> |
| <subvertex xmi:type="uml:Pseudostate" xmi:id="_eb7eEIuUEeSDrov2-V2T6g" name="Initial1"/> |
| <subvertex xmi:type="uml:State" xmi:id="_hGoJwIuUEeSDrov2-V2T6g" name="State1"> |
| <entry xmi:type="uml:OpaqueBehavior" xmi:id="_3bcPoIuUEeSDrov2-V2T6g"> |
| <language>C++</language> |
| <body>std::cout << "Receiver::State1 -- waiting for Port1.inSig1" << endl; |
| </body> |
| </entry> |
| </subvertex> |
| <subvertex xmi:type="uml:State" xmi:id="_q0lc0IuUEeSDrov2-V2T6g" name="State2"> |
| <entry xmi:type="uml:OpaqueBehavior" xmi:id="_96cBcIuWEeSkHZHhSgtZ1Q"> |
| <language>C++</language> |
| <body>std::cout << "Receiver::State2 -- waiting for whatever may come" << endl; |
| </body> |
| </entry> |
| </subvertex> |
| </region> |
| </ownedBehavior> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Class" xmi:id="_WPOpwIuREeSDrov2-V2T6g" name="SpecialReceiver" isActive="true"> |
| <generalization xmi:type="uml:Generalization" xmi:id="_bt7HEIuREeSDrov2-V2T6g" general="_Q_GM4IuREeSDrov2-V2T6g"/> |
| <ownedAttribute xmi:type="uml:Port" xmi:id="_b_kl0IuTEeSDrov2-V2T6g" name="Port2" type="_ypmOEIuQEeSDrov2-V2T6g" aggregation="composite"/> |
| <ownedBehavior xmi:type="uml:StateMachine" xmi:id="_QdewwIuVEeSDrov2-V2T6g" name="SpecialReveiverStateMachine" extendedStateMachine="_ZQi-UIuUEeSDrov2-V2T6g"> |
| <region xmi:type="uml:Region" xmi:id="_SgJzIIuVEeSDrov2-V2T6g" name="SpecialReceiverSMRegion1" extendedRegion="_a-H6cIuUEeSDrov2-V2T6g"> |
| <transition xmi:type="uml:Transition" xmi:id="_oOfu4IuVEeSDrov2-V2T6g" name="t2" source="_q0lc0IuUEeSDrov2-V2T6g" target="_ZFuY8IuVEeSDrov2-V2T6g"> |
| <effect xmi:type="uml:OpaqueBehavior" xmi:id="_zDWYkIuVEeSDrov2-V2T6g"> |
| <language>C++</language> |
| <body>std::cout << "SpecialReceiver::t2 -- received Port2.inSig2" << endl; |
| </body> |
| </effect> |
| <trigger xmi:type="uml:Trigger" xmi:id="_sj5B0IuVEeSDrov2-V2T6g" event="_7_uP8IuQEeSDrov2-V2T6g" port="_b_kl0IuTEeSDrov2-V2T6g"/> |
| </transition> |
| <subvertex xmi:type="uml:State" xmi:id="_ZFuY8IuVEeSDrov2-V2T6g" name="State3"> |
| <entry xmi:type="uml:OpaqueBehavior" xmi:id="_641HEIuVEeSDrov2-V2T6g"> |
| <language>C++</language> |
| <body>std::cout << "SpecialReceiver::State3" << endl; |
| </body> |
| </entry> |
| </subvertex> |
| </region> |
| </ownedBehavior> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Association" xmi:id="_Btl8QIuSEeSDrov2-V2T6g" memberEnd="_Btl8QYuSEeSDrov2-V2T6g _BtlVMIuSEeSDrov2-V2T6g"> |
| <ownedEnd xmi:type="uml:Property" xmi:id="_Btl8QYuSEeSDrov2-V2T6g" name="top" type="_CmDDsIuREeSDrov2-V2T6g" association="_Btl8QIuSEeSDrov2-V2T6g"> |
| <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_Btl8QouSEeSDrov2-V2T6g" value="1"/> |
| <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_Btl8Q4uSEeSDrov2-V2T6g" value="1"/> |
| </ownedEnd> |
| </packagedElement> |
| <packagedElement xmi:type="uml:Association" xmi:id="_D1CJ4IuSEeSDrov2-V2T6g" memberEnd="_D1CJ4YuSEeSDrov2-V2T6g _D1Bi0IuSEeSDrov2-V2T6g"> |
| <ownedEnd xmi:type="uml:Property" xmi:id="_D1CJ4YuSEeSDrov2-V2T6g" name="top" type="_CmDDsIuREeSDrov2-V2T6g" association="_D1CJ4IuSEeSDrov2-V2T6g"> |
| <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_D1CJ4ouSEeSDrov2-V2T6g" value="1"/> |
| <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_D1CJ44uSEeSDrov2-V2T6g" value="1"/> |
| </ownedEnd> |
| </packagedElement> |
| <profileApplication xmi:type="uml:ProfileApplication" xmi:id="_vpUT8IuQEeSDrov2-V2T6g"> |
| <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_vpkLkIuQEeSDrov2-V2T6g" 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="_whc10IuQEeSDrov2-V2T6g"> |
| <eAnnotations xmi:type="ecore:EAnnotation" xmi:id="_whstcIuQEeSDrov2-V2T6g" source="http://www.eclipse.org/uml2/2.0.0/UML"> |
| <references xmi:type="ecore:EPackage" href="http://www.eclipse.org/papyrus/umlrt/statemachine#/"/> |
| </eAnnotations> |
| <appliedProfile xmi:type="uml:Profile" href="pathmap://UML_RT_PROFILE/UMLRealTimeSM-addendum.profile.uml#_KLcn0FDtEeOA4ecmvfqvaw"/> |
| </profileApplication> |
| </uml:Model> |
| <UMLRealTime:ProtocolContainer xmi:id="_ypdEIIuQEeSDrov2-V2T6g" base_Package="_ypZZwIuQEeSDrov2-V2T6g"/> |
| <UMLRealTime:Protocol xmi:id="_ypoDQIuQEeSDrov2-V2T6g" base_Collaboration="_ypmOEIuQEeSDrov2-V2T6g"/> |
| <UMLRealTime:RTMessageSet xmi:id="_ypqfgIuQEeSDrov2-V2T6g" base_Interface="_ypoqUIuQEeSDrov2-V2T6g"/> |
| <UMLRealTime:RTMessageSet xmi:id="_ypvYAIuQEeSDrov2-V2T6g" base_Interface="_ypuw8IuQEeSDrov2-V2T6g" rtMsgKind="out"/> |
| <UMLRealTime:RTMessageSet xmi:id="_ypzCYIuQEeSDrov2-V2T6g" base_Interface="_ypybUIuQEeSDrov2-V2T6g" rtMsgKind="inOut"/> |
| <UMLRealTime:Capsule xmi:id="_EiC2UIuREeSDrov2-V2T6g" base_Class="_CmDDsIuREeSDrov2-V2T6g"/> |
| <UMLRealTime:Capsule xmi:id="_QH2b0IuREeSDrov2-V2T6g" base_Class="_K9ZwMIuREeSDrov2-V2T6g"/> |
| <UMLRealTime:Capsule xmi:id="_TEjdgIuREeSDrov2-V2T6g" base_Class="_Q_GM4IuREeSDrov2-V2T6g"/> |
| <UMLRealTime:Capsule xmi:id="_aIUbMIuREeSDrov2-V2T6g" base_Class="_WPOpwIuREeSDrov2-V2T6g"/> |
| <UMLRealTime:CapsulePart xmi:id="_iWDcMIuSEeSDrov2-V2T6g" base_Property="_BtlVMIuSEeSDrov2-V2T6g"/> |
| <UMLRealTime:CapsulePart xmi:id="_jGn9gIuSEeSDrov2-V2T6g" base_Property="_D1Bi0IuSEeSDrov2-V2T6g"/> |
| <UMLRealTime:RTPort xmi:id="_AbN48IuTEeSDrov2-V2T6g" base_Port="_-wrpwIuSEeSDrov2-V2T6g"/> |
| <UMLRealTime:RTPort xmi:id="_PPTYUIuTEeSDrov2-V2T6g" base_Port="_NmN6oIuTEeSDrov2-V2T6g"/> |
| <UMLRealTime:RTPort xmi:id="_awrw0IuTEeSDrov2-V2T6g" base_Port="_XLVawIuTEeSDrov2-V2T6g"/> |
| <UMLRealTime:RTPort xmi:id="_fEH78IuTEeSDrov2-V2T6g" base_Port="_b_kl0IuTEeSDrov2-V2T6g"/> |
| <UMLRealTime:RTConnector xmi:id="_qbO-IIuTEeSDrov2-V2T6g" base_Connector="_pQfpUIuTEeSDrov2-V2T6g"/> |
| <UMLRealTime:RTConnector xmi:id="_vtjMUIuTEeSDrov2-V2T6g" base_Connector="_tiK54IuTEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTStateMachine xmi:id="_41_-kIuTEeSDrov2-V2T6g" base_StateMachine="_z02_8IuTEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTRegion xmi:id="_5j2jEIuTEeSDrov2-V2T6g" base_Region="_3U70cIuTEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTPseudostate xmi:id="_CfExoIuUEeSDrov2-V2T6g" base_Pseudostate="_6RWiQIuTEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTState xmi:id="_DRee8IuUEeSDrov2-V2T6g" base_State="_8f42YIuTEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTStateMachine xmi:id="_cqIwUIuUEeSDrov2-V2T6g" base_StateMachine="_ZQi-UIuUEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTRegion xmi:id="_dWwlwIuUEeSDrov2-V2T6g" base_Region="_a-H6cIuUEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTPseudostate xmi:id="_fpYvsIuUEeSDrov2-V2T6g" base_Pseudostate="_eb7eEIuUEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTState xmi:id="_nTFE8IuUEeSDrov2-V2T6g" base_State="_hGoJwIuUEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTState xmi:id="_sCJcIIuUEeSDrov2-V2T6g" base_State="_q0lc0IuUEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTStateMachine xmi:id="_TppKwIuVEeSDrov2-V2T6g" base_StateMachine="_QdewwIuVEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTRegion xmi:id="_UTZ5cIuVEeSDrov2-V2T6g" base_Region="_SgJzIIuVEeSDrov2-V2T6g"/> |
| <UMLRealTimeStateMach:RTState xmi:id="_mtnK8IuVEeSDrov2-V2T6g" base_State="_ZFuY8IuVEeSDrov2-V2T6g"/> |
| </xmi:XMI> |