diff --git a/modeling/AVATAR/AirbusDoor_V2.xml b/modeling/AVATAR/AirbusDoor_V2.xml index 4260103c7e47a31e16da290e8b2bd969a2bc1467..f0bfecb7103f0edd885d5f76fe6589c4d5c43c5f 100644 --- a/modeling/AVATAR/AirbusDoor_V2.xml +++ b/modeling/AVATAR/AirbusDoor_V2.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="false" ACTIVATE_PENALTIES="true" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="3" LAST_SELECTED_SUB_TAB="2"> +<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="false" ACTIVATE_PENALTIES="true" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="5" LAST_SELECTED_SUB_TAB="0"> <Modeling type="Avatar MAD" nameTab="MADs" > <AvatarMADPanel name="Modeling Assumptions Diagram" minX="10" maxX="1400" minY="10" maxY="900" zoom="1.0" > @@ -1883,7 +1883,7 @@ <MainCode value="}"/> <Optimized value="true" /> <considerTimingOperators value="true" /> -<Validated value="OnboardPersons;Passenger;Crew;FirstOfficer;Captain;KeyboardFailure;Person;System;DoorAndLockButton;Keyboard;" /> +<Validated value="" /> <Ignored value="" /> <CONNECTOR type="5002" id="1199" index="0" uid="84130882-d266-44ab-94bc-657245dfd6f0" > @@ -1891,7 +1891,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="" /> <TGConnectingPoint num="0" id="1198" /> -<P1 x="798" y="444" id="1553" /> +<P1 x="798" y="444" id="1594" /> <P2 x="716" y="402" id="1443" /> <AutomaticDrawing data="true" /> <extraparam> @@ -1906,7 +1906,7 @@ <infoparam name="connector" value="" /> <TGConnectingPoint num="0" id="1200" /> <P1 x="716" y="210" id="1441" /> -<P2 x="906" y="176" id="1585" /> +<P2 x="906" y="176" id="1544" /> <AutomaticDrawing data="true" /> <extraparam> <isd value="in lock()" /> @@ -2056,13 +2056,13 @@ in DoorAndLockButton <Signal value="out typeCode(int codeValue)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="1265" index="14" uid="657f2cac-a575-4e2d-9dde-2300e972c39c" > +<SUBCOMPONENT type="5000" id="1265" index="14" uid="0a39fbe6-bf21-45f2-b4d9-71dbe6905a00" > <father id="1470" num="0" /> -<cdparam x="568" y="250" /> -<sizeparam width="136" height="137" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="319" y="181" /> +<sizeparam width="217" height="98" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="528" minY="0" maxY="247" /> -<infoparam name="Block0" value="KeyboardFailure" /> +<cdrectangleparam minX="0" maxX="447" minY="0" maxY="286" /> +<infoparam name="Block0" value="Passenger" /> <TGConnectingPoint num="0" id="1225" /> <TGConnectingPoint num="1" id="1226" /> <TGConnectingPoint num="2" id="1227" /> @@ -2106,16 +2106,18 @@ in DoorAndLockButton <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="codeValue" value="1" type="8" typeOther="" /> +<Attribute access="0" id="isInCockpit" value="false" type="4" typeOther="" /> +<Attribute access="0" id="knowsEmergencyCode" value="false" type="4" typeOther="" /> +<Attribute access="0" id="code" value="" type="5" typeOther="Code" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="1306" index="15" uid="0ee2ad1b-4a12-4d70-b4cf-fe6673684c7f" > +<SUBCOMPONENT type="5000" id="1306" index="15" uid="291b7b05-f83f-439a-80af-5d2c88f0ecaa" > <father id="1470" num="1" /> -<cdparam x="71" y="286" /> -<sizeparam width="225" height="98" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="317" y="293" /> +<sizeparam width="219" height="98" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="439" minY="0" maxY="286" /> -<infoparam name="Block0" value="Captain" /> +<cdrectangleparam minX="0" maxX="445" minY="0" maxY="286" /> +<infoparam name="Block0" value="Crew" /> <TGConnectingPoint num="0" id="1266" /> <TGConnectingPoint num="1" id="1267" /> <TGConnectingPoint num="2" id="1268" /> @@ -2159,7 +2161,7 @@ in DoorAndLockButton <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="isInCockpit" value="true" type="4" typeOther="" /> +<Attribute access="0" id="isInCockpit" value="false" type="4" typeOther="" /> <Attribute access="0" id="knowsEmergencyCode" value="true" type="4" typeOther="" /> <Attribute access="0" id="code" value="" type="5" typeOther="Code" /> </extraparam> @@ -2219,13 +2221,13 @@ in DoorAndLockButton <Attribute access="0" id="code" value="" type="5" typeOther="Code" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="1388" index="17" uid="291b7b05-f83f-439a-80af-5d2c88f0ecaa" > +<SUBCOMPONENT type="5000" id="1388" index="17" uid="0ee2ad1b-4a12-4d70-b4cf-fe6673684c7f" > <father id="1470" num="3" /> -<cdparam x="317" y="293" /> -<sizeparam width="219" height="98" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="71" y="286" /> +<sizeparam width="225" height="98" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="445" minY="0" maxY="286" /> -<infoparam name="Block0" value="Crew" /> +<cdrectangleparam minX="0" maxX="439" minY="0" maxY="286" /> +<infoparam name="Block0" value="Captain" /> <TGConnectingPoint num="0" id="1348" /> <TGConnectingPoint num="1" id="1349" /> <TGConnectingPoint num="2" id="1350" /> @@ -2269,18 +2271,18 @@ in DoorAndLockButton <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="isInCockpit" value="false" type="4" typeOther="" /> +<Attribute access="0" id="isInCockpit" value="true" type="4" typeOther="" /> <Attribute access="0" id="knowsEmergencyCode" value="true" type="4" typeOther="" /> <Attribute access="0" id="code" value="" type="5" typeOther="Code" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="1429" index="18" uid="0a39fbe6-bf21-45f2-b4d9-71dbe6905a00" > +<SUBCOMPONENT type="5000" id="1429" index="18" uid="657f2cac-a575-4e2d-9dde-2300e972c39c" > <father id="1470" num="4" /> -<cdparam x="319" y="181" /> -<sizeparam width="217" height="98" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="568" y="250" /> +<sizeparam width="136" height="137" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="447" minY="0" maxY="286" /> -<infoparam name="Block0" value="Passenger" /> +<cdrectangleparam minX="0" maxX="528" minY="0" maxY="247" /> +<infoparam name="Block0" value="KeyboardFailure" /> <TGConnectingPoint num="0" id="1389" /> <TGConnectingPoint num="1" id="1390" /> <TGConnectingPoint num="2" id="1391" /> @@ -2324,9 +2326,7 @@ in DoorAndLockButton <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="isInCockpit" value="false" type="4" typeOther="" /> -<Attribute access="0" id="knowsEmergencyCode" value="false" type="4" typeOther="" /> -<Attribute access="0" id="code" value="" type="5" typeOther="Code" /> +<Attribute access="0" id="codeValue" value="1" type="8" typeOther="" /> </extraparam> </SUBCOMPONENT> @@ -2542,13 +2542,13 @@ DoorAndLockButton.IN_EMERGENCY_CALL --> DoorAndLockButton.CLOSED_AND_LOCKED | <Signal value="out chout(Message m)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="1581" index="19" uid="09ce1e04-b7fd-4955-8c7b-a9699b0f9ede" > +<SUBCOMPONENT type="5000" id="1581" index="19" uid="803086ce-40fb-494e-8490-5106aedde9e7" > <father id="1663" num="0" /> -<cdparam x="798" y="291" /> -<sizeparam width="370" height="205" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="906" y="74" /> +<sizeparam width="250" height="205" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="829" minY="0" maxY="292" /> -<infoparam name="Block0" value="Keyboard" /> +<cdrectangleparam minX="0" maxX="949" minY="0" maxY="292" /> +<infoparam name="Block0" value="DoorAndLockButton" /> <TGConnectingPoint num="0" id="1541" /> <TGConnectingPoint num="1" id="1542" /> <TGConnectingPoint num="2" id="1543" /> @@ -2592,8 +2592,9 @@ DoorAndLockButton.IN_EMERGENCY_CALL --> DoorAndLockButton.CLOSED_AND_LOCKED | <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="codeValue" value="" type="8" typeOther="" /> -<Attribute access="0" id="code" value="" type="5" typeOther="Code" /> +<Attribute access="0" id="inside" value="2" type="8" typeOther="" /> +<Attribute access="0" id="outside" value="2" type="8" typeOther="" /> +<Attribute access="0" id="timeout" value="0" type="8" typeOther="" /> <Attribute access="0" id="m" value="" type="5" typeOther="Message" /> <Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> <Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> @@ -2617,16 +2618,22 @@ DoorAndLockButton.IN_EMERGENCY_CALL --> DoorAndLockButton.CLOSED_AND_LOCKED | <Method value="get2(Message msg, Message msg1, Message msg2)" /> <Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" /> <Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" /> -<Signal value="in code(int codeValue)" attached="true" /> +<Signal value="in lock()" attached="true" /> +<Signal value="in unlock()" attached="true" /> +<Signal value="in open()" attached="true" /> +<Signal value="in close()" attached="true" /> +<Signal value="in enterCockpit()" attached="true" /> +<Signal value="in leaveCockpit()" attached="true" /> +<Signal value="in emergencyCall()" attached="false" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="1622" index="20" uid="803086ce-40fb-494e-8490-5106aedde9e7" > +<SUBCOMPONENT type="5000" id="1622" index="20" uid="09ce1e04-b7fd-4955-8c7b-a9699b0f9ede" > <father id="1663" num="1" /> -<cdparam x="906" y="74" /> -<sizeparam width="250" height="205" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="798" y="291" /> +<sizeparam width="370" height="205" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="949" minY="0" maxY="292" /> -<infoparam name="Block0" value="DoorAndLockButton" /> +<cdrectangleparam minX="0" maxX="829" minY="0" maxY="292" /> +<infoparam name="Block0" value="Keyboard" /> <TGConnectingPoint num="0" id="1582" /> <TGConnectingPoint num="1" id="1583" /> <TGConnectingPoint num="2" id="1584" /> @@ -2670,9 +2677,8 @@ DoorAndLockButton.IN_EMERGENCY_CALL --> DoorAndLockButton.CLOSED_AND_LOCKED | <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="inside" value="2" type="8" typeOther="" /> -<Attribute access="0" id="outside" value="2" type="8" typeOther="" /> -<Attribute access="0" id="timeout" value="0" type="8" typeOther="" /> +<Attribute access="0" id="codeValue" value="" type="8" typeOther="" /> +<Attribute access="0" id="code" value="" type="5" typeOther="Code" /> <Attribute access="0" id="m" value="" type="5" typeOther="Message" /> <Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> <Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> @@ -2696,13 +2702,7 @@ DoorAndLockButton.IN_EMERGENCY_CALL --> DoorAndLockButton.CLOSED_AND_LOCKED | <Method value="get2(Message msg, Message msg1, Message msg2)" /> <Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" /> <Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" /> -<Signal value="in lock()" attached="true" /> -<Signal value="in unlock()" attached="true" /> -<Signal value="in open()" attached="true" /> -<Signal value="in close()" attached="true" /> -<Signal value="in enterCockpit()" attached="true" /> -<Signal value="in leaveCockpit()" attached="true" /> -<Signal value="in emergencyCall()" attached="false" /> +<Signal value="in code(int codeValue)" attached="true" /> </extraparam> </SUBCOMPONENT> @@ -6299,7 +6299,7 @@ DoorAndLockButton.IN_EMERGENCY_CALL --> DoorAndLockButton.CLOSED_AND_LOCKED | <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="" /> <TGConnectingPoint num="0" id="3123" /> -<P1 x="839" y="296" id="3353" /> +<P1 x="839" y="296" id="3312" /> <P2 x="802" y="303" id="3178" /> <AutomaticDrawing data="true" /> <extraparam> @@ -6314,7 +6314,7 @@ DoorAndLockButton.IN_EMERGENCY_CALL --> DoorAndLockButton.CLOSED_AND_LOCKED | <infoparam name="connector" value="" /> <TGConnectingPoint num="0" id="3125" /> <P1 x="802" y="205" id="3185" /> -<P2 x="1094" y="139" id="3312" /> +<P2 x="1094" y="139" id="3353" /> <AutomaticDrawing data="true" /> <extraparam> <isd value="in lock()" /> @@ -6730,13 +6730,13 @@ in DoorAndLockButton <Signal value="out chout(Message m)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="3342" index="15" uid="4d02c8f5-6fe3-4fbd-93a5-5c0912d88d29" > +<SUBCOMPONENT type="5000" id="3342" index="15" uid="461228c9-f7ab-4132-8b38-831c66e0d3e8" > <father id="3424" num="0" /> -<cdparam x="1094" y="88" /> -<sizeparam width="212" height="205" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="839" y="246" /> +<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="1075" minY="0" maxY="293" /> -<infoparam name="Block0" value="DoorAndLockButton" /> +<cdrectangleparam minX="0" maxX="1037" minY="0" maxY="298" /> +<infoparam name="Block0" value="Keyboard" /> <TGConnectingPoint num="0" id="3302" /> <TGConnectingPoint num="1" id="3303" /> <TGConnectingPoint num="2" id="3304" /> @@ -6780,9 +6780,8 @@ in DoorAndLockButton <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="inside" value="2" type="8" typeOther="" /> -<Attribute access="0" id="outside" value="2" type="8" typeOther="" /> -<Attribute access="0" id="timeout" value="0" type="8" typeOther="" /> +<Attribute access="0" id="codeValue" value="" type="8" typeOther="" /> +<Attribute access="0" id="code" value="" type="5" typeOther="Code" /> <Attribute access="0" id="m" value="" type="5" typeOther="Message" /> <Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> <Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> @@ -6806,22 +6805,16 @@ in DoorAndLockButton <Method value="get2(Message msg, Message msg1, Message msg2)" /> <Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" /> <Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" /> -<Signal value="in lock()" attached="true" /> -<Signal value="in unlock()" attached="true" /> -<Signal value="in open()" attached="true" /> -<Signal value="in close()" attached="true" /> -<Signal value="in enterCockpit()" attached="true" /> -<Signal value="in leaveCockpit()" attached="true" /> -<Signal value="in emergencyCall()" attached="false" /> +<Signal value="in code(int codeValue)" attached="true" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="3383" index="16" uid="461228c9-f7ab-4132-8b38-831c66e0d3e8" > +<SUBCOMPONENT type="5000" id="3383" index="16" uid="4d02c8f5-6fe3-4fbd-93a5-5c0912d88d29" > <father id="3424" num="1" /> -<cdparam x="839" y="246" /> -<sizeparam width="250" height="200" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="1094" y="88" /> +<sizeparam width="212" height="205" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="1037" minY="0" maxY="298" /> -<infoparam name="Block0" value="Keyboard" /> +<cdrectangleparam minX="0" maxX="1075" minY="0" maxY="293" /> +<infoparam name="Block0" value="DoorAndLockButton" /> <TGConnectingPoint num="0" id="3343" /> <TGConnectingPoint num="1" id="3344" /> <TGConnectingPoint num="2" id="3345" /> @@ -6865,8 +6858,9 @@ in DoorAndLockButton <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="codeValue" value="" type="8" typeOther="" /> -<Attribute access="0" id="code" value="" type="5" typeOther="Code" /> +<Attribute access="0" id="inside" value="2" type="8" typeOther="" /> +<Attribute access="0" id="outside" value="2" type="8" typeOther="" /> +<Attribute access="0" id="timeout" value="0" type="8" typeOther="" /> <Attribute access="0" id="m" value="" type="5" typeOther="Message" /> <Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> <Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> @@ -6890,7 +6884,13 @@ in DoorAndLockButton <Method value="get2(Message msg, Message msg1, Message msg2)" /> <Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" /> <Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" /> -<Signal value="in code(int codeValue)" attached="true" /> +<Signal value="in lock()" attached="true" /> +<Signal value="in unlock()" attached="true" /> +<Signal value="in open()" attached="true" /> +<Signal value="in close()" attached="true" /> +<Signal value="in enterCockpit()" attached="true" /> +<Signal value="in leaveCockpit()" attached="true" /> +<Signal value="in emergencyCall()" attached="false" /> </extraparam> </SUBCOMPONENT> @@ -10058,7 +10058,7 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="" /> <TGConnectingPoint num="0" id="4835" /> -<P1 x="535" y="422" id="5135" /> +<P1 x="535" y="422" id="5094" /> <P2 x="501" y="402" id="5063" /> <AutomaticDrawing data="true" /> <extraparam> @@ -10073,7 +10073,7 @@ in DoorAndLockButton <infoparam name="connector" value="" /> <TGConnectingPoint num="0" id="4837" /> <P1 x="501" y="210" id="5061" /> -<P2 x="531" y="186" id="5094" /> +<P2 x="531" y="186" id="5135" /> <AutomaticDrawing data="true" /> <extraparam> <isd value="in lock()" /> @@ -10236,13 +10236,13 @@ in DoorAndLockButton <Signal value="out typeCode(int codeValue)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="4926" index="8" uid="0a39fbe6-bf21-45f2-b4d9-71dbe6905a00" > +<SUBCOMPONENT type="5000" id="4926" index="8" uid="0ee2ad1b-4a12-4d70-b4cf-fe6673684c7f" > <father id="5090" num="0" /> -<cdparam x="278" y="281" /> -<sizeparam width="206" height="99" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="62" y="281" /> +<sizeparam width="203" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="243" minY="0" maxY="285" /> -<infoparam name="Block0" value="Passenger" /> +<cdrectangleparam minX="0" maxX="246" minY="0" maxY="282" /> +<infoparam name="Block0" value="Captain" /> <TGConnectingPoint num="0" id="4886" /> <TGConnectingPoint num="1" id="4887" /> <TGConnectingPoint num="2" id="4888" /> @@ -10286,18 +10286,18 @@ in DoorAndLockButton <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="isInCockpit" value="false" type="4" typeOther="" /> -<Attribute access="0" id="knowsEmergencyCode" value="false" type="4" typeOther="" /> +<Attribute access="0" id="isInCockpit" value="true" type="4" typeOther="" /> +<Attribute access="0" id="knowsEmergencyCode" value="true" type="4" typeOther="" /> <Attribute access="0" id="code" value="" type="5" typeOther="Code" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="4967" index="9" uid="291b7b05-f83f-439a-80af-5d2c88f0ecaa" > +<SUBCOMPONENT type="5000" id="4967" index="9" uid="3222a72a-7438-4cf1-9464-8f84f825869d" > <father id="5090" num="1" /> -<cdparam x="279" y="389" /> -<sizeparam width="205" height="97" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="60" y="390" /> +<sizeparam width="204" height="100" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="244" minY="0" maxY="287" /> -<infoparam name="Block0" value="Crew" /> +<cdrectangleparam minX="0" maxX="245" minY="0" maxY="284" /> +<infoparam name="Block0" value="FirstOfficer" /> <TGConnectingPoint num="0" id="4927" /> <TGConnectingPoint num="1" id="4928" /> <TGConnectingPoint num="2" id="4929" /> @@ -10341,18 +10341,18 @@ in DoorAndLockButton <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="isInCockpit" value="false" type="4" typeOther="" /> +<Attribute access="0" id="isInCockpit" value="true" type="4" typeOther="" /> <Attribute access="0" id="knowsEmergencyCode" value="true" type="4" typeOther="" /> <Attribute access="0" id="code" value="" type="5" typeOther="Code" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="5008" index="10" uid="3222a72a-7438-4cf1-9464-8f84f825869d" > +<SUBCOMPONENT type="5000" id="5008" index="10" uid="291b7b05-f83f-439a-80af-5d2c88f0ecaa" > <father id="5090" num="2" /> -<cdparam x="60" y="390" /> -<sizeparam width="204" height="100" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="279" y="389" /> +<sizeparam width="205" height="97" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="245" minY="0" maxY="284" /> -<infoparam name="Block0" value="FirstOfficer" /> +<cdrectangleparam minX="0" maxX="244" minY="0" maxY="287" /> +<infoparam name="Block0" value="Crew" /> <TGConnectingPoint num="0" id="4968" /> <TGConnectingPoint num="1" id="4969" /> <TGConnectingPoint num="2" id="4970" /> @@ -10396,18 +10396,18 @@ in DoorAndLockButton <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="isInCockpit" value="true" type="4" typeOther="" /> +<Attribute access="0" id="isInCockpit" value="false" type="4" typeOther="" /> <Attribute access="0" id="knowsEmergencyCode" value="true" type="4" typeOther="" /> <Attribute access="0" id="code" value="" type="5" typeOther="Code" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="5049" index="11" uid="0ee2ad1b-4a12-4d70-b4cf-fe6673684c7f" > +<SUBCOMPONENT type="5000" id="5049" index="11" uid="0a39fbe6-bf21-45f2-b4d9-71dbe6905a00" > <father id="5090" num="3" /> -<cdparam x="62" y="281" /> -<sizeparam width="203" height="102" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="278" y="281" /> +<sizeparam width="206" height="99" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="246" minY="0" maxY="282" /> -<infoparam name="Block0" value="Captain" /> +<cdrectangleparam minX="0" maxX="243" minY="0" maxY="285" /> +<infoparam name="Block0" value="Passenger" /> <TGConnectingPoint num="0" id="5009" /> <TGConnectingPoint num="1" id="5010" /> <TGConnectingPoint num="2" id="5011" /> @@ -10451,8 +10451,8 @@ in DoorAndLockButton <extraparam> <blockType data="block" color="-4072719" /> <CryptoBlock value="false" /> -<Attribute access="0" id="isInCockpit" value="true" type="4" typeOther="" /> -<Attribute access="0" id="knowsEmergencyCode" value="true" type="4" typeOther="" /> +<Attribute access="0" id="isInCockpit" value="false" type="4" typeOther="" /> +<Attribute access="0" id="knowsEmergencyCode" value="false" type="4" typeOther="" /> <Attribute access="0" id="code" value="" type="5" typeOther="Code" /> </extraparam> </SUBCOMPONENT> @@ -10510,13 +10510,13 @@ in DoorAndLockButton <Signal value="out chout(Message m)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="5131" index="12" uid="803086ce-40fb-494e-8490-5106aedde9e7" > +<SUBCOMPONENT type="5000" id="5131" index="12" uid="09ce1e04-b7fd-4955-8c7b-a9699b0f9ede" > <father id="5213" num="0" /> -<cdparam x="531" y="84" /> -<sizeparam width="250" height="205" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="535" y="294" /> +<sizeparam width="247" height="256" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="523" minY="0" maxY="341" /> -<infoparam name="Block0" value="DoorAndLockButton" /> +<cdrectangleparam minX="0" maxX="526" minY="0" maxY="290" /> +<infoparam name="Block0" value="Keyboard" /> <TGConnectingPoint num="0" id="5091" /> <TGConnectingPoint num="1" id="5092" /> <TGConnectingPoint num="2" id="5093" /> @@ -10560,9 +10560,8 @@ in DoorAndLockButton <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="inside" value="2" type="8" typeOther="" /> -<Attribute access="0" id="outside" value="2" type="8" typeOther="" /> -<Attribute access="0" id="timeout" value="0" type="8" typeOther="" /> +<Attribute access="0" id="codeValue" value="" type="8" typeOther="" /> +<Attribute access="0" id="code" value="" type="5" typeOther="Code" /> <Attribute access="0" id="m" value="" type="5" typeOther="Message" /> <Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> <Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> @@ -10586,22 +10585,16 @@ in DoorAndLockButton <Method value="get2(Message msg, Message msg1, Message msg2)" /> <Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" /> <Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" /> -<Signal value="in lock()" attached="true" /> -<Signal value="in unlock()" attached="true" /> -<Signal value="in open()" attached="true" /> -<Signal value="in close()" attached="true" /> -<Signal value="in enterCockpit()" attached="true" /> -<Signal value="in leaveCockpit()" attached="true" /> -<Signal value="in emergencyCall()" attached="false" /> +<Signal value="in code(int codeValue)" attached="true" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="5172" index="13" uid="09ce1e04-b7fd-4955-8c7b-a9699b0f9ede" > +<SUBCOMPONENT type="5000" id="5172" index="13" uid="803086ce-40fb-494e-8490-5106aedde9e7" > <father id="5213" num="1" /> -<cdparam x="535" y="294" /> -<sizeparam width="247" height="256" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="531" y="84" /> +<sizeparam width="250" height="205" minWidth="5" minHeight="2" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="526" minY="0" maxY="290" /> -<infoparam name="Block0" value="Keyboard" /> +<cdrectangleparam minX="0" maxX="523" minY="0" maxY="341" /> +<infoparam name="Block0" value="DoorAndLockButton" /> <TGConnectingPoint num="0" id="5132" /> <TGConnectingPoint num="1" id="5133" /> <TGConnectingPoint num="2" id="5134" /> @@ -10645,8 +10638,9 @@ in DoorAndLockButton <extraparam> <blockType data="cryptoblock" color="-4072719" /> <CryptoBlock value="true" /> -<Attribute access="0" id="codeValue" value="" type="8" typeOther="" /> -<Attribute access="0" id="code" value="" type="5" typeOther="Code" /> +<Attribute access="0" id="inside" value="2" type="8" typeOther="" /> +<Attribute access="0" id="outside" value="2" type="8" typeOther="" /> +<Attribute access="0" id="timeout" value="0" type="8" typeOther="" /> <Attribute access="0" id="m" value="" type="5" typeOther="Message" /> <Attribute access="0" id="sk" value="" type="5" typeOther="Key" /> <Attribute access="0" id="m1" value="" type="5" typeOther="Message" /> @@ -10670,7 +10664,13 @@ in DoorAndLockButton <Method value="get2(Message msg, Message msg1, Message msg2)" /> <Method value="get3(Message msg, Message msg1, Message msg2, Message msg3)" /> <Method value="get4(Message msg, Message msg1, Message msg2, Message msg3, Message msg4)" /> -<Signal value="in code(int codeValue)" attached="true" /> +<Signal value="in lock()" attached="true" /> +<Signal value="in unlock()" attached="true" /> +<Signal value="in open()" attached="true" /> +<Signal value="in close()" attached="true" /> +<Signal value="in enterCockpit()" attached="true" /> +<Signal value="in leaveCockpit()" attached="true" /> +<Signal value="in emergencyCall()" attached="false" /> </extraparam> </SUBCOMPONENT> @@ -12147,8 +12147,8 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="5868" /> -<P1 x="4669440" y="679936" id="5609" /> -<P2 x="4890624" y="958464" id="5596" /> +<P1 x="9338880" y="1359872" id="5609" /> +<P2 x="9781248" y="1916928" id="5596" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="5867" index="4" uid="6c4cc1b9-2a04-43bc-b07e-51c4ea93d444" > <father id="5869" num="0" /> @@ -12180,8 +12180,8 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="5875" /> -<P1 x="4890624" y="1236992" id="5597" /> -<P2 x="4734976" y="1744896" id="5607" /> +<P1 x="9781248" y="2473984" id="5597" /> +<P2 x="9469952" y="3489792" id="5607" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="5874" index="5" uid="4921cc81-8277-4883-af48-9edfab3626d1" > <father id="5876" num="0" /> @@ -12848,8 +12848,8 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="6194" /> -<P1 x="3530752" y="1392640" id="6289" /> -<P2 x="3375104" y="1900544" id="6299" /> +<P1 x="7061504" y="2785280" id="6289" /> +<P2 x="6750208" y="3801088" id="6299" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6193" index="4" uid="2934496a-4a3e-43a8-a975-5777ed0904a1" > <father id="6195" num="0" /> @@ -12881,8 +12881,8 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="6201" /> -<P1 x="3309568" y="835584" id="6301" /> -<P2 x="3530752" y="1114112" id="6288" /> +<P1 x="6619136" y="1671168" id="6301" /> +<P2 x="7061504" y="2228224" id="6288" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6200" index="5" uid="f916719e-4e1a-4352-9b64-60fb1ad0e3d1" > <father id="6202" num="0" /> @@ -12936,8 +12936,8 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="6212" /> -<P1 x="5029888" y="1671168" id="6318" /> -<P2 x="4874240" y="2179072" id="6328" /> +<P1 x="10059776" y="3342336" id="6318" /> +<P2 x="9748480" y="4358144" id="6328" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6211" index="4" uid="63bd827f-4b23-4f8c-a481-2544c258aa88" > <father id="6213" num="0" /> @@ -12969,8 +12969,8 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="6219" /> -<P1 x="4808704" y="1114112" id="6330" /> -<P2 x="5029888" y="1392640" id="6317" /> +<P1 x="9617408" y="2228224" id="6330" /> +<P2 x="10059776" y="2785280" id="6317" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6218" index="5" uid="7162a6b2-ed0d-47e4-9f2e-e9b483f3e451" > <father id="6220" num="0" /> @@ -13024,8 +13024,8 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="6230" /> -<P1 x="3596288" y="950272" id="6359" /> -<P2 x="3817472" y="1228800" id="6346" /> +<P1 x="7192576" y="1900544" id="6359" /> +<P2 x="7634944" y="2457600" id="6346" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6229" index="4" uid="f81c0f67-85c8-49b4-8311-abb53a506908" > <father id="6231" num="0" /> @@ -13057,8 +13057,8 @@ in DoorAndLockButton <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="6237" /> -<P1 x="3817472" y="1507328" id="6347" /> -<P2 x="3661824" y="2015232" id="6357" /> +<P1 x="7634944" y="3014656" id="6347" /> +<P2 x="7323648" y="4030464" id="6357" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="6236" index="5" uid="2d3d5e5b-f715-43e9-a863-70ec8f0cbf27" > <father id="6238" num="0" /> diff --git a/modeling/AVATAR/CoffeeMachine_Avatar.xml b/modeling/AVATAR/CoffeeMachine_Avatar.xml index dcd745e58e2d6da2d659bebdfba263dbac0a69d4..2d10d1948f545a0e010fba1de9cbadf55c7f66c1 100644 --- a/modeling/AVATAR/CoffeeMachine_Avatar.xml +++ b/modeling/AVATAR/CoffeeMachine_Avatar.xml @@ -1,6 +1,6 @@ <?xml version="1.0" encoding="UTF-8"?> -<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="false" ACTIVATE_PENALTIES="true" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="2" LAST_SELECTED_SUB_TAB="0"> +<TURTLEGMODELING version="1.0beta" ANIMATE_INTERACTIVE_SIMULATION="false" ACTIVATE_PENALTIES="true" UPDATE_INFORMATION_DIPLO_SIM="false" ANIMATE_WITH_INFO_DIPLO_SIM="true" OPEN_DIAG_DIPLO_SIM="false" LAST_SELECTED_MAIN_TAB="1" LAST_SELECTED_SUB_TAB="0"> <Modeling type="Avatar Requirement" nameTab="AVATAR Requirements" > <AvatarRDPanel name="AVATAR RD" minX="10" maxX="1900" minY="10" maxY="1400" zoom="1.0" > @@ -27,7 +27,6 @@ <TGConnectingPoint num="14" id="15" /> <TGConnectingPoint num="15" id="16" /> <extraparam> -<Line value="" /> </extraparam> </COMPONENT> @@ -759,7 +758,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="449" /> -<P1 x="302" y="261" id="493" /> +<P1 x="302" y="261" id="480" /> <P2 x="361" y="261" id="468" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -777,7 +776,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="453" /> -<P1 x="305" y="211" id="480" /> +<P1 x="305" y="211" id="493" /> <P2 x="361" y="211" id="467" /> <AutomaticDrawing data="true" /> </CONNECTOR> @@ -864,13 +863,13 @@ <TGConnectingPoint num="22" id="526" /> <TGConnectingPoint num="23" id="527" /> </COMPONENT> -<SUBCOMPONENT type="5304" id="490" index="13" uid="2dbef5cf-57eb-4674-94d5-4b37c6777b4a" > +<SUBCOMPONENT type="5304" id="490" index="13" uid="e14fd5a7-c9ae-42ab-b99a-306f91c69127" > <father id="528" num="0" /> -<cdparam x="166" y="191" /> -<sizeparam width="139" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="154" y="241" /> +<sizeparam width="148" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="29" minY="0" maxY="114" /> -<infoparam name="TGComponent" value="WaitingForFirstCoin_exit" /> +<cdrectangleparam minX="0" maxX="20" minY="0" maxY="114" /> +<infoparam name="TGComponent" value="WaitingForFirstCoin_enter" /> <TGConnectingPoint num="0" id="478" /> <TGConnectingPoint num="1" id="479" /> <TGConnectingPoint num="2" id="480" /> @@ -884,13 +883,13 @@ <TGConnectingPoint num="10" id="488" /> <TGConnectingPoint num="11" id="489" /> </SUBCOMPONENT> -<SUBCOMPONENT type="5304" id="503" index="14" uid="e14fd5a7-c9ae-42ab-b99a-306f91c69127" > +<SUBCOMPONENT type="5304" id="503" index="14" uid="2dbef5cf-57eb-4674-94d5-4b37c6777b4a" > <father id="528" num="1" /> -<cdparam x="154" y="241" /> -<sizeparam width="148" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="166" y="191" /> +<sizeparam width="139" height="40" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="20" minY="0" maxY="114" /> -<infoparam name="TGComponent" value="WaitingForFirstCoin_enter" /> +<cdrectangleparam minX="0" maxX="29" minY="0" maxY="114" /> +<infoparam name="TGComponent" value="WaitingForFirstCoin_exit" /> <TGConnectingPoint num="0" id="491" /> <TGConnectingPoint num="1" id="492" /> <TGConnectingPoint num="2" id="493" /> @@ -1020,7 +1019,7 @@ <TGConnectingPoint num="0" id="587" /> <TGConnectingPoint num="1" id="588" /> <TGConnectingPoint num="2" id="589" /> -<P1 x="581" y="154" id="663" /> +<P1 x="581" y="154" id="676" /> <P2 x="546" y="305" id="733" /> <Point x="518" y="154" /> <Point x="518" y="305" /> @@ -1048,7 +1047,7 @@ <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="592" /> <TGConnectingPoint num="1" id="593" /> -<P1 x="631" y="164" id="658" /> +<P1 x="631" y="164" id="671" /> <P2 x="667" y="310" id="720" /> <Point x="631" y="310" /> <AutomaticDrawing data="true" /> @@ -1076,7 +1075,7 @@ <infoparam name="connector from TGComponent to TGComponent" value="" /> <TGConnectingPoint num="0" id="598" /> <TGConnectingPoint num="1" id="599" /> -<P1 x="721" y="158" id="669" /> +<P1 x="721" y="158" id="656" /> <P2 x="700" y="204" id="710" /> <Point x="700" y="158" /> <AutomaticDrawing data="true" /> @@ -1231,13 +1230,13 @@ <TGConnectingPoint num="22" id="703" /> <TGConnectingPoint num="23" id="704" /> </COMPONENT> -<SUBCOMPONENT type="5304" id="667" index="24" uid="5ba2c908-950a-4288-889b-0b4c00bd9d79" > +<SUBCOMPONENT type="5303" id="667" index="24" uid="bf44a33b-5344-46b2-9170-509d38670a83" > <father id="705" num="0" /> -<cdparam x="581" y="125" /> -<sizeparam width="100" height="39" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="721" y="133" /> +<sizeparam width="100" height="50" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="168" minY="0" maxY="76" /> -<infoparam name="TGComponent" value="Start" /> +<cdrectangleparam minX="0" maxX="168" minY="0" maxY="65" /> +<infoparam name="TGComponent" value="nbOfCoins" /> <TGConnectingPoint num="0" id="655" /> <TGConnectingPoint num="1" id="656" /> <TGConnectingPoint num="2" id="657" /> @@ -1250,14 +1249,17 @@ <TGConnectingPoint num="9" id="664" /> <TGConnectingPoint num="10" id="665" /> <TGConnectingPoint num="11" id="666" /> +<extraparam> +<Toggle value="" /> +</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5303" id="680" index="25" uid="bf44a33b-5344-46b2-9170-509d38670a83" > +<SUBCOMPONENT type="5304" id="680" index="25" uid="5ba2c908-950a-4288-889b-0b4c00bd9d79" > <father id="705" num="1" /> -<cdparam x="721" y="133" /> -<sizeparam width="100" height="50" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="581" y="125" /> +<sizeparam width="100" height="39" minWidth="100" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="168" minY="0" maxY="65" /> -<infoparam name="TGComponent" value="nbOfCoins" /> +<cdrectangleparam minX="0" maxX="168" minY="0" maxY="76" /> +<infoparam name="TGComponent" value="Start" /> <TGConnectingPoint num="0" id="668" /> <TGConnectingPoint num="1" id="669" /> <TGConnectingPoint num="2" id="670" /> @@ -1270,9 +1272,6 @@ <TGConnectingPoint num="9" id="677" /> <TGConnectingPoint num="10" id="678" /> <TGConnectingPoint num="11" id="679" /> -<extraparam> -<Toggle value="" /> -</extraparam> </SUBCOMPONENT> <COMPONENT type="5306" id="717" index="14" uid="7a1c9320-1617-4710-a22f-ae8365f354ef" > @@ -1395,7 +1394,7 @@ <MainCode value="}"/> <Optimized value="true" /> <considerTimingOperators value="true" /> -<Validated value="" /> +<Validated value="Wallet;CoffeeMachine;CoffeeButton;TeaButton;" /> <Ignored value="" /> <CONNECTOR type="5002" id="771" index="0" uid="f480e606-bbb6-4ab7-8f89-8abb37ff40bb" > @@ -1403,7 +1402,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Block1 to Block0" value="" /> <TGConnectingPoint num="0" id="770" /> -<P1 x="557" y="348" id="881" /> +<P1 x="557" y="348" id="840" /> <P2 x="558" y="375" id="930" /> <AutomaticDrawing data="true" /> <extraparam> @@ -1433,7 +1432,7 @@ <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Block1 to Block0" value="" /> <TGConnectingPoint num="0" id="774" /> -<P1 x="788" y="347" id="840" /> +<P1 x="788" y="347" id="881" /> <P2 x="788" y="375" id="931" /> <AutomaticDrawing data="true" /> <extraparam> @@ -1624,13 +1623,13 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <Signal value="out ejectCoin(int nbOfCoins)" attached="true" /> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5000" id="874" index="6" uid="a5114e80-03e3-4820-b57a-bfcefd90a9c8" > +<SUBCOMPONENT type="5000" id="874" index="6" uid="7a21d6ab-e515-4a9c-b908-bcb26c800cfb" > <father id="956" num="0" /> -<cdparam x="695" y="246" /> -<sizeparam width="187" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="463" y="247" /> +<sizeparam width="188" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="273" minY="0" maxY="256" /> -<infoparam name="Block1" value="TeaButton" /> +<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> +<infoparam name="Block1" value="CoffeeButton" /> <TGConnectingPoint num="0" id="834" /> <TGConnectingPoint num="1" id="835" /> <TGConnectingPoint num="2" id="836" /> @@ -1678,13 +1677,13 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <Signal value="out push()" attached="true" /> </extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="915" index="7" uid="7a21d6ab-e515-4a9c-b908-bcb26c800cfb" > +<SUBCOMPONENT type="5000" id="915" index="7" uid="a5114e80-03e3-4820-b57a-bfcefd90a9c8" > <father id="956" num="1" /> -<cdparam x="463" y="247" /> -<sizeparam width="188" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="695" y="246" /> +<sizeparam width="187" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> -<infoparam name="Block1" value="CoffeeButton" /> +<cdrectangleparam minX="0" maxX="273" minY="0" maxY="256" /> +<infoparam name="Block1" value="TeaButton" /> <TGConnectingPoint num="0" id="875" /> <TGConnectingPoint num="1" id="876" /> <TGConnectingPoint num="2" id="877" /> @@ -1742,8 +1741,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to Send signal" value="null" /> <TGConnectingPoint num="0" id="962" /> -<P1 x="340" y="233" id="1133" /> -<P2 x="353" y="252" id="1135" /> +<P1 x="340" y="233" id="1144" /> +<P2 x="353" y="252" id="1133" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="961" index="8" uid="4b47f2ec-3073-4a06-b6e0-da7704454345" > <father id="963" num="0" /> @@ -1841,7 +1840,7 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Send signal to state0" value="null" /> <TGConnectingPoint num="0" id="983" /> -<P1 x="353" y="282" id="1136" /> +<P1 x="353" y="282" id="1134" /> <P2 x="399" y="352" id="986" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="982" index="11" uid="ef1e1204-6711-4c2c-b81f-515c0e412fcb" > @@ -2126,33 +2125,33 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <extraparam> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5100" id="1134" index="12" uid="4ea28494-de50-4f99-8981-3ef7a87d7d34" > +<SUBCOMPONENT type="5103" id="1143" index="12" uid="71f14636-3c96-4e4e-8d0e-c1cd11e52641" > <father id="1218" num="0" /> -<cdparam x="333" y="213" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="1133" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5103" id="1145" index="13" uid="71f14636-3c96-4e4e-8d0e-c1cd11e52641" > -<father id="1218" num="1" /> <cdparam x="330" y="257" /> <sizeparam width="46" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> <infoparam name="Send signal" value="push()" /> -<TGConnectingPoint num="0" id="1135" /> -<TGConnectingPoint num="1" id="1136" /> -<TGConnectingPoint num="2" id="1137" /> -<TGConnectingPoint num="3" id="1138" /> -<TGConnectingPoint num="4" id="1139" /> -<TGConnectingPoint num="5" id="1140" /> -<TGConnectingPoint num="6" id="1141" /> -<TGConnectingPoint num="7" id="1142" /> -<TGConnectingPoint num="8" id="1143" /> -<TGConnectingPoint num="9" id="1144" /> +<TGConnectingPoint num="0" id="1133" /> +<TGConnectingPoint num="1" id="1134" /> +<TGConnectingPoint num="2" id="1135" /> +<TGConnectingPoint num="3" id="1136" /> +<TGConnectingPoint num="4" id="1137" /> +<TGConnectingPoint num="5" id="1138" /> +<TGConnectingPoint num="6" id="1139" /> +<TGConnectingPoint num="7" id="1140" /> +<TGConnectingPoint num="8" id="1141" /> +<TGConnectingPoint num="9" id="1142" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5100" id="1145" index="13" uid="4ea28494-de50-4f99-8981-3ef7a87d7d34" > +<father id="1218" num="1" /> +<cdparam x="333" y="213" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="1144" /> </SUBCOMPONENT> @@ -2729,8 +2728,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from start state to state0" value="null" /> <TGConnectingPoint num="0" id="1460" /> -<P1 x="261" y="421" id="2106" /> -<P2 x="260" y="437" id="2109" /> +<P1 x="261" y="421" id="2095" /> +<P2 x="260" y="437" id="2023" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1459" index="38" uid="a28ea541-81ef-4713-8ea6-c7f5ba166daa" > <father id="1461" num="0" /> @@ -2762,8 +2761,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from state0 to Send signal" value="null" /> <TGConnectingPoint num="0" id="1467" /> -<P1 x="227" y="477" id="2122" /> -<P2 x="126" y="524" id="2095" /> +<P1 x="227" y="477" id="2036" /> +<P2 x="126" y="524" id="2097" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1466" index="39" uid="2484893a-3443-40dc-8f74-e1443edc2bde" > <father id="1468" num="0" /> @@ -2795,8 +2794,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Send signal to stop state" value="null" /> <TGConnectingPoint num="0" id="1474" /> -<P1 x="126" y="554" id="2096" /> -<P2 x="126" y="653" id="2012" /> +<P1 x="126" y="554" id="2098" /> +<P2 x="126" y="653" id="2120" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1473" index="40" uid="6f6c6e3e-0702-4e99-b1e6-da999207526e" > <father id="1475" num="0" /> @@ -2830,8 +2829,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from state0 to Send signal" value="null" /> <TGConnectingPoint num="0" id="1481" /> -<P1 x="293" y="477" id="2123" /> -<P2 x="298" y="524" id="2181" /> +<P1 x="293" y="477" id="2037" /> +<P2 x="298" y="524" id="2011" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1480" index="41" uid="18f77c23-d770-43b2-a9ca-161802d8a987" > <father id="1482" num="0" /> @@ -2863,7 +2862,7 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from Send signal to stop state" value="null" /> <TGConnectingPoint num="0" id="1488" /> -<P1 x="298" y="554" id="2182" /> +<P1 x="298" y="554" id="2012" /> <P2 x="296" y="650" id="1939" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1487" index="42" uid="a2a44349-5c04-4880-b1fb-76fa61d0f788" > @@ -2898,8 +2897,8 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector from state0 to Send signal" value="null" /> <TGConnectingPoint num="0" id="1495" /> -<P1 x="326" y="457" id="2112" /> -<P2 x="442" y="497" id="2084" /> +<P1 x="326" y="457" id="2026" /> +<P2 x="442" y="497" id="2108" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1494" index="43" uid="1286b08f-20a2-44ff-9ae2-d3d09cf02647" > <father id="1496" num="0" /> @@ -2932,7 +2931,7 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <infoparam name="connector from Send signal to stop state" value="null" /> <TGConnectingPoint num="0" id="1503" /> <TGConnectingPoint num="1" id="1504" /> -<P1 x="442" y="527" id="2085" /> +<P1 x="442" y="527" id="2109" /> <P2 x="323" y="748" id="1801" /> <Point x="442" y="737" /> <AutomaticDrawing data="true" /> @@ -3016,7 +3015,7 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <infoparam name="connector" value="null" /> <TGConnectingPoint num="0" id="1519" /> -<P1 x="126" y="702" id="2017" /> +<P1 x="126" y="702" id="2125" /> <P2 x="221" y="758" id="1802" /> <AutomaticDrawing data="true" /> </CONNECTOR><SUBCOMPONENT type="-1" id="1518" index="47" uid="96753e12-f1ba-45d7-9fc5-e71fe53eb22b" > @@ -3721,14 +3720,14 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <extraparam> </extraparam> </COMPONENT> -<SUBCOMPONENT type="5106" id="2083" index="48" uid="52044bb2-8b01-4108-a1ac-b5e7886ea624" > +<SUBCOMPONENT type="5104" id="2021" index="48" uid="8718a1dd-4942-43e5-b6ce-b5f78b82a355" > <father id="2264" num="0" /> -<cdparam x="53" y="653" /> -<sizeparam width="146" height="49" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="242" y="529" /> +<sizeparam width="112" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> -<cdrectangleparam minX="0" maxX="431" minY="0" maxY="305" /> -<infoparam name="state0" value="CoffeeDelivered" /> +<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> +<infoparam name="Send signal" value="pushTeaButton()" /> <TGConnectingPoint num="0" id="2011" /> <TGConnectingPoint num="1" id="2012" /> <TGConnectingPoint num="2" id="2013" /> @@ -3739,128 +3738,129 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <TGConnectingPoint num="7" id="2018" /> <TGConnectingPoint num="8" id="2019" /> <TGConnectingPoint num="9" id="2020" /> -<TGConnectingPoint num="10" id="2021" /> -<TGConnectingPoint num="11" id="2022" /> -<TGConnectingPoint num="12" id="2023" /> -<TGConnectingPoint num="13" id="2024" /> -<TGConnectingPoint num="14" id="2025" /> -<TGConnectingPoint num="15" id="2026" /> -<TGConnectingPoint num="16" id="2027" /> -<TGConnectingPoint num="17" id="2028" /> -<TGConnectingPoint num="18" id="2029" /> -<TGConnectingPoint num="19" id="2030" /> -<TGConnectingPoint num="20" id="2031" /> -<TGConnectingPoint num="21" id="2032" /> -<TGConnectingPoint num="22" id="2033" /> -<TGConnectingPoint num="23" id="2034" /> -<TGConnectingPoint num="24" id="2035" /> -<TGConnectingPoint num="25" id="2036" /> -<TGConnectingPoint num="26" id="2037" /> -<TGConnectingPoint num="27" id="2038" /> -<TGConnectingPoint num="28" id="2039" /> -<TGConnectingPoint num="29" id="2040" /> -<TGConnectingPoint num="30" id="2041" /> -<TGConnectingPoint num="31" id="2042" /> -<TGConnectingPoint num="32" id="2043" /> -<TGConnectingPoint num="33" id="2044" /> -<TGConnectingPoint num="34" id="2045" /> -<TGConnectingPoint num="35" id="2046" /> -<TGConnectingPoint num="36" id="2047" /> -<TGConnectingPoint num="37" id="2048" /> -<TGConnectingPoint num="38" id="2049" /> -<TGConnectingPoint num="39" id="2050" /> -<TGConnectingPoint num="40" id="2051" /> -<TGConnectingPoint num="41" id="2052" /> -<TGConnectingPoint num="42" id="2053" /> -<TGConnectingPoint num="43" id="2054" /> -<TGConnectingPoint num="44" id="2055" /> -<TGConnectingPoint num="45" id="2056" /> -<TGConnectingPoint num="46" id="2057" /> -<TGConnectingPoint num="47" id="2058" /> -<TGConnectingPoint num="48" id="2059" /> -<TGConnectingPoint num="49" id="2060" /> -<TGConnectingPoint num="50" id="2061" /> -<TGConnectingPoint num="51" id="2062" /> -<TGConnectingPoint num="52" id="2063" /> -<TGConnectingPoint num="53" id="2064" /> -<TGConnectingPoint num="54" id="2065" /> -<TGConnectingPoint num="55" id="2066" /> -<TGConnectingPoint num="56" id="2067" /> -<TGConnectingPoint num="57" id="2068" /> -<TGConnectingPoint num="58" id="2069" /> -<TGConnectingPoint num="59" id="2070" /> -<TGConnectingPoint num="60" id="2071" /> -<TGConnectingPoint num="61" id="2072" /> -<TGConnectingPoint num="62" id="2073" /> -<TGConnectingPoint num="63" id="2074" /> -<TGConnectingPoint num="64" id="2075" /> -<TGConnectingPoint num="65" id="2076" /> -<TGConnectingPoint num="66" id="2077" /> -<TGConnectingPoint num="67" id="2078" /> -<TGConnectingPoint num="68" id="2079" /> -<TGConnectingPoint num="69" id="2080" /> -<TGConnectingPoint num="70" id="2081" /> -<TGConnectingPoint num="71" id="2082" /> -<extraparam> -</extraparam> +<accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5103" id="2094" index="49" uid="9c813d39-192a-47ff-98b2-607e27617acf" > +<SUBCOMPONENT type="5106" id="2094" index="49" uid="542c0583-8080-46a1-9ae2-775c6446817c" > <father id="2264" num="1" /> -<cdparam x="377" y="502" /> -<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="194" y="437" /> +<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> -<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> -<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> -<TGConnectingPoint num="0" id="2084" /> -<TGConnectingPoint num="1" id="2085" /> -<TGConnectingPoint num="2" id="2086" /> -<TGConnectingPoint num="3" id="2087" /> -<TGConnectingPoint num="4" id="2088" /> -<TGConnectingPoint num="5" id="2089" /> -<TGConnectingPoint num="6" id="2090" /> -<TGConnectingPoint num="7" id="2091" /> -<TGConnectingPoint num="8" id="2092" /> -<TGConnectingPoint num="9" id="2093" /> -<accessibility /> +<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> +<infoparam name="state0" value="WaitingForSelection" /> +<TGConnectingPoint num="0" id="2022" /> +<TGConnectingPoint num="1" id="2023" /> +<TGConnectingPoint num="2" id="2024" /> +<TGConnectingPoint num="3" id="2025" /> +<TGConnectingPoint num="4" id="2026" /> +<TGConnectingPoint num="5" id="2027" /> +<TGConnectingPoint num="6" id="2028" /> +<TGConnectingPoint num="7" id="2029" /> +<TGConnectingPoint num="8" id="2030" /> +<TGConnectingPoint num="9" id="2031" /> +<TGConnectingPoint num="10" id="2032" /> +<TGConnectingPoint num="11" id="2033" /> +<TGConnectingPoint num="12" id="2034" /> +<TGConnectingPoint num="13" id="2035" /> +<TGConnectingPoint num="14" id="2036" /> +<TGConnectingPoint num="15" id="2037" /> +<TGConnectingPoint num="16" id="2038" /> +<TGConnectingPoint num="17" id="2039" /> +<TGConnectingPoint num="18" id="2040" /> +<TGConnectingPoint num="19" id="2041" /> +<TGConnectingPoint num="20" id="2042" /> +<TGConnectingPoint num="21" id="2043" /> +<TGConnectingPoint num="22" id="2044" /> +<TGConnectingPoint num="23" id="2045" /> +<TGConnectingPoint num="24" id="2046" /> +<TGConnectingPoint num="25" id="2047" /> +<TGConnectingPoint num="26" id="2048" /> +<TGConnectingPoint num="27" id="2049" /> +<TGConnectingPoint num="28" id="2050" /> +<TGConnectingPoint num="29" id="2051" /> +<TGConnectingPoint num="30" id="2052" /> +<TGConnectingPoint num="31" id="2053" /> +<TGConnectingPoint num="32" id="2054" /> +<TGConnectingPoint num="33" id="2055" /> +<TGConnectingPoint num="34" id="2056" /> +<TGConnectingPoint num="35" id="2057" /> +<TGConnectingPoint num="36" id="2058" /> +<TGConnectingPoint num="37" id="2059" /> +<TGConnectingPoint num="38" id="2060" /> +<TGConnectingPoint num="39" id="2061" /> +<TGConnectingPoint num="40" id="2062" /> +<TGConnectingPoint num="41" id="2063" /> +<TGConnectingPoint num="42" id="2064" /> +<TGConnectingPoint num="43" id="2065" /> +<TGConnectingPoint num="44" id="2066" /> +<TGConnectingPoint num="45" id="2067" /> +<TGConnectingPoint num="46" id="2068" /> +<TGConnectingPoint num="47" id="2069" /> +<TGConnectingPoint num="48" id="2070" /> +<TGConnectingPoint num="49" id="2071" /> +<TGConnectingPoint num="50" id="2072" /> +<TGConnectingPoint num="51" id="2073" /> +<TGConnectingPoint num="52" id="2074" /> +<TGConnectingPoint num="53" id="2075" /> +<TGConnectingPoint num="54" id="2076" /> +<TGConnectingPoint num="55" id="2077" /> +<TGConnectingPoint num="56" id="2078" /> +<TGConnectingPoint num="57" id="2079" /> +<TGConnectingPoint num="58" id="2080" /> +<TGConnectingPoint num="59" id="2081" /> +<TGConnectingPoint num="60" id="2082" /> +<TGConnectingPoint num="61" id="2083" /> +<TGConnectingPoint num="62" id="2084" /> +<TGConnectingPoint num="63" id="2085" /> +<TGConnectingPoint num="64" id="2086" /> +<TGConnectingPoint num="65" id="2087" /> +<TGConnectingPoint num="66" id="2088" /> +<TGConnectingPoint num="67" id="2089" /> +<TGConnectingPoint num="68" id="2090" /> +<TGConnectingPoint num="69" id="2091" /> +<TGConnectingPoint num="70" id="2092" /> +<TGConnectingPoint num="71" id="2093" /> +<latencyCheck /> +<extraparam> +</extraparam> </SUBCOMPONENT> -<SUBCOMPONENT type="5104" id="2105" index="50" uid="f73b994e-357b-446d-a13d-97a66d7a4653" > +<SUBCOMPONENT type="5100" id="2096" index="50" uid="d60fd6d2-14be-4b25-b424-35a9ae5e3ba3" > <father id="2264" num="2" /> +<cdparam x="254" y="401" /> +<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<hidden value="false" /> +<cdrectangleparam minX="0" maxX="562" minY="0" maxY="339" /> +<infoparam name="start state" value="null" /> +<TGConnectingPoint num="0" id="2095" /> +</SUBCOMPONENT> +<SUBCOMPONENT type="5104" id="2107" index="51" uid="f73b994e-357b-446d-a13d-97a66d7a4653" > +<father id="2264" num="3" /> <cdparam x="63" y="529" /> <sizeparam width="127" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> <cdrectangleparam minX="0" maxX="450" minY="0" maxY="334" /> <infoparam name="Send signal" value="pushCoffeeButton()" /> -<TGConnectingPoint num="0" id="2095" /> -<TGConnectingPoint num="1" id="2096" /> -<TGConnectingPoint num="2" id="2097" /> -<TGConnectingPoint num="3" id="2098" /> -<TGConnectingPoint num="4" id="2099" /> -<TGConnectingPoint num="5" id="2100" /> -<TGConnectingPoint num="6" id="2101" /> -<TGConnectingPoint num="7" id="2102" /> -<TGConnectingPoint num="8" id="2103" /> -<TGConnectingPoint num="9" id="2104" /> +<TGConnectingPoint num="0" id="2097" /> +<TGConnectingPoint num="1" id="2098" /> +<TGConnectingPoint num="2" id="2099" /> +<TGConnectingPoint num="3" id="2100" /> +<TGConnectingPoint num="4" id="2101" /> +<TGConnectingPoint num="5" id="2102" /> +<TGConnectingPoint num="6" id="2103" /> +<TGConnectingPoint num="7" id="2104" /> +<TGConnectingPoint num="8" id="2105" /> +<TGConnectingPoint num="9" id="2106" /> <accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="2107" index="51" uid="d60fd6d2-14be-4b25-b424-35a9ae5e3ba3" > -<father id="2264" num="3" /> -<cdparam x="254" y="401" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="562" minY="0" maxY="339" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="2106" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5106" id="2180" index="52" uid="542c0583-8080-46a1-9ae2-775c6446817c" > +<SUBCOMPONENT type="5103" id="2118" index="52" uid="9c813d39-192a-47ff-98b2-607e27617acf" > <father id="2264" num="4" /> -<cdparam x="194" y="437" /> -<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="377" y="502" /> +<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> -<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> -<infoparam name="state0" value="WaitingForSelection" /> +<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> +<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> <TGConnectingPoint num="0" id="2108" /> <TGConnectingPoint num="1" id="2109" /> <TGConnectingPoint num="2" id="2110" /> @@ -3871,91 +3871,90 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 <TGConnectingPoint num="7" id="2115" /> <TGConnectingPoint num="8" id="2116" /> <TGConnectingPoint num="9" id="2117" /> -<TGConnectingPoint num="10" id="2118" /> -<TGConnectingPoint num="11" id="2119" /> -<TGConnectingPoint num="12" id="2120" /> -<TGConnectingPoint num="13" id="2121" /> -<TGConnectingPoint num="14" id="2122" /> -<TGConnectingPoint num="15" id="2123" /> -<TGConnectingPoint num="16" id="2124" /> -<TGConnectingPoint num="17" id="2125" /> -<TGConnectingPoint num="18" id="2126" /> -<TGConnectingPoint num="19" id="2127" /> -<TGConnectingPoint num="20" id="2128" /> -<TGConnectingPoint num="21" id="2129" /> -<TGConnectingPoint num="22" id="2130" /> -<TGConnectingPoint num="23" id="2131" /> -<TGConnectingPoint num="24" id="2132" /> -<TGConnectingPoint num="25" id="2133" /> -<TGConnectingPoint num="26" id="2134" /> -<TGConnectingPoint num="27" id="2135" /> -<TGConnectingPoint num="28" id="2136" /> -<TGConnectingPoint num="29" id="2137" /> -<TGConnectingPoint num="30" id="2138" /> -<TGConnectingPoint num="31" id="2139" /> -<TGConnectingPoint num="32" id="2140" /> -<TGConnectingPoint num="33" id="2141" /> -<TGConnectingPoint num="34" id="2142" /> -<TGConnectingPoint num="35" id="2143" /> -<TGConnectingPoint num="36" id="2144" /> -<TGConnectingPoint num="37" id="2145" /> -<TGConnectingPoint num="38" id="2146" /> -<TGConnectingPoint num="39" id="2147" /> -<TGConnectingPoint num="40" id="2148" /> -<TGConnectingPoint num="41" id="2149" /> -<TGConnectingPoint num="42" id="2150" /> -<TGConnectingPoint num="43" id="2151" /> -<TGConnectingPoint num="44" id="2152" /> -<TGConnectingPoint num="45" id="2153" /> -<TGConnectingPoint num="46" id="2154" /> -<TGConnectingPoint num="47" id="2155" /> -<TGConnectingPoint num="48" id="2156" /> -<TGConnectingPoint num="49" id="2157" /> -<TGConnectingPoint num="50" id="2158" /> -<TGConnectingPoint num="51" id="2159" /> -<TGConnectingPoint num="52" id="2160" /> -<TGConnectingPoint num="53" id="2161" /> -<TGConnectingPoint num="54" id="2162" /> -<TGConnectingPoint num="55" id="2163" /> -<TGConnectingPoint num="56" id="2164" /> -<TGConnectingPoint num="57" id="2165" /> -<TGConnectingPoint num="58" id="2166" /> -<TGConnectingPoint num="59" id="2167" /> -<TGConnectingPoint num="60" id="2168" /> -<TGConnectingPoint num="61" id="2169" /> -<TGConnectingPoint num="62" id="2170" /> -<TGConnectingPoint num="63" id="2171" /> -<TGConnectingPoint num="64" id="2172" /> -<TGConnectingPoint num="65" id="2173" /> -<TGConnectingPoint num="66" id="2174" /> -<TGConnectingPoint num="67" id="2175" /> -<TGConnectingPoint num="68" id="2176" /> -<TGConnectingPoint num="69" id="2177" /> -<TGConnectingPoint num="70" id="2178" /> -<TGConnectingPoint num="71" id="2179" /> -<latencyCheck /> -<extraparam> -</extraparam> +<accessibility /> </SUBCOMPONENT> -<SUBCOMPONENT type="5104" id="2191" index="53" uid="8718a1dd-4942-43e5-b6ce-b5f78b82a355" > +<SUBCOMPONENT type="5106" id="2191" index="53" uid="52044bb2-8b01-4108-a1ac-b5e7886ea624" > <father id="2264" num="5" /> -<cdparam x="242" y="529" /> -<sizeparam width="112" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> +<cdparam x="53" y="653" /> +<sizeparam width="146" height="49" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> <hidden value="false" /> <enabled value="true" /> -<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> -<infoparam name="Send signal" value="pushTeaButton()" /> -<TGConnectingPoint num="0" id="2181" /> -<TGConnectingPoint num="1" id="2182" /> -<TGConnectingPoint num="2" id="2183" /> -<TGConnectingPoint num="3" id="2184" /> -<TGConnectingPoint num="4" id="2185" /> -<TGConnectingPoint num="5" id="2186" /> -<TGConnectingPoint num="6" id="2187" /> -<TGConnectingPoint num="7" id="2188" /> -<TGConnectingPoint num="8" id="2189" /> -<TGConnectingPoint num="9" id="2190" /> -<accessibility /> +<cdrectangleparam minX="0" maxX="431" minY="0" maxY="305" /> +<infoparam name="state0" value="CoffeeDelivered" /> +<TGConnectingPoint num="0" id="2119" /> +<TGConnectingPoint num="1" id="2120" /> +<TGConnectingPoint num="2" id="2121" /> +<TGConnectingPoint num="3" id="2122" /> +<TGConnectingPoint num="4" id="2123" /> +<TGConnectingPoint num="5" id="2124" /> +<TGConnectingPoint num="6" id="2125" /> +<TGConnectingPoint num="7" id="2126" /> +<TGConnectingPoint num="8" id="2127" /> +<TGConnectingPoint num="9" id="2128" /> +<TGConnectingPoint num="10" id="2129" /> +<TGConnectingPoint num="11" id="2130" /> +<TGConnectingPoint num="12" id="2131" /> +<TGConnectingPoint num="13" id="2132" /> +<TGConnectingPoint num="14" id="2133" /> +<TGConnectingPoint num="15" id="2134" /> +<TGConnectingPoint num="16" id="2135" /> +<TGConnectingPoint num="17" id="2136" /> +<TGConnectingPoint num="18" id="2137" /> +<TGConnectingPoint num="19" id="2138" /> +<TGConnectingPoint num="20" id="2139" /> +<TGConnectingPoint num="21" id="2140" /> +<TGConnectingPoint num="22" id="2141" /> +<TGConnectingPoint num="23" id="2142" /> +<TGConnectingPoint num="24" id="2143" /> +<TGConnectingPoint num="25" id="2144" /> +<TGConnectingPoint num="26" id="2145" /> +<TGConnectingPoint num="27" id="2146" /> +<TGConnectingPoint num="28" id="2147" /> +<TGConnectingPoint num="29" id="2148" /> +<TGConnectingPoint num="30" id="2149" /> +<TGConnectingPoint num="31" id="2150" /> +<TGConnectingPoint num="32" id="2151" /> +<TGConnectingPoint num="33" id="2152" /> +<TGConnectingPoint num="34" id="2153" /> +<TGConnectingPoint num="35" id="2154" /> +<TGConnectingPoint num="36" id="2155" /> +<TGConnectingPoint num="37" id="2156" /> +<TGConnectingPoint num="38" id="2157" /> +<TGConnectingPoint num="39" id="2158" /> +<TGConnectingPoint num="40" id="2159" /> +<TGConnectingPoint num="41" id="2160" /> +<TGConnectingPoint num="42" id="2161" /> +<TGConnectingPoint num="43" id="2162" /> +<TGConnectingPoint num="44" id="2163" /> +<TGConnectingPoint num="45" id="2164" /> +<TGConnectingPoint num="46" id="2165" /> +<TGConnectingPoint num="47" id="2166" /> +<TGConnectingPoint num="48" id="2167" /> +<TGConnectingPoint num="49" id="2168" /> +<TGConnectingPoint num="50" id="2169" /> +<TGConnectingPoint num="51" id="2170" /> +<TGConnectingPoint num="52" id="2171" /> +<TGConnectingPoint num="53" id="2172" /> +<TGConnectingPoint num="54" id="2173" /> +<TGConnectingPoint num="55" id="2174" /> +<TGConnectingPoint num="56" id="2175" /> +<TGConnectingPoint num="57" id="2176" /> +<TGConnectingPoint num="58" id="2177" /> +<TGConnectingPoint num="59" id="2178" /> +<TGConnectingPoint num="60" id="2179" /> +<TGConnectingPoint num="61" id="2180" /> +<TGConnectingPoint num="62" id="2181" /> +<TGConnectingPoint num="63" id="2182" /> +<TGConnectingPoint num="64" id="2183" /> +<TGConnectingPoint num="65" id="2184" /> +<TGConnectingPoint num="66" id="2185" /> +<TGConnectingPoint num="67" id="2186" /> +<TGConnectingPoint num="68" id="2187" /> +<TGConnectingPoint num="69" id="2188" /> +<TGConnectingPoint num="70" id="2189" /> +<TGConnectingPoint num="71" id="2190" /> +<extraparam> +</extraparam> </SUBCOMPONENT> @@ -4436,3104 +4435,4 @@ CoffeeMachine.CoffeeDelivered --> CoffeeMachine.nbOfCoins<2 -<Modeling type="AVATAR Design" nameTab="CoffeeMachineAndMicrowave" tabs="Block Diagram$CoffeeButton$TeaButton$CoffeeMachine$Wallet" > -<AVATARBlockDiagramPanel name="Block Diagram" minX="10" maxX="1400" minY="10" maxY="1525" zoom="1.0000000000000002" > -<MainCode value="void __user_init() {"/> -<MainCode value="}"/> -<Optimized value="true" /> -<considerTimingOperators value="true" /> -<Validated value="Wallet;CoffeeMachine;TeaButton;CoffeeButton;" /> -<Ignored value="" /> - -<CONNECTOR type="5002" id="2544" index="0" uid="f480e606-bbb6-4ab7-8f89-8abb37ff40bb" > -<cdparam x="320" y="565" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Block1 to Block0" value="" /> -<TGConnectingPoint num="0" id="2543" /> -<P1 x="557" y="348" id="2655" /> -<P2 x="558" y="375" id="2704" /> -<AutomaticDrawing data="true" /> -<extraparam> -<isd value="in pushCoffeeButton()" /> -<oso value="out push()" /> -<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="true" broadcast="false" lossy="false" ams="false" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5002" id="2548" index="1" uid="403b1fb9-e973-4050-b3c2-b7e92680c5b4" > -<cdparam x="275" y="112" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Block0 to Block0" value="" /> -<TGConnectingPoint num="0" id="2547" /> -<P1 x="303" y="107" id="2578" /> -<P2 x="443" y="107" id="2700" /> -<AutomaticDrawing data="true" /> -<extraparam> -<iso value="in getCoin(int nbOfCoins)" /> -<osd value="out ejectCoin(int nbOfCoins)" /> -<isd value="in getCoin(int nbOfCoins)" /> -<oso value="out putCoin(int nbOfCoins)" /> -<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="true" broadcast="false" lossy="false" ams="false" /> -</extraparam> -</CONNECTOR> -<CONNECTOR type="5002" id="2558" index="2" uid="2f759ef7-69b3-40e9-9fea-acea53f78b16" > -<cdparam x="621" y="563" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Block1 to Block0" value="" /> -<TGConnectingPoint num="0" id="2557" /> -<P1 x="788" y="347" id="2614" /> -<P2 x="788" y="375" id="2705" /> -<AutomaticDrawing data="true" /> -<extraparam> -<isd value="in pushTeaButton()" /> -<oso value="out push()" /> -<FIFOType asynchronous="false" synchronousCH="true" size="1024" blocking="false" private="true" broadcast="false" lossy="false" ams="false" /> -</extraparam> -</CONNECTOR> -<COMPONENT type="5000" id="2607" index="3" uid="bfe1f65b-e947-4455-a4f9-e84d772ca5b5" > -<cdparam x="103" y="53" /> -<sizeparam width="200" height="216" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="9" maxX="1399" minY="9" maxY="1524" /> -<infoparam name="Block0" value="Wallet" /> -<TGConnectingPoint num="0" id="2567" /> -<TGConnectingPoint num="1" id="2568" /> -<TGConnectingPoint num="2" id="2569" /> -<TGConnectingPoint num="3" id="2570" /> -<TGConnectingPoint num="4" id="2571" /> -<TGConnectingPoint num="5" id="2572" /> -<TGConnectingPoint num="6" id="2573" /> -<TGConnectingPoint num="7" id="2574" /> -<TGConnectingPoint num="8" id="2575" /> -<TGConnectingPoint num="9" id="2576" /> -<TGConnectingPoint num="10" id="2577" /> -<TGConnectingPoint num="11" id="2578" /> -<TGConnectingPoint num="12" id="2579" /> -<TGConnectingPoint num="13" id="2580" /> -<TGConnectingPoint num="14" id="2581" /> -<TGConnectingPoint num="15" id="2582" /> -<TGConnectingPoint num="16" id="2583" /> -<TGConnectingPoint num="17" id="2584" /> -<TGConnectingPoint num="18" id="2585" /> -<TGConnectingPoint num="19" id="2586" /> -<TGConnectingPoint num="20" id="2587" /> -<TGConnectingPoint num="21" id="2588" /> -<TGConnectingPoint num="22" id="2589" /> -<TGConnectingPoint num="23" id="2590" /> -<TGConnectingPoint num="24" id="2591" /> -<TGConnectingPoint num="25" id="2592" /> -<TGConnectingPoint num="26" id="2593" /> -<TGConnectingPoint num="27" id="2594" /> -<TGConnectingPoint num="28" id="2595" /> -<TGConnectingPoint num="29" id="2596" /> -<TGConnectingPoint num="30" id="2597" /> -<TGConnectingPoint num="31" id="2598" /> -<TGConnectingPoint num="32" id="2599" /> -<TGConnectingPoint num="33" id="2600" /> -<TGConnectingPoint num="34" id="2601" /> -<TGConnectingPoint num="35" id="2602" /> -<TGConnectingPoint num="36" id="2603" /> -<TGConnectingPoint num="37" id="2604" /> -<TGConnectingPoint num="38" id="2605" /> -<TGConnectingPoint num="39" id="2606" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -<Attribute access="0" id="nbOfCoins" value="2" type="8" typeOther="" /> -<Attribute access="0" id="x" value="1" type="8" typeOther="" /> -<Attribute access="0" id="minUserDelay" value="50" type="8" typeOther="" /> -<Attribute access="0" id="maxUserDelay" value="70" type="8" typeOther="" /> -<Method value="contentOfWallet(int nbOfCoins)" /> -<Signal value="in getCoin(int nbOfCoins)" attached="true" /> -<Signal value="out putCoin(int nbOfCoins)" attached="true" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="5000" id="2730" index="4" uid="c413ffec-f29b-466c-b400-87bd699b9ee9" > -<cdparam x="443" y="18" /> -<sizeparam width="460" height="357" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="9" maxX="1399" minY="9" maxY="1524" /> -<infoparam name="Block0" value="CoffeeMachine" /> -<TGConnectingPoint num="0" id="2690" /> -<TGConnectingPoint num="1" id="2691" /> -<TGConnectingPoint num="2" id="2692" /> -<TGConnectingPoint num="3" id="2693" /> -<TGConnectingPoint num="4" id="2694" /> -<TGConnectingPoint num="5" id="2695" /> -<TGConnectingPoint num="6" id="2696" /> -<TGConnectingPoint num="7" id="2697" /> -<TGConnectingPoint num="8" id="2698" /> -<TGConnectingPoint num="9" id="2699" /> -<TGConnectingPoint num="10" id="2700" /> -<TGConnectingPoint num="11" id="2701" /> -<TGConnectingPoint num="12" id="2702" /> -<TGConnectingPoint num="13" id="2703" /> -<TGConnectingPoint num="14" id="2704" /> -<TGConnectingPoint num="15" id="2705" /> -<TGConnectingPoint num="16" id="2706" /> -<TGConnectingPoint num="17" id="2707" /> -<TGConnectingPoint num="18" id="2708" /> -<TGConnectingPoint num="19" id="2709" /> -<TGConnectingPoint num="20" id="2710" /> -<TGConnectingPoint num="21" id="2711" /> -<TGConnectingPoint num="22" id="2712" /> -<TGConnectingPoint num="23" id="2713" /> -<TGConnectingPoint num="24" id="2714" /> -<TGConnectingPoint num="25" id="2715" /> -<TGConnectingPoint num="26" id="2716" /> -<TGConnectingPoint num="27" id="2717" /> -<TGConnectingPoint num="28" id="2718" /> -<TGConnectingPoint num="29" id="2719" /> -<TGConnectingPoint num="30" id="2720" /> -<TGConnectingPoint num="31" id="2721" /> -<TGConnectingPoint num="32" id="2722" /> -<TGConnectingPoint num="33" id="2723" /> -<TGConnectingPoint num="34" id="2724" /> -<TGConnectingPoint num="35" id="2725" /> -<TGConnectingPoint num="36" id="2726" /> -<TGConnectingPoint num="37" id="2727" /> -<TGConnectingPoint num="38" id="2728" /> -<TGConnectingPoint num="39" id="2729" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -<Attribute access="0" id="teaMinDelay" value="3" type="8" typeOther="" /> -<Attribute access="0" id="teaMaxDelay" value="8" type="8" typeOther="" /> -<Attribute access="0" id="coffeeMinDelay" value="5" type="8" typeOther="" /> -<Attribute access="0" id="coffeeMaxDelay" value="10" type="8" typeOther="" /> -<Attribute access="0" id="coinDelay" value="50" type="8" typeOther="" /> -<Attribute access="0" id="x" value="0" type="8" typeOther="" /> -<Attribute access="0" id="nbOfCoins" value="0" type="8" typeOther="" /> -<Method value="beverageReady()" /> -<Signal value="in pushCoffeeButton()" attached="true" /> -<Signal value="in pushTeaButton()" attached="true" /> -<Signal value="in getCoin(int nbOfCoins)" attached="true" /> -<Signal value="out ejectCoin(int nbOfCoins)" attached="true" /> -</extraparam> -</COMPONENT> -<SUBCOMPONENT type="5000" id="2648" index="5" uid="a5114e80-03e3-4820-b57a-bfcefd90a9c8" > -<father id="2730" num="0" /> -<cdparam x="695" y="246" /> -<sizeparam width="187" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="273" minY="0" maxY="256" /> -<infoparam name="Block1" value="TeaButton" /> -<TGConnectingPoint num="0" id="2608" /> -<TGConnectingPoint num="1" id="2609" /> -<TGConnectingPoint num="2" id="2610" /> -<TGConnectingPoint num="3" id="2611" /> -<TGConnectingPoint num="4" id="2612" /> -<TGConnectingPoint num="5" id="2613" /> -<TGConnectingPoint num="6" id="2614" /> -<TGConnectingPoint num="7" id="2615" /> -<TGConnectingPoint num="8" id="2616" /> -<TGConnectingPoint num="9" id="2617" /> -<TGConnectingPoint num="10" id="2618" /> -<TGConnectingPoint num="11" id="2619" /> -<TGConnectingPoint num="12" id="2620" /> -<TGConnectingPoint num="13" id="2621" /> -<TGConnectingPoint num="14" id="2622" /> -<TGConnectingPoint num="15" id="2623" /> -<TGConnectingPoint num="16" id="2624" /> -<TGConnectingPoint num="17" id="2625" /> -<TGConnectingPoint num="18" id="2626" /> -<TGConnectingPoint num="19" id="2627" /> -<TGConnectingPoint num="20" id="2628" /> -<TGConnectingPoint num="21" id="2629" /> -<TGConnectingPoint num="22" id="2630" /> -<TGConnectingPoint num="23" id="2631" /> -<TGConnectingPoint num="24" id="2632" /> -<TGConnectingPoint num="25" id="2633" /> -<TGConnectingPoint num="26" id="2634" /> -<TGConnectingPoint num="27" id="2635" /> -<TGConnectingPoint num="28" id="2636" /> -<TGConnectingPoint num="29" id="2637" /> -<TGConnectingPoint num="30" id="2638" /> -<TGConnectingPoint num="31" id="2639" /> -<TGConnectingPoint num="32" id="2640" /> -<TGConnectingPoint num="33" id="2641" /> -<TGConnectingPoint num="34" id="2642" /> -<TGConnectingPoint num="35" id="2643" /> -<TGConnectingPoint num="36" id="2644" /> -<TGConnectingPoint num="37" id="2645" /> -<TGConnectingPoint num="38" id="2646" /> -<TGConnectingPoint num="39" id="2647" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -<Attribute access="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> -<Signal value="out push()" attached="true" /> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="5000" id="2689" index="6" uid="7a21d6ab-e515-4a9c-b908-bcb26c800cfb" > -<father id="2730" num="1" /> -<cdparam x="463" y="247" /> -<sizeparam width="188" height="101" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="272" minY="0" maxY="256" /> -<infoparam name="Block1" value="CoffeeButton" /> -<TGConnectingPoint num="0" id="2649" /> -<TGConnectingPoint num="1" id="2650" /> -<TGConnectingPoint num="2" id="2651" /> -<TGConnectingPoint num="3" id="2652" /> -<TGConnectingPoint num="4" id="2653" /> -<TGConnectingPoint num="5" id="2654" /> -<TGConnectingPoint num="6" id="2655" /> -<TGConnectingPoint num="7" id="2656" /> -<TGConnectingPoint num="8" id="2657" /> -<TGConnectingPoint num="9" id="2658" /> -<TGConnectingPoint num="10" id="2659" /> -<TGConnectingPoint num="11" id="2660" /> -<TGConnectingPoint num="12" id="2661" /> -<TGConnectingPoint num="13" id="2662" /> -<TGConnectingPoint num="14" id="2663" /> -<TGConnectingPoint num="15" id="2664" /> -<TGConnectingPoint num="16" id="2665" /> -<TGConnectingPoint num="17" id="2666" /> -<TGConnectingPoint num="18" id="2667" /> -<TGConnectingPoint num="19" id="2668" /> -<TGConnectingPoint num="20" id="2669" /> -<TGConnectingPoint num="21" id="2670" /> -<TGConnectingPoint num="22" id="2671" /> -<TGConnectingPoint num="23" id="2672" /> -<TGConnectingPoint num="24" id="2673" /> -<TGConnectingPoint num="25" id="2674" /> -<TGConnectingPoint num="26" id="2675" /> -<TGConnectingPoint num="27" id="2676" /> -<TGConnectingPoint num="28" id="2677" /> -<TGConnectingPoint num="29" id="2678" /> -<TGConnectingPoint num="30" id="2679" /> -<TGConnectingPoint num="31" id="2680" /> -<TGConnectingPoint num="32" id="2681" /> -<TGConnectingPoint num="33" id="2682" /> -<TGConnectingPoint num="34" id="2683" /> -<TGConnectingPoint num="35" id="2684" /> -<TGConnectingPoint num="36" id="2685" /> -<TGConnectingPoint num="37" id="2686" /> -<TGConnectingPoint num="38" id="2687" /> -<TGConnectingPoint num="39" id="2688" /> -<extraparam> -<blockType data="block" color="-4072719" /> -<CryptoBlock value="false" /> -<Attribute access="0" id="mechanicalDelay" value="10" type="8" typeOther="" /> -<Signal value="out push()" attached="true" /> -</extraparam> -</SUBCOMPONENT> - - -</AVATARBlockDiagramPanel> - -<AVATARStateMachineDiagramPanel name="CoffeeButton" minX="10" maxX="1400" minY="10" maxY="900" > -<CONNECTOR type="5102" id="3182" index="0" uid="ab3fc175-6883-4ceb-932b-6a503e349bea" > -<cdparam x="177" y="199" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3181" /> -<P1 x="340" y="233" id="3352" /> -<P2 x="353" y="252" id="3354" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3180" index="8" uid="4b47f2ec-3073-4a06-b6e0-da7704454345" > -<father id="3182" num="0" /> -<cdparam x="177" y="239" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3176" /> -<TGConnectingPoint num="1" id="3177" /> -<TGConnectingPoint num="2" id="3178" /> -<TGConnectingPoint num="3" id="3179" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3189" index="1" uid="55f1de79-3429-47a8-9f5c-84ccf8abc547" > -<cdparam x="322" y="69" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="3188" /> -<P1 x="322" y="69" id="3350" /> -<P2 x="322" y="88" id="3278" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3187" index="9" uid="59eff059-85a8-4d8f-aeb0-42e8e19675ae" > -<father id="3189" num="0" /> -<cdparam x="322" y="109" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3183" /> -<TGConnectingPoint num="1" id="3184" /> -<TGConnectingPoint num="2" id="3185" /> -<TGConnectingPoint num="3" id="3186" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3196" index="2" uid="27ff6095-9b50-46df-afe1-3b6ad63ec543" > -<cdparam x="377" y="144" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3195" /> -<P1 x="322" y="118" id="3283" /> -<P2 x="356" y="174" id="3366" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3194" index="10" uid="304fd2b1-277e-48d2-a345-7e4b73c1e0d7" > -<father id="3196" num="0" /> -<cdparam x="377" y="184" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3190" /> -<TGConnectingPoint num="1" id="3191" /> -<TGConnectingPoint num="2" id="3192" /> -<TGConnectingPoint num="3" id="3193" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3203" index="3" uid="8265b237-e32a-4014-9db6-0e4817084b6d" > -<cdparam x="377" y="187" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="3202" /> -<P1 x="353" y="282" id="3355" /> -<P2 x="399" y="352" id="3205" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3201" index="11" uid="ef1e1204-6711-4c2c-b81f-515c0e412fcb" > -<father id="3203" num="0" /> -<cdparam x="417" y="335" /> -<sizeparam width="145" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3197" /> -<TGConnectingPoint num="1" id="3198" /> -<TGConnectingPoint num="2" id="3199" /> -<TGConnectingPoint num="3" id="3200" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="mechanicalDelay" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<COMPONENT type="5106" id="3276" index="4" uid="a8480980-aa52-45ec-b0bf-a5a376e0c5c6" > -<cdparam x="374" y="352" /> -<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="3204" /> -<TGConnectingPoint num="1" id="3205" /> -<TGConnectingPoint num="2" id="3206" /> -<TGConnectingPoint num="3" id="3207" /> -<TGConnectingPoint num="4" id="3208" /> -<TGConnectingPoint num="5" id="3209" /> -<TGConnectingPoint num="6" id="3210" /> -<TGConnectingPoint num="7" id="3211" /> -<TGConnectingPoint num="8" id="3212" /> -<TGConnectingPoint num="9" id="3213" /> -<TGConnectingPoint num="10" id="3214" /> -<TGConnectingPoint num="11" id="3215" /> -<TGConnectingPoint num="12" id="3216" /> -<TGConnectingPoint num="13" id="3217" /> -<TGConnectingPoint num="14" id="3218" /> -<TGConnectingPoint num="15" id="3219" /> -<TGConnectingPoint num="16" id="3220" /> -<TGConnectingPoint num="17" id="3221" /> -<TGConnectingPoint num="18" id="3222" /> -<TGConnectingPoint num="19" id="3223" /> -<TGConnectingPoint num="20" id="3224" /> -<TGConnectingPoint num="21" id="3225" /> -<TGConnectingPoint num="22" id="3226" /> -<TGConnectingPoint num="23" id="3227" /> -<TGConnectingPoint num="24" id="3228" /> -<TGConnectingPoint num="25" id="3229" /> -<TGConnectingPoint num="26" id="3230" /> -<TGConnectingPoint num="27" id="3231" /> -<TGConnectingPoint num="28" id="3232" /> -<TGConnectingPoint num="29" id="3233" /> -<TGConnectingPoint num="30" id="3234" /> -<TGConnectingPoint num="31" id="3235" /> -<TGConnectingPoint num="32" id="3236" /> -<TGConnectingPoint num="33" id="3237" /> -<TGConnectingPoint num="34" id="3238" /> -<TGConnectingPoint num="35" id="3239" /> -<TGConnectingPoint num="36" id="3240" /> -<TGConnectingPoint num="37" id="3241" /> -<TGConnectingPoint num="38" id="3242" /> -<TGConnectingPoint num="39" id="3243" /> -<TGConnectingPoint num="40" id="3244" /> -<TGConnectingPoint num="41" id="3245" /> -<TGConnectingPoint num="42" id="3246" /> -<TGConnectingPoint num="43" id="3247" /> -<TGConnectingPoint num="44" id="3248" /> -<TGConnectingPoint num="45" id="3249" /> -<TGConnectingPoint num="46" id="3250" /> -<TGConnectingPoint num="47" id="3251" /> -<TGConnectingPoint num="48" id="3252" /> -<TGConnectingPoint num="49" id="3253" /> -<TGConnectingPoint num="50" id="3254" /> -<TGConnectingPoint num="51" id="3255" /> -<TGConnectingPoint num="52" id="3256" /> -<TGConnectingPoint num="53" id="3257" /> -<TGConnectingPoint num="54" id="3258" /> -<TGConnectingPoint num="55" id="3259" /> -<TGConnectingPoint num="56" id="3260" /> -<TGConnectingPoint num="57" id="3261" /> -<TGConnectingPoint num="58" id="3262" /> -<TGConnectingPoint num="59" id="3263" /> -<TGConnectingPoint num="60" id="3264" /> -<TGConnectingPoint num="61" id="3265" /> -<TGConnectingPoint num="62" id="3266" /> -<TGConnectingPoint num="63" id="3267" /> -<TGConnectingPoint num="64" id="3268" /> -<TGConnectingPoint num="65" id="3269" /> -<TGConnectingPoint num="66" id="3270" /> -<TGConnectingPoint num="67" id="3271" /> -<TGConnectingPoint num="68" id="3272" /> -<TGConnectingPoint num="69" id="3273" /> -<TGConnectingPoint num="70" id="3274" /> -<TGConnectingPoint num="71" id="3275" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="3349" index="5" uid="bdf4e5e9-759e-4940-891e-d3b20cbd9b7b" > -<cdparam x="297" y="88" /> -<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="3277" /> -<TGConnectingPoint num="1" id="3278" /> -<TGConnectingPoint num="2" id="3279" /> -<TGConnectingPoint num="3" id="3280" /> -<TGConnectingPoint num="4" id="3281" /> -<TGConnectingPoint num="5" id="3282" /> -<TGConnectingPoint num="6" id="3283" /> -<TGConnectingPoint num="7" id="3284" /> -<TGConnectingPoint num="8" id="3285" /> -<TGConnectingPoint num="9" id="3286" /> -<TGConnectingPoint num="10" id="3287" /> -<TGConnectingPoint num="11" id="3288" /> -<TGConnectingPoint num="12" id="3289" /> -<TGConnectingPoint num="13" id="3290" /> -<TGConnectingPoint num="14" id="3291" /> -<TGConnectingPoint num="15" id="3292" /> -<TGConnectingPoint num="16" id="3293" /> -<TGConnectingPoint num="17" id="3294" /> -<TGConnectingPoint num="18" id="3295" /> -<TGConnectingPoint num="19" id="3296" /> -<TGConnectingPoint num="20" id="3297" /> -<TGConnectingPoint num="21" id="3298" /> -<TGConnectingPoint num="22" id="3299" /> -<TGConnectingPoint num="23" id="3300" /> -<TGConnectingPoint num="24" id="3301" /> -<TGConnectingPoint num="25" id="3302" /> -<TGConnectingPoint num="26" id="3303" /> -<TGConnectingPoint num="27" id="3304" /> -<TGConnectingPoint num="28" id="3305" /> -<TGConnectingPoint num="29" id="3306" /> -<TGConnectingPoint num="30" id="3307" /> -<TGConnectingPoint num="31" id="3308" /> -<TGConnectingPoint num="32" id="3309" /> -<TGConnectingPoint num="33" id="3310" /> -<TGConnectingPoint num="34" id="3311" /> -<TGConnectingPoint num="35" id="3312" /> -<TGConnectingPoint num="36" id="3313" /> -<TGConnectingPoint num="37" id="3314" /> -<TGConnectingPoint num="38" id="3315" /> -<TGConnectingPoint num="39" id="3316" /> -<TGConnectingPoint num="40" id="3317" /> -<TGConnectingPoint num="41" id="3318" /> -<TGConnectingPoint num="42" id="3319" /> -<TGConnectingPoint num="43" id="3320" /> -<TGConnectingPoint num="44" id="3321" /> -<TGConnectingPoint num="45" id="3322" /> -<TGConnectingPoint num="46" id="3323" /> -<TGConnectingPoint num="47" id="3324" /> -<TGConnectingPoint num="48" id="3325" /> -<TGConnectingPoint num="49" id="3326" /> -<TGConnectingPoint num="50" id="3327" /> -<TGConnectingPoint num="51" id="3328" /> -<TGConnectingPoint num="52" id="3329" /> -<TGConnectingPoint num="53" id="3330" /> -<TGConnectingPoint num="54" id="3331" /> -<TGConnectingPoint num="55" id="3332" /> -<TGConnectingPoint num="56" id="3333" /> -<TGConnectingPoint num="57" id="3334" /> -<TGConnectingPoint num="58" id="3335" /> -<TGConnectingPoint num="59" id="3336" /> -<TGConnectingPoint num="60" id="3337" /> -<TGConnectingPoint num="61" id="3338" /> -<TGConnectingPoint num="62" id="3339" /> -<TGConnectingPoint num="63" id="3340" /> -<TGConnectingPoint num="64" id="3341" /> -<TGConnectingPoint num="65" id="3342" /> -<TGConnectingPoint num="66" id="3343" /> -<TGConnectingPoint num="67" id="3344" /> -<TGConnectingPoint num="68" id="3345" /> -<TGConnectingPoint num="69" id="3346" /> -<TGConnectingPoint num="70" id="3347" /> -<TGConnectingPoint num="71" id="3348" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5100" id="3351" index="6" uid="8a5f524c-e9d9-43ed-8bb2-62d6981ea781" > -<cdparam x="315" y="49" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="3350" /> -</COMPONENT> - -<COMPONENT type="5106" id="3437" index="7" uid="0351de1d-1a78-41a0-9a44-227ba3d1a1f8" > -<cdparam x="264" y="174" /> -<sizeparam width="184" height="130" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="state0" /> -<TGConnectingPoint num="0" id="3365" /> -<TGConnectingPoint num="1" id="3366" /> -<TGConnectingPoint num="2" id="3367" /> -<TGConnectingPoint num="3" id="3368" /> -<TGConnectingPoint num="4" id="3369" /> -<TGConnectingPoint num="5" id="3370" /> -<TGConnectingPoint num="6" id="3371" /> -<TGConnectingPoint num="7" id="3372" /> -<TGConnectingPoint num="8" id="3373" /> -<TGConnectingPoint num="9" id="3374" /> -<TGConnectingPoint num="10" id="3375" /> -<TGConnectingPoint num="11" id="3376" /> -<TGConnectingPoint num="12" id="3377" /> -<TGConnectingPoint num="13" id="3378" /> -<TGConnectingPoint num="14" id="3379" /> -<TGConnectingPoint num="15" id="3380" /> -<TGConnectingPoint num="16" id="3381" /> -<TGConnectingPoint num="17" id="3382" /> -<TGConnectingPoint num="18" id="3383" /> -<TGConnectingPoint num="19" id="3384" /> -<TGConnectingPoint num="20" id="3385" /> -<TGConnectingPoint num="21" id="3386" /> -<TGConnectingPoint num="22" id="3387" /> -<TGConnectingPoint num="23" id="3388" /> -<TGConnectingPoint num="24" id="3389" /> -<TGConnectingPoint num="25" id="3390" /> -<TGConnectingPoint num="26" id="3391" /> -<TGConnectingPoint num="27" id="3392" /> -<TGConnectingPoint num="28" id="3393" /> -<TGConnectingPoint num="29" id="3394" /> -<TGConnectingPoint num="30" id="3395" /> -<TGConnectingPoint num="31" id="3396" /> -<TGConnectingPoint num="32" id="3397" /> -<TGConnectingPoint num="33" id="3398" /> -<TGConnectingPoint num="34" id="3399" /> -<TGConnectingPoint num="35" id="3400" /> -<TGConnectingPoint num="36" id="3401" /> -<TGConnectingPoint num="37" id="3402" /> -<TGConnectingPoint num="38" id="3403" /> -<TGConnectingPoint num="39" id="3404" /> -<TGConnectingPoint num="40" id="3405" /> -<TGConnectingPoint num="41" id="3406" /> -<TGConnectingPoint num="42" id="3407" /> -<TGConnectingPoint num="43" id="3408" /> -<TGConnectingPoint num="44" id="3409" /> -<TGConnectingPoint num="45" id="3410" /> -<TGConnectingPoint num="46" id="3411" /> -<TGConnectingPoint num="47" id="3412" /> -<TGConnectingPoint num="48" id="3413" /> -<TGConnectingPoint num="49" id="3414" /> -<TGConnectingPoint num="50" id="3415" /> -<TGConnectingPoint num="51" id="3416" /> -<TGConnectingPoint num="52" id="3417" /> -<TGConnectingPoint num="53" id="3418" /> -<TGConnectingPoint num="54" id="3419" /> -<TGConnectingPoint num="55" id="3420" /> -<TGConnectingPoint num="56" id="3421" /> -<TGConnectingPoint num="57" id="3422" /> -<TGConnectingPoint num="58" id="3423" /> -<TGConnectingPoint num="59" id="3424" /> -<TGConnectingPoint num="60" id="3425" /> -<TGConnectingPoint num="61" id="3426" /> -<TGConnectingPoint num="62" id="3427" /> -<TGConnectingPoint num="63" id="3428" /> -<TGConnectingPoint num="64" id="3429" /> -<TGConnectingPoint num="65" id="3430" /> -<TGConnectingPoint num="66" id="3431" /> -<TGConnectingPoint num="67" id="3432" /> -<TGConnectingPoint num="68" id="3433" /> -<TGConnectingPoint num="69" id="3434" /> -<TGConnectingPoint num="70" id="3435" /> -<TGConnectingPoint num="71" id="3436" /> -<extraparam> -</extraparam> -</COMPONENT> -<SUBCOMPONENT type="5100" id="3353" index="12" uid="4ea28494-de50-4f99-8981-3ef7a87d7d34" > -<father id="3437" num="0" /> -<cdparam x="333" y="213" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="169" minY="0" maxY="115" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="3352" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5103" id="3364" index="13" uid="71f14636-3c96-4e4e-8d0e-c1cd11e52641" > -<father id="3437" num="1" /> -<cdparam x="330" y="257" /> -<sizeparam width="46" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="0" maxX="138" minY="0" maxY="110" /> -<infoparam name="Send signal" value="push()" /> -<TGConnectingPoint num="0" id="3354" /> -<TGConnectingPoint num="1" id="3355" /> -<TGConnectingPoint num="2" id="3356" /> -<TGConnectingPoint num="3" id="3357" /> -<TGConnectingPoint num="4" id="3358" /> -<TGConnectingPoint num="5" id="3359" /> -<TGConnectingPoint num="6" id="3360" /> -<TGConnectingPoint num="7" id="3361" /> -<TGConnectingPoint num="8" id="3362" /> -<TGConnectingPoint num="9" id="3363" /> -</SUBCOMPONENT> - - -</AVATARStateMachineDiagramPanel> - -<AVATARStateMachineDiagramPanel name="TeaButton" minX="10" maxX="1400" minY="10" maxY="900" > -<CONNECTOR type="5102" id="3444" index="0" uid="b6b72041-1a86-4a7e-b183-a1063714fc5a" > -<cdparam x="363" y="193" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="3443" /> -<P1 x="363" y="204" id="3460" /> -<P2 x="362" y="257" id="3471" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3442" index="7" uid="4eff576d-2797-4cd7-8b4a-9f8d3eedbfa3" > -<father id="3444" num="0" /> -<cdparam x="380" y="228" /> -<sizeparam width="145" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3438" /> -<TGConnectingPoint num="1" id="3439" /> -<TGConnectingPoint num="2" id="3440" /> -<TGConnectingPoint num="3" id="3441" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="mechanicalDelay" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3451" index="1" uid="55be5b63-5ab7-4c70-82a5-ccb157f1e48e" > -<cdparam x="363" y="150" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3450" /> -<P1 x="363" y="150" id="3549" /> -<P2 x="363" y="174" id="3459" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3449" index="8" uid="dc0ebe3b-67a8-4563-ae0c-619e1c188dbf" > -<father id="3451" num="0" /> -<cdparam x="363" y="190" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3445" /> -<TGConnectingPoint num="1" id="3446" /> -<TGConnectingPoint num="2" id="3447" /> -<TGConnectingPoint num="3" id="3448" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3458" index="2" uid="fbfd2179-4cd4-412d-999c-b51632f9369a" > -<cdparam x="362" y="101" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="3457" /> -<P1 x="362" y="101" id="3616" /> -<P2 x="363" y="120" id="3544" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3456" index="9" uid="b71cbbe8-7a22-4871-8547-0b76c0af9a17" > -<father id="3458" num="0" /> -<cdparam x="362" y="141" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3452" /> -<TGConnectingPoint num="1" id="3453" /> -<TGConnectingPoint num="2" id="3454" /> -<TGConnectingPoint num="3" id="3455" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<COMPONENT type="5103" id="3469" index="3" uid="d4a9c558-0141-43d3-a937-04cd022daa47" > -<cdparam x="340" y="179" /> -<sizeparam width="46" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Send signal" value="push()" /> -<TGConnectingPoint num="0" id="3459" /> -<TGConnectingPoint num="1" id="3460" /> -<TGConnectingPoint num="2" id="3461" /> -<TGConnectingPoint num="3" id="3462" /> -<TGConnectingPoint num="4" id="3463" /> -<TGConnectingPoint num="5" id="3464" /> -<TGConnectingPoint num="6" id="3465" /> -<TGConnectingPoint num="7" id="3466" /> -<TGConnectingPoint num="8" id="3467" /> -<TGConnectingPoint num="9" id="3468" /> -</COMPONENT> - -<COMPONENT type="5106" id="3542" index="4" uid="6ce54c55-bad8-48d1-8f26-da8a04e9aa63" > -<cdparam x="337" y="257" /> -<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="3470" /> -<TGConnectingPoint num="1" id="3471" /> -<TGConnectingPoint num="2" id="3472" /> -<TGConnectingPoint num="3" id="3473" /> -<TGConnectingPoint num="4" id="3474" /> -<TGConnectingPoint num="5" id="3475" /> -<TGConnectingPoint num="6" id="3476" /> -<TGConnectingPoint num="7" id="3477" /> -<TGConnectingPoint num="8" id="3478" /> -<TGConnectingPoint num="9" id="3479" /> -<TGConnectingPoint num="10" id="3480" /> -<TGConnectingPoint num="11" id="3481" /> -<TGConnectingPoint num="12" id="3482" /> -<TGConnectingPoint num="13" id="3483" /> -<TGConnectingPoint num="14" id="3484" /> -<TGConnectingPoint num="15" id="3485" /> -<TGConnectingPoint num="16" id="3486" /> -<TGConnectingPoint num="17" id="3487" /> -<TGConnectingPoint num="18" id="3488" /> -<TGConnectingPoint num="19" id="3489" /> -<TGConnectingPoint num="20" id="3490" /> -<TGConnectingPoint num="21" id="3491" /> -<TGConnectingPoint num="22" id="3492" /> -<TGConnectingPoint num="23" id="3493" /> -<TGConnectingPoint num="24" id="3494" /> -<TGConnectingPoint num="25" id="3495" /> -<TGConnectingPoint num="26" id="3496" /> -<TGConnectingPoint num="27" id="3497" /> -<TGConnectingPoint num="28" id="3498" /> -<TGConnectingPoint num="29" id="3499" /> -<TGConnectingPoint num="30" id="3500" /> -<TGConnectingPoint num="31" id="3501" /> -<TGConnectingPoint num="32" id="3502" /> -<TGConnectingPoint num="33" id="3503" /> -<TGConnectingPoint num="34" id="3504" /> -<TGConnectingPoint num="35" id="3505" /> -<TGConnectingPoint num="36" id="3506" /> -<TGConnectingPoint num="37" id="3507" /> -<TGConnectingPoint num="38" id="3508" /> -<TGConnectingPoint num="39" id="3509" /> -<TGConnectingPoint num="40" id="3510" /> -<TGConnectingPoint num="41" id="3511" /> -<TGConnectingPoint num="42" id="3512" /> -<TGConnectingPoint num="43" id="3513" /> -<TGConnectingPoint num="44" id="3514" /> -<TGConnectingPoint num="45" id="3515" /> -<TGConnectingPoint num="46" id="3516" /> -<TGConnectingPoint num="47" id="3517" /> -<TGConnectingPoint num="48" id="3518" /> -<TGConnectingPoint num="49" id="3519" /> -<TGConnectingPoint num="50" id="3520" /> -<TGConnectingPoint num="51" id="3521" /> -<TGConnectingPoint num="52" id="3522" /> -<TGConnectingPoint num="53" id="3523" /> -<TGConnectingPoint num="54" id="3524" /> -<TGConnectingPoint num="55" id="3525" /> -<TGConnectingPoint num="56" id="3526" /> -<TGConnectingPoint num="57" id="3527" /> -<TGConnectingPoint num="58" id="3528" /> -<TGConnectingPoint num="59" id="3529" /> -<TGConnectingPoint num="60" id="3530" /> -<TGConnectingPoint num="61" id="3531" /> -<TGConnectingPoint num="62" id="3532" /> -<TGConnectingPoint num="63" id="3533" /> -<TGConnectingPoint num="64" id="3534" /> -<TGConnectingPoint num="65" id="3535" /> -<TGConnectingPoint num="66" id="3536" /> -<TGConnectingPoint num="67" id="3537" /> -<TGConnectingPoint num="68" id="3538" /> -<TGConnectingPoint num="69" id="3539" /> -<TGConnectingPoint num="70" id="3540" /> -<TGConnectingPoint num="71" id="3541" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="3615" index="5" uid="922672f4-2b7f-4eec-8310-397ed6e8ae02" > -<cdparam x="338" y="120" /> -<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="3543" /> -<TGConnectingPoint num="1" id="3544" /> -<TGConnectingPoint num="2" id="3545" /> -<TGConnectingPoint num="3" id="3546" /> -<TGConnectingPoint num="4" id="3547" /> -<TGConnectingPoint num="5" id="3548" /> -<TGConnectingPoint num="6" id="3549" /> -<TGConnectingPoint num="7" id="3550" /> -<TGConnectingPoint num="8" id="3551" /> -<TGConnectingPoint num="9" id="3552" /> -<TGConnectingPoint num="10" id="3553" /> -<TGConnectingPoint num="11" id="3554" /> -<TGConnectingPoint num="12" id="3555" /> -<TGConnectingPoint num="13" id="3556" /> -<TGConnectingPoint num="14" id="3557" /> -<TGConnectingPoint num="15" id="3558" /> -<TGConnectingPoint num="16" id="3559" /> -<TGConnectingPoint num="17" id="3560" /> -<TGConnectingPoint num="18" id="3561" /> -<TGConnectingPoint num="19" id="3562" /> -<TGConnectingPoint num="20" id="3563" /> -<TGConnectingPoint num="21" id="3564" /> -<TGConnectingPoint num="22" id="3565" /> -<TGConnectingPoint num="23" id="3566" /> -<TGConnectingPoint num="24" id="3567" /> -<TGConnectingPoint num="25" id="3568" /> -<TGConnectingPoint num="26" id="3569" /> -<TGConnectingPoint num="27" id="3570" /> -<TGConnectingPoint num="28" id="3571" /> -<TGConnectingPoint num="29" id="3572" /> -<TGConnectingPoint num="30" id="3573" /> -<TGConnectingPoint num="31" id="3574" /> -<TGConnectingPoint num="32" id="3575" /> -<TGConnectingPoint num="33" id="3576" /> -<TGConnectingPoint num="34" id="3577" /> -<TGConnectingPoint num="35" id="3578" /> -<TGConnectingPoint num="36" id="3579" /> -<TGConnectingPoint num="37" id="3580" /> -<TGConnectingPoint num="38" id="3581" /> -<TGConnectingPoint num="39" id="3582" /> -<TGConnectingPoint num="40" id="3583" /> -<TGConnectingPoint num="41" id="3584" /> -<TGConnectingPoint num="42" id="3585" /> -<TGConnectingPoint num="43" id="3586" /> -<TGConnectingPoint num="44" id="3587" /> -<TGConnectingPoint num="45" id="3588" /> -<TGConnectingPoint num="46" id="3589" /> -<TGConnectingPoint num="47" id="3590" /> -<TGConnectingPoint num="48" id="3591" /> -<TGConnectingPoint num="49" id="3592" /> -<TGConnectingPoint num="50" id="3593" /> -<TGConnectingPoint num="51" id="3594" /> -<TGConnectingPoint num="52" id="3595" /> -<TGConnectingPoint num="53" id="3596" /> -<TGConnectingPoint num="54" id="3597" /> -<TGConnectingPoint num="55" id="3598" /> -<TGConnectingPoint num="56" id="3599" /> -<TGConnectingPoint num="57" id="3600" /> -<TGConnectingPoint num="58" id="3601" /> -<TGConnectingPoint num="59" id="3602" /> -<TGConnectingPoint num="60" id="3603" /> -<TGConnectingPoint num="61" id="3604" /> -<TGConnectingPoint num="62" id="3605" /> -<TGConnectingPoint num="63" id="3606" /> -<TGConnectingPoint num="64" id="3607" /> -<TGConnectingPoint num="65" id="3608" /> -<TGConnectingPoint num="66" id="3609" /> -<TGConnectingPoint num="67" id="3610" /> -<TGConnectingPoint num="68" id="3611" /> -<TGConnectingPoint num="69" id="3612" /> -<TGConnectingPoint num="70" id="3613" /> -<TGConnectingPoint num="71" id="3614" /> -<color value="-3342490" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5100" id="3617" index="6" uid="4dd96fd3-bb7e-4733-8f80-c8025d0affae" > -<cdparam x="355" y="81" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="3616" /> -</COMPONENT> - - -</AVATARStateMachineDiagramPanel> - -<AVATARStateMachineDiagramPanel name="CoffeeMachine" minX="10" maxX="1400" minY="10" maxY="1400" > -<CONNECTOR type="5102" id="3624" index="0" uid="337b5408-bff6-4276-ab18-13e08d8e6eed" > -<cdparam x="357" y="854" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<TGConnectingPoint num="0" id="3623" /> -<P1 x="357" y="854" id="4243" /> -<P2 x="350" y="903" id="4092" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3622" index="32" uid="4429f9b6-d417-4a3a-a891-fe7728ba5e2d" > -<father id="3624" num="0" /> -<cdparam x="353" y="878" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3618" /> -<TGConnectingPoint num="1" id="3619" /> -<TGConnectingPoint num="2" id="3620" /> -<TGConnectingPoint num="3" id="3621" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3631" index="1" uid="c7e8cb96-e451-49ce-9cc9-6ec084226c22" > -<cdparam x="303" y="40" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="3630" /> -<P1 x="303" y="40" id="4016" /> -<P2 x="401" y="103" id="3748" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3629" index="33" uid="1125c964-453f-4528-bc32-c8ee4c2ea64e" > -<father id="3631" num="0" /> -<cdparam x="303" y="80" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3625" /> -<TGConnectingPoint num="1" id="3626" /> -<TGConnectingPoint num="2" id="3627" /> -<TGConnectingPoint num="3" id="3628" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3638" index="2" uid="fc30809c-b1b6-4b45-84f0-7974cfc18ef4" > -<cdparam x="364" y="258" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3637" /> -<P1 x="363" y="257" id="4024" /> -<P2 x="367" y="291" id="3837" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3636" index="34" uid="0603efd4-6d7d-47a2-9caa-b415cabc5de3" > -<father id="3638" num="0" /> -<cdparam x="364" y="298" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3632" /> -<TGConnectingPoint num="1" id="3633" /> -<TGConnectingPoint num="2" id="3634" /> -<TGConnectingPoint num="3" id="3635" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3645" index="3" uid="9550af17-6cff-4985-a9bf-c5a20e1fbdde" > -<cdparam x="370" y="315" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="3644" /> -<P1 x="367" y="321" id="3838" /> -<P2 x="370" y="343" id="3944" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3643" index="35" uid="b559eedf-0c1b-4649-af86-002b18b6cec0" > -<father id="3645" num="0" /> -<cdparam x="173" y="330" /> -<sizeparam width="168" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3639" /> -<TGConnectingPoint num="1" id="3640" /> -<TGConnectingPoint num="2" id="3641" /> -<TGConnectingPoint num="3" id="3642" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -<actions value="nbOfCoins = nbOfCoins + x" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3652" index="4" uid="5aca63f4-637a-4446-bf35-5ceca5b2b5b7" > -<cdparam x="331" y="379" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3651" /> -<P1 x="331" y="383" id="3957" /> -<P2 x="338" y="430" id="3859" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3650" index="36" uid="95f680e7-c6de-4b21-9cc3-240c458f5232" > -<father id="3652" num="0" /> -<cdparam x="331" y="419" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3646" /> -<TGConnectingPoint num="1" id="3647" /> -<TGConnectingPoint num="2" id="3648" /> -<TGConnectingPoint num="3" id="3649" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3659" index="5" uid="eabfbfd7-d326-4844-98e5-c9d776fb3af7" > -<cdparam x="304" y="474" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="3658" /> -<P1 x="338" y="460" id="3860" /> -<P2 x="366" y="530" id="4492" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3657" index="37" uid="26605bc0-b58e-4341-8d3a-ed61576c60e7" > -<father id="3659" num="0" /> -<cdparam x="352" y="503" /> -<sizeparam width="85" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3653" /> -<TGConnectingPoint num="1" id="3654" /> -<TGConnectingPoint num="2" id="3655" /> -<TGConnectingPoint num="3" id="3656" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -<actions value="nbOfCoins = 2" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3666" index="6" uid="f81da3ef-51ca-491d-b645-4672ae80a670" > -<cdparam x="409" y="383" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3665" /> -<P1 x="449" y="363" id="3947" /> -<P2 x="705" y="419" id="3873" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3664" index="38" uid="6da8ef68-bfcd-4555-a437-382dba9ed0fa" > -<father id="3666" num="0" /> -<cdparam x="472" y="361" /> -<sizeparam width="100" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3660" /> -<TGConnectingPoint num="1" id="3661" /> -<TGConnectingPoint num="2" id="3662" /> -<TGConnectingPoint num="3" id="3663" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="coinDelay" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="0.1" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3673" index="7" uid="125fbb03-8eb0-4874-930b-4795cc51a421" > -<cdparam x="728" y="501" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="3672" /> -<P1 x="760" y="501" id="3849" /> -<P2 x="760" y="536" id="4165" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3671" index="39" uid="c78ca8fa-a504-4c17-b0fd-1b441e700bc9" > -<father id="3673" num="0" /> -<cdparam x="768" y="523" /> -<sizeparam width="89" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3667" /> -<TGConnectingPoint num="1" id="3668" /> -<TGConnectingPoint num="2" id="3669" /> -<TGConnectingPoint num="3" id="3670" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -<actions value="nbOfCoins = 0" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3680" index="8" uid="f110ec7e-786f-4874-aa4c-a5a8452e3bec" > -<cdparam x="341" y="575" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="3679" /> -<P1 x="316" y="579" id="4405" /> -<P2 x="315" y="595" id="4408" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3678" index="40" uid="a28ea541-81ef-4713-8ea6-c7f5ba166daa" > -<father id="3680" num="0" /> -<cdparam x="341" y="615" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3674" /> -<TGConnectingPoint num="1" id="3675" /> -<TGConnectingPoint num="2" id="3676" /> -<TGConnectingPoint num="3" id="3677" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3687" index="9" uid="ec9882f1-0571-4a17-8450-f90cc3541165" > -<cdparam x="290" y="620" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3686" /> -<P1 x="282" y="635" id="4421" /> -<P2 x="181" y="682" id="4394" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3685" index="41" uid="2484893a-3443-40dc-8f74-e1443edc2bde" > -<father id="3687" num="0" /> -<cdparam x="290" y="660" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3681" /> -<TGConnectingPoint num="1" id="3682" /> -<TGConnectingPoint num="2" id="3683" /> -<TGConnectingPoint num="3" id="3684" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3694" index="10" uid="fd458a6e-b8c4-40f4-9bcf-7c278afd59f0" > -<cdparam x="209" y="704" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to stop state" value="null" /> -<TGConnectingPoint num="0" id="3693" /> -<P1 x="181" y="712" id="4395" /> -<P2 x="181" y="811" id="4311" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3692" index="42" uid="6f6c6e3e-0702-4e99-b1e6-da999207526e" > -<father id="3694" num="0" /> -<cdparam x="93" y="742" /> -<sizeparam width="288" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3688" /> -<TGConnectingPoint num="1" id="3689" /> -<TGConnectingPoint num="2" id="3690" /> -<TGConnectingPoint num="3" id="3691" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -<actions value="nbOfCoins = 0" enabled="true"/> -<actions value="beverageReady()" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3701" index="11" uid="3c5402fb-df1c-436c-b72e-b1dd1b9edfce" > -<cdparam x="356" y="620" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3700" /> -<P1 x="348" y="635" id="4422" /> -<P2 x="353" y="682" id="4480" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3699" index="43" uid="18f77c23-d770-43b2-a9ca-161802d8a987" > -<father id="3701" num="0" /> -<cdparam x="356" y="660" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3695" /> -<TGConnectingPoint num="1" id="3696" /> -<TGConnectingPoint num="2" id="3697" /> -<TGConnectingPoint num="3" id="3698" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3708" index="12" uid="1ab7405e-ff9d-48d1-a671-8176c9b67d36" > -<cdparam x="416" y="700" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to stop state" value="null" /> -<TGConnectingPoint num="0" id="3707" /> -<P1 x="353" y="712" id="4481" /> -<P2 x="357" y="805" id="4238" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3706" index="44" uid="a2a44349-5c04-4880-b1fb-76fa61d0f788" > -<father id="3708" num="0" /> -<cdparam x="274" y="762" /> -<sizeparam width="252" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3702" /> -<TGConnectingPoint num="1" id="3703" /> -<TGConnectingPoint num="2" id="3704" /> -<TGConnectingPoint num="3" id="3705" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -<actions value="nbOfCoins = 0" enabled="true"/> -<actions value="beverageReady()" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3715" index="13" uid="cee896e5-8c0f-4b50-8b35-1f184209456c" > -<cdparam x="616" y="714" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3714" /> -<P1 x="381" y="615" id="4411" /> -<P2 x="497" y="655" id="4383" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3713" index="45" uid="1286b08f-20a2-44ff-9ae2-d3d09cf02647" > -<father id="3715" num="0" /> -<cdparam x="456" y="603" /> -<sizeparam width="100" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3709" /> -<TGConnectingPoint num="1" id="3710" /> -<TGConnectingPoint num="2" id="3711" /> -<TGConnectingPoint num="3" id="3712" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="coinDelay" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3724" index="14" uid="d927b2cb-520a-4566-9900-87c60e941505" > -<cdparam x="542" y="656" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to stop state" value="null" /> -<TGConnectingPoint num="0" id="3722" /> -<TGConnectingPoint num="1" id="3723" /> -<P1 x="497" y="685" id="4384" /> -<P2 x="384" y="903" id="4100" /> -<Point x="503" y="892" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3716" index="46" uid="97f05691-fdba-4c23-8f17-efc594de748a" > -<father id="3724" num="0" /> -<cdparam x="503" y="892" /> -<sizeparam width="8" height="8" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="point " value="null" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="-1" id="3721" index="47" uid="89079180-d69e-4fbf-9f0d-538fe96f80b6" > -<father id="3724" num="1" /> -<cdparam x="481" y="707" /> -<sizeparam width="89" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3717" /> -<TGConnectingPoint num="1" id="3718" /> -<TGConnectingPoint num="2" id="3719" /> -<TGConnectingPoint num="3" id="3720" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -<actions value="nbOfCoins = 0" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3731" index="15" uid="dbe5265f-c3eb-4de1-8a5c-ee149db3ca08" > -<cdparam x="752" y="443" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="3730" /> -<P1 x="760" y="444" id="3876" /> -<P2 x="760" y="471" id="3848" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3729" index="48" uid="bfad4a28-4646-4532-b3dc-40f159448f2a" > -<father id="3731" num="0" /> -<cdparam x="752" y="483" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3725" /> -<TGConnectingPoint num="1" id="3726" /> -<TGConnectingPoint num="2" id="3727" /> -<TGConnectingPoint num="3" id="3728" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="118" id="3732" index="16" uid="16a00ddb-ec76-43d7-b039-f31426282506" > -<cdparam x="433" y="238" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<P1 x="473" y="237" id="4054" /> -<P2 x="533" y="237" id="3823" /> -<AutomaticDrawing data="false" /> -</CONNECTOR> -<CONNECTOR type="5102" id="3739" index="17" uid="ffb36ef5-a87f-4098-9e53-6b9aa5d9f2bf" > -<cdparam x="187" y="857" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<TGConnectingPoint num="0" id="3738" /> -<P1 x="181" y="860" id="4316" /> -<P2 x="282" y="913" id="4101" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3737" index="49" uid="96753e12-f1ba-45d7-9fc5-e71fe53eb22b" > -<father id="3739" num="0" /> -<cdparam x="234" y="885" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3733" /> -<TGConnectingPoint num="1" id="3734" /> -<TGConnectingPoint num="2" id="3735" /> -<TGConnectingPoint num="3" id="3736" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="3746" index="18" uid="93090700-c027-4c95-a6fc-ae15eeef85fa" > -<cdparam x="413" y="153" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector" value="null" /> -<TGConnectingPoint num="0" id="3745" /> -<P1 x="413" y="153" id="3809" /> -<P2 x="418" y="217" id="4059" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="3744" index="50" uid="b8319ad0-c421-4b15-a1de-406ea159ea51" > -<father id="3746" num="0" /> -<cdparam x="415" y="185" /> -<sizeparam width="10" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="3740" /> -<TGConnectingPoint num="1" id="3741" /> -<TGConnectingPoint num="2" id="3742" /> -<TGConnectingPoint num="3" id="3743" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<COMPONENT type="5106" id="3819" index="19" uid="0a190560-5a2c-4075-b292-670712eee324" > -<cdparam x="351" y="103" /> -<sizeparam width="100" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="state0" value="state0" /> -<TGConnectingPoint num="0" id="3747" /> -<TGConnectingPoint num="1" id="3748" /> -<TGConnectingPoint num="2" id="3749" /> -<TGConnectingPoint num="3" id="3750" /> -<TGConnectingPoint num="4" id="3751" /> -<TGConnectingPoint num="5" id="3752" /> -<TGConnectingPoint num="6" id="3753" /> -<TGConnectingPoint num="7" id="3754" /> -<TGConnectingPoint num="8" id="3755" /> -<TGConnectingPoint num="9" id="3756" /> -<TGConnectingPoint num="10" id="3757" /> -<TGConnectingPoint num="11" id="3758" /> -<TGConnectingPoint num="12" id="3759" /> -<TGConnectingPoint num="13" id="3760" /> -<TGConnectingPoint num="14" id="3761" /> -<TGConnectingPoint num="15" id="3762" /> -<TGConnectingPoint num="16" id="3763" /> -<TGConnectingPoint num="17" id="3764" /> -<TGConnectingPoint num="18" id="3765" /> -<TGConnectingPoint num="19" id="3766" /> -<TGConnectingPoint num="20" id="3767" /> -<TGConnectingPoint num="21" id="3768" /> -<TGConnectingPoint num="22" id="3769" /> -<TGConnectingPoint num="23" id="3770" /> -<TGConnectingPoint num="24" id="3771" /> -<TGConnectingPoint num="25" id="3772" /> -<TGConnectingPoint num="26" id="3773" /> -<TGConnectingPoint num="27" id="3774" /> -<TGConnectingPoint num="28" id="3775" /> -<TGConnectingPoint num="29" id="3776" /> -<TGConnectingPoint num="30" id="3777" /> -<TGConnectingPoint num="31" id="3778" /> -<TGConnectingPoint num="32" id="3779" /> -<TGConnectingPoint num="33" id="3780" /> -<TGConnectingPoint num="34" id="3781" /> -<TGConnectingPoint num="35" id="3782" /> -<TGConnectingPoint num="36" id="3783" /> -<TGConnectingPoint num="37" id="3784" /> -<TGConnectingPoint num="38" id="3785" /> -<TGConnectingPoint num="39" id="3786" /> -<TGConnectingPoint num="40" id="3787" /> -<TGConnectingPoint num="41" id="3788" /> -<TGConnectingPoint num="42" id="3789" /> -<TGConnectingPoint num="43" id="3790" /> -<TGConnectingPoint num="44" id="3791" /> -<TGConnectingPoint num="45" id="3792" /> -<TGConnectingPoint num="46" id="3793" /> -<TGConnectingPoint num="47" id="3794" /> -<TGConnectingPoint num="48" id="3795" /> -<TGConnectingPoint num="49" id="3796" /> -<TGConnectingPoint num="50" id="3797" /> -<TGConnectingPoint num="51" id="3798" /> -<TGConnectingPoint num="52" id="3799" /> -<TGConnectingPoint num="53" id="3800" /> -<TGConnectingPoint num="54" id="3801" /> -<TGConnectingPoint num="55" id="3802" /> -<TGConnectingPoint num="56" id="3803" /> -<TGConnectingPoint num="57" id="3804" /> -<TGConnectingPoint num="58" id="3805" /> -<TGConnectingPoint num="59" id="3806" /> -<TGConnectingPoint num="60" id="3807" /> -<TGConnectingPoint num="61" id="3808" /> -<TGConnectingPoint num="62" id="3809" /> -<TGConnectingPoint num="63" id="3810" /> -<TGConnectingPoint num="64" id="3811" /> -<TGConnectingPoint num="65" id="3812" /> -<TGConnectingPoint num="66" id="3813" /> -<TGConnectingPoint num="67" id="3814" /> -<TGConnectingPoint num="68" id="3815" /> -<TGConnectingPoint num="69" id="3816" /> -<TGConnectingPoint num="70" id="3817" /> -<TGConnectingPoint num="71" id="3818" /> -<accessibility /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="301" id="3836" index="20" uid="0fc38199-404b-4919-af36-91d94e67bd82" > -<cdparam x="533" y="230" /> -<sizeparam width="100" height="15" minWidth="20" minHeight="10" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="UML Note" value="Activity1.docx -" /> -<TGConnectingPoint num="0" id="3820" /> -<TGConnectingPoint num="1" id="3821" /> -<TGConnectingPoint num="2" id="3822" /> -<TGConnectingPoint num="3" id="3823" /> -<TGConnectingPoint num="4" id="3824" /> -<TGConnectingPoint num="5" id="3825" /> -<TGConnectingPoint num="6" id="3826" /> -<TGConnectingPoint num="7" id="3827" /> -<TGConnectingPoint num="8" id="3828" /> -<TGConnectingPoint num="9" id="3829" /> -<TGConnectingPoint num="10" id="3830" /> -<TGConnectingPoint num="11" id="3831" /> -<TGConnectingPoint num="12" id="3832" /> -<TGConnectingPoint num="13" id="3833" /> -<TGConnectingPoint num="14" id="3834" /> -<TGConnectingPoint num="15" id="3835" /> -<extraparam> -<Line value="Activity1.docx" /> -</extraparam> -</COMPONENT> - -<COMPONENT type="5104" id="3847" index="21" uid="d83a71f6-2c21-4d03-a0df-a3cd72c20ffa" > -<cdparam x="329" y="296" /> -<sizeparam width="76" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="Receive signal" value="getCoin(x)" /> -<TGConnectingPoint num="0" id="3837" /> -<TGConnectingPoint num="1" id="3838" /> -<TGConnectingPoint num="2" id="3839" /> -<TGConnectingPoint num="3" id="3840" /> -<TGConnectingPoint num="4" id="3841" /> -<TGConnectingPoint num="5" id="3842" /> -<TGConnectingPoint num="6" id="3843" /> -<TGConnectingPoint num="7" id="3844" /> -<TGConnectingPoint num="8" id="3845" /> -<TGConnectingPoint num="9" id="3846" /> -</COMPONENT> - -<COMPONENT type="5103" id="3858" index="22" uid="d69a1f8e-85ca-49cd-9f8c-a853348e5be5" > -<cdparam x="695" y="476" /> -<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> -<TGConnectingPoint num="0" id="3848" /> -<TGConnectingPoint num="1" id="3849" /> -<TGConnectingPoint num="2" id="3850" /> -<TGConnectingPoint num="3" id="3851" /> -<TGConnectingPoint num="4" id="3852" /> -<TGConnectingPoint num="5" id="3853" /> -<TGConnectingPoint num="6" id="3854" /> -<TGConnectingPoint num="7" id="3855" /> -<TGConnectingPoint num="8" id="3856" /> -<TGConnectingPoint num="9" id="3857" /> -</COMPONENT> - -<COMPONENT type="5104" id="3869" index="23" uid="90146507-882f-4b3d-b9ac-1db93cca92c4" > -<cdparam x="300" y="435" /> -<sizeparam width="76" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="Receive signal" value="getCoin(x)" /> -<TGConnectingPoint num="0" id="3859" /> -<TGConnectingPoint num="1" id="3860" /> -<TGConnectingPoint num="2" id="3861" /> -<TGConnectingPoint num="3" id="3862" /> -<TGConnectingPoint num="4" id="3863" /> -<TGConnectingPoint num="5" id="3864" /> -<TGConnectingPoint num="6" id="3865" /> -<TGConnectingPoint num="7" id="3866" /> -<TGConnectingPoint num="8" id="3867" /> -<TGConnectingPoint num="9" id="3868" /> -</COMPONENT> - -<COMPONENT type="5106" id="3942" index="24" uid="f7f6cc4e-efaa-4ffe-aeef-5e22694d971c" > -<cdparam x="705" y="394" /> -<sizeparam width="110" height="50" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="state0" value="EjectState" /> -<TGConnectingPoint num="0" id="3870" /> -<TGConnectingPoint num="1" id="3871" /> -<TGConnectingPoint num="2" id="3872" /> -<TGConnectingPoint num="3" id="3873" /> -<TGConnectingPoint num="4" id="3874" /> -<TGConnectingPoint num="5" id="3875" /> -<TGConnectingPoint num="6" id="3876" /> -<TGConnectingPoint num="7" id="3877" /> -<TGConnectingPoint num="8" id="3878" /> -<TGConnectingPoint num="9" id="3879" /> -<TGConnectingPoint num="10" id="3880" /> -<TGConnectingPoint num="11" id="3881" /> -<TGConnectingPoint num="12" id="3882" /> -<TGConnectingPoint num="13" id="3883" /> -<TGConnectingPoint num="14" id="3884" /> -<TGConnectingPoint num="15" id="3885" /> -<TGConnectingPoint num="16" id="3886" /> -<TGConnectingPoint num="17" id="3887" /> -<TGConnectingPoint num="18" id="3888" /> -<TGConnectingPoint num="19" id="3889" /> -<TGConnectingPoint num="20" id="3890" /> -<TGConnectingPoint num="21" id="3891" /> -<TGConnectingPoint num="22" id="3892" /> -<TGConnectingPoint num="23" id="3893" /> -<TGConnectingPoint num="24" id="3894" /> -<TGConnectingPoint num="25" id="3895" /> -<TGConnectingPoint num="26" id="3896" /> -<TGConnectingPoint num="27" id="3897" /> -<TGConnectingPoint num="28" id="3898" /> -<TGConnectingPoint num="29" id="3899" /> -<TGConnectingPoint num="30" id="3900" /> -<TGConnectingPoint num="31" id="3901" /> -<TGConnectingPoint num="32" id="3902" /> -<TGConnectingPoint num="33" id="3903" /> -<TGConnectingPoint num="34" id="3904" /> -<TGConnectingPoint num="35" id="3905" /> -<TGConnectingPoint num="36" id="3906" /> -<TGConnectingPoint num="37" id="3907" /> -<TGConnectingPoint num="38" id="3908" /> -<TGConnectingPoint num="39" id="3909" /> -<TGConnectingPoint num="40" id="3910" /> -<TGConnectingPoint num="41" id="3911" /> -<TGConnectingPoint num="42" id="3912" /> -<TGConnectingPoint num="43" id="3913" /> -<TGConnectingPoint num="44" id="3914" /> -<TGConnectingPoint num="45" id="3915" /> -<TGConnectingPoint num="46" id="3916" /> -<TGConnectingPoint num="47" id="3917" /> -<TGConnectingPoint num="48" id="3918" /> -<TGConnectingPoint num="49" id="3919" /> -<TGConnectingPoint num="50" id="3920" /> -<TGConnectingPoint num="51" id="3921" /> -<TGConnectingPoint num="52" id="3922" /> -<TGConnectingPoint num="53" id="3923" /> -<TGConnectingPoint num="54" id="3924" /> -<TGConnectingPoint num="55" id="3925" /> -<TGConnectingPoint num="56" id="3926" /> -<TGConnectingPoint num="57" id="3927" /> -<TGConnectingPoint num="58" id="3928" /> -<TGConnectingPoint num="59" id="3929" /> -<TGConnectingPoint num="60" id="3930" /> -<TGConnectingPoint num="61" id="3931" /> -<TGConnectingPoint num="62" id="3932" /> -<TGConnectingPoint num="63" id="3933" /> -<TGConnectingPoint num="64" id="3934" /> -<TGConnectingPoint num="65" id="3935" /> -<TGConnectingPoint num="66" id="3936" /> -<TGConnectingPoint num="67" id="3937" /> -<TGConnectingPoint num="68" id="3938" /> -<TGConnectingPoint num="69" id="3939" /> -<TGConnectingPoint num="70" id="3940" /> -<TGConnectingPoint num="71" id="3941" /> -<color value="-13261" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="4015" index="25" uid="0e66f92f-ee5c-400a-9368-9ec8b591b9ac" > -<cdparam x="292" y="343" /> -<sizeparam width="157" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="state0" value="WaitingForSecondCoin" /> -<TGConnectingPoint num="0" id="3943" /> -<TGConnectingPoint num="1" id="3944" /> -<TGConnectingPoint num="2" id="3945" /> -<TGConnectingPoint num="3" id="3946" /> -<TGConnectingPoint num="4" id="3947" /> -<TGConnectingPoint num="5" id="3948" /> -<TGConnectingPoint num="6" id="3949" /> -<TGConnectingPoint num="7" id="3950" /> -<TGConnectingPoint num="8" id="3951" /> -<TGConnectingPoint num="9" id="3952" /> -<TGConnectingPoint num="10" id="3953" /> -<TGConnectingPoint num="11" id="3954" /> -<TGConnectingPoint num="12" id="3955" /> -<TGConnectingPoint num="13" id="3956" /> -<TGConnectingPoint num="14" id="3957" /> -<TGConnectingPoint num="15" id="3958" /> -<TGConnectingPoint num="16" id="3959" /> -<TGConnectingPoint num="17" id="3960" /> -<TGConnectingPoint num="18" id="3961" /> -<TGConnectingPoint num="19" id="3962" /> -<TGConnectingPoint num="20" id="3963" /> -<TGConnectingPoint num="21" id="3964" /> -<TGConnectingPoint num="22" id="3965" /> -<TGConnectingPoint num="23" id="3966" /> -<TGConnectingPoint num="24" id="3967" /> -<TGConnectingPoint num="25" id="3968" /> -<TGConnectingPoint num="26" id="3969" /> -<TGConnectingPoint num="27" id="3970" /> -<TGConnectingPoint num="28" id="3971" /> -<TGConnectingPoint num="29" id="3972" /> -<TGConnectingPoint num="30" id="3973" /> -<TGConnectingPoint num="31" id="3974" /> -<TGConnectingPoint num="32" id="3975" /> -<TGConnectingPoint num="33" id="3976" /> -<TGConnectingPoint num="34" id="3977" /> -<TGConnectingPoint num="35" id="3978" /> -<TGConnectingPoint num="36" id="3979" /> -<TGConnectingPoint num="37" id="3980" /> -<TGConnectingPoint num="38" id="3981" /> -<TGConnectingPoint num="39" id="3982" /> -<TGConnectingPoint num="40" id="3983" /> -<TGConnectingPoint num="41" id="3984" /> -<TGConnectingPoint num="42" id="3985" /> -<TGConnectingPoint num="43" id="3986" /> -<TGConnectingPoint num="44" id="3987" /> -<TGConnectingPoint num="45" id="3988" /> -<TGConnectingPoint num="46" id="3989" /> -<TGConnectingPoint num="47" id="3990" /> -<TGConnectingPoint num="48" id="3991" /> -<TGConnectingPoint num="49" id="3992" /> -<TGConnectingPoint num="50" id="3993" /> -<TGConnectingPoint num="51" id="3994" /> -<TGConnectingPoint num="52" id="3995" /> -<TGConnectingPoint num="53" id="3996" /> -<TGConnectingPoint num="54" id="3997" /> -<TGConnectingPoint num="55" id="3998" /> -<TGConnectingPoint num="56" id="3999" /> -<TGConnectingPoint num="57" id="4000" /> -<TGConnectingPoint num="58" id="4001" /> -<TGConnectingPoint num="59" id="4002" /> -<TGConnectingPoint num="60" id="4003" /> -<TGConnectingPoint num="61" id="4004" /> -<TGConnectingPoint num="62" id="4005" /> -<TGConnectingPoint num="63" id="4006" /> -<TGConnectingPoint num="64" id="4007" /> -<TGConnectingPoint num="65" id="4008" /> -<TGConnectingPoint num="66" id="4009" /> -<TGConnectingPoint num="67" id="4010" /> -<TGConnectingPoint num="68" id="4011" /> -<TGConnectingPoint num="69" id="4012" /> -<TGConnectingPoint num="70" id="4013" /> -<TGConnectingPoint num="71" id="4014" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5100" id="4017" index="26" uid="cd96e981-7ab7-4452-93eb-43b6ba735715" > -<cdparam x="296" y="20" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="4016" /> -</COMPONENT> - -<COMPONENT type="5106" id="4090" index="27" uid="eeabd234-3d25-4fee-b660-71f9833d42c0" > -<cdparam x="253" y="217" /> -<sizeparam width="220" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="state0" value="WaitingForFirstCoin" /> -<TGConnectingPoint num="0" id="4018" /> -<TGConnectingPoint num="1" id="4019" /> -<TGConnectingPoint num="2" id="4020" /> -<TGConnectingPoint num="3" id="4021" /> -<TGConnectingPoint num="4" id="4022" /> -<TGConnectingPoint num="5" id="4023" /> -<TGConnectingPoint num="6" id="4024" /> -<TGConnectingPoint num="7" id="4025" /> -<TGConnectingPoint num="8" id="4026" /> -<TGConnectingPoint num="9" id="4027" /> -<TGConnectingPoint num="10" id="4028" /> -<TGConnectingPoint num="11" id="4029" /> -<TGConnectingPoint num="12" id="4030" /> -<TGConnectingPoint num="13" id="4031" /> -<TGConnectingPoint num="14" id="4032" /> -<TGConnectingPoint num="15" id="4033" /> -<TGConnectingPoint num="16" id="4034" /> -<TGConnectingPoint num="17" id="4035" /> -<TGConnectingPoint num="18" id="4036" /> -<TGConnectingPoint num="19" id="4037" /> -<TGConnectingPoint num="20" id="4038" /> -<TGConnectingPoint num="21" id="4039" /> -<TGConnectingPoint num="22" id="4040" /> -<TGConnectingPoint num="23" id="4041" /> -<TGConnectingPoint num="24" id="4042" /> -<TGConnectingPoint num="25" id="4043" /> -<TGConnectingPoint num="26" id="4044" /> -<TGConnectingPoint num="27" id="4045" /> -<TGConnectingPoint num="28" id="4046" /> -<TGConnectingPoint num="29" id="4047" /> -<TGConnectingPoint num="30" id="4048" /> -<TGConnectingPoint num="31" id="4049" /> -<TGConnectingPoint num="32" id="4050" /> -<TGConnectingPoint num="33" id="4051" /> -<TGConnectingPoint num="34" id="4052" /> -<TGConnectingPoint num="35" id="4053" /> -<TGConnectingPoint num="36" id="4054" /> -<TGConnectingPoint num="37" id="4055" /> -<TGConnectingPoint num="38" id="4056" /> -<TGConnectingPoint num="39" id="4057" /> -<TGConnectingPoint num="40" id="4058" /> -<TGConnectingPoint num="41" id="4059" /> -<TGConnectingPoint num="42" id="4060" /> -<TGConnectingPoint num="43" id="4061" /> -<TGConnectingPoint num="44" id="4062" /> -<TGConnectingPoint num="45" id="4063" /> -<TGConnectingPoint num="46" id="4064" /> -<TGConnectingPoint num="47" id="4065" /> -<TGConnectingPoint num="48" id="4066" /> -<TGConnectingPoint num="49" id="4067" /> -<TGConnectingPoint num="50" id="4068" /> -<TGConnectingPoint num="51" id="4069" /> -<TGConnectingPoint num="52" id="4070" /> -<TGConnectingPoint num="53" id="4071" /> -<TGConnectingPoint num="54" id="4072" /> -<TGConnectingPoint num="55" id="4073" /> -<TGConnectingPoint num="56" id="4074" /> -<TGConnectingPoint num="57" id="4075" /> -<TGConnectingPoint num="58" id="4076" /> -<TGConnectingPoint num="59" id="4077" /> -<TGConnectingPoint num="60" id="4078" /> -<TGConnectingPoint num="61" id="4079" /> -<TGConnectingPoint num="62" id="4080" /> -<TGConnectingPoint num="63" id="4081" /> -<TGConnectingPoint num="64" id="4082" /> -<TGConnectingPoint num="65" id="4083" /> -<TGConnectingPoint num="66" id="4084" /> -<TGConnectingPoint num="67" id="4085" /> -<TGConnectingPoint num="68" id="4086" /> -<TGConnectingPoint num="69" id="4087" /> -<TGConnectingPoint num="70" id="4088" /> -<TGConnectingPoint num="71" id="4089" /> -<latencyCheck /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="4163" index="28" uid="75872e55-4480-49da-9868-b01b1830387d" > -<cdparam x="282" y="903" /> -<sizeparam width="137" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="state0" value="WaitingForFirstCoin" /> -<TGConnectingPoint num="0" id="4091" /> -<TGConnectingPoint num="1" id="4092" /> -<TGConnectingPoint num="2" id="4093" /> -<TGConnectingPoint num="3" id="4094" /> -<TGConnectingPoint num="4" id="4095" /> -<TGConnectingPoint num="5" id="4096" /> -<TGConnectingPoint num="6" id="4097" /> -<TGConnectingPoint num="7" id="4098" /> -<TGConnectingPoint num="8" id="4099" /> -<TGConnectingPoint num="9" id="4100" /> -<TGConnectingPoint num="10" id="4101" /> -<TGConnectingPoint num="11" id="4102" /> -<TGConnectingPoint num="12" id="4103" /> -<TGConnectingPoint num="13" id="4104" /> -<TGConnectingPoint num="14" id="4105" /> -<TGConnectingPoint num="15" id="4106" /> -<TGConnectingPoint num="16" id="4107" /> -<TGConnectingPoint num="17" id="4108" /> -<TGConnectingPoint num="18" id="4109" /> -<TGConnectingPoint num="19" id="4110" /> -<TGConnectingPoint num="20" id="4111" /> -<TGConnectingPoint num="21" id="4112" /> -<TGConnectingPoint num="22" id="4113" /> -<TGConnectingPoint num="23" id="4114" /> -<TGConnectingPoint num="24" id="4115" /> -<TGConnectingPoint num="25" id="4116" /> -<TGConnectingPoint num="26" id="4117" /> -<TGConnectingPoint num="27" id="4118" /> -<TGConnectingPoint num="28" id="4119" /> -<TGConnectingPoint num="29" id="4120" /> -<TGConnectingPoint num="30" id="4121" /> -<TGConnectingPoint num="31" id="4122" /> -<TGConnectingPoint num="32" id="4123" /> -<TGConnectingPoint num="33" id="4124" /> -<TGConnectingPoint num="34" id="4125" /> -<TGConnectingPoint num="35" id="4126" /> -<TGConnectingPoint num="36" id="4127" /> -<TGConnectingPoint num="37" id="4128" /> -<TGConnectingPoint num="38" id="4129" /> -<TGConnectingPoint num="39" id="4130" /> -<TGConnectingPoint num="40" id="4131" /> -<TGConnectingPoint num="41" id="4132" /> -<TGConnectingPoint num="42" id="4133" /> -<TGConnectingPoint num="43" id="4134" /> -<TGConnectingPoint num="44" id="4135" /> -<TGConnectingPoint num="45" id="4136" /> -<TGConnectingPoint num="46" id="4137" /> -<TGConnectingPoint num="47" id="4138" /> -<TGConnectingPoint num="48" id="4139" /> -<TGConnectingPoint num="49" id="4140" /> -<TGConnectingPoint num="50" id="4141" /> -<TGConnectingPoint num="51" id="4142" /> -<TGConnectingPoint num="52" id="4143" /> -<TGConnectingPoint num="53" id="4144" /> -<TGConnectingPoint num="54" id="4145" /> -<TGConnectingPoint num="55" id="4146" /> -<TGConnectingPoint num="56" id="4147" /> -<TGConnectingPoint num="57" id="4148" /> -<TGConnectingPoint num="58" id="4149" /> -<TGConnectingPoint num="59" id="4150" /> -<TGConnectingPoint num="60" id="4151" /> -<TGConnectingPoint num="61" id="4152" /> -<TGConnectingPoint num="62" id="4153" /> -<TGConnectingPoint num="63" id="4154" /> -<TGConnectingPoint num="64" id="4155" /> -<TGConnectingPoint num="65" id="4156" /> -<TGConnectingPoint num="66" id="4157" /> -<TGConnectingPoint num="67" id="4158" /> -<TGConnectingPoint num="68" id="4159" /> -<TGConnectingPoint num="69" id="4160" /> -<TGConnectingPoint num="70" id="4161" /> -<TGConnectingPoint num="71" id="4162" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="4236" index="29" uid="8f37bad1-cd33-4f8f-9321-d72e5e6d32eb" > -<cdparam x="692" y="536" /> -<sizeparam width="137" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="state0" value="WaitingForFirstCoin" /> -<TGConnectingPoint num="0" id="4164" /> -<TGConnectingPoint num="1" id="4165" /> -<TGConnectingPoint num="2" id="4166" /> -<TGConnectingPoint num="3" id="4167" /> -<TGConnectingPoint num="4" id="4168" /> -<TGConnectingPoint num="5" id="4169" /> -<TGConnectingPoint num="6" id="4170" /> -<TGConnectingPoint num="7" id="4171" /> -<TGConnectingPoint num="8" id="4172" /> -<TGConnectingPoint num="9" id="4173" /> -<TGConnectingPoint num="10" id="4174" /> -<TGConnectingPoint num="11" id="4175" /> -<TGConnectingPoint num="12" id="4176" /> -<TGConnectingPoint num="13" id="4177" /> -<TGConnectingPoint num="14" id="4178" /> -<TGConnectingPoint num="15" id="4179" /> -<TGConnectingPoint num="16" id="4180" /> -<TGConnectingPoint num="17" id="4181" /> -<TGConnectingPoint num="18" id="4182" /> -<TGConnectingPoint num="19" id="4183" /> -<TGConnectingPoint num="20" id="4184" /> -<TGConnectingPoint num="21" id="4185" /> -<TGConnectingPoint num="22" id="4186" /> -<TGConnectingPoint num="23" id="4187" /> -<TGConnectingPoint num="24" id="4188" /> -<TGConnectingPoint num="25" id="4189" /> -<TGConnectingPoint num="26" id="4190" /> -<TGConnectingPoint num="27" id="4191" /> -<TGConnectingPoint num="28" id="4192" /> -<TGConnectingPoint num="29" id="4193" /> -<TGConnectingPoint num="30" id="4194" /> -<TGConnectingPoint num="31" id="4195" /> -<TGConnectingPoint num="32" id="4196" /> -<TGConnectingPoint num="33" id="4197" /> -<TGConnectingPoint num="34" id="4198" /> -<TGConnectingPoint num="35" id="4199" /> -<TGConnectingPoint num="36" id="4200" /> -<TGConnectingPoint num="37" id="4201" /> -<TGConnectingPoint num="38" id="4202" /> -<TGConnectingPoint num="39" id="4203" /> -<TGConnectingPoint num="40" id="4204" /> -<TGConnectingPoint num="41" id="4205" /> -<TGConnectingPoint num="42" id="4206" /> -<TGConnectingPoint num="43" id="4207" /> -<TGConnectingPoint num="44" id="4208" /> -<TGConnectingPoint num="45" id="4209" /> -<TGConnectingPoint num="46" id="4210" /> -<TGConnectingPoint num="47" id="4211" /> -<TGConnectingPoint num="48" id="4212" /> -<TGConnectingPoint num="49" id="4213" /> -<TGConnectingPoint num="50" id="4214" /> -<TGConnectingPoint num="51" id="4215" /> -<TGConnectingPoint num="52" id="4216" /> -<TGConnectingPoint num="53" id="4217" /> -<TGConnectingPoint num="54" id="4218" /> -<TGConnectingPoint num="55" id="4219" /> -<TGConnectingPoint num="56" id="4220" /> -<TGConnectingPoint num="57" id="4221" /> -<TGConnectingPoint num="58" id="4222" /> -<TGConnectingPoint num="59" id="4223" /> -<TGConnectingPoint num="60" id="4224" /> -<TGConnectingPoint num="61" id="4225" /> -<TGConnectingPoint num="62" id="4226" /> -<TGConnectingPoint num="63" id="4227" /> -<TGConnectingPoint num="64" id="4228" /> -<TGConnectingPoint num="65" id="4229" /> -<TGConnectingPoint num="66" id="4230" /> -<TGConnectingPoint num="67" id="4231" /> -<TGConnectingPoint num="68" id="4232" /> -<TGConnectingPoint num="69" id="4233" /> -<TGConnectingPoint num="70" id="4234" /> -<TGConnectingPoint num="71" id="4235" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="4309" index="30" uid="4e9ff4f4-63c9-4878-88c3-6ca78d7d9fb3" > -<cdparam x="284" y="805" /> -<sizeparam width="146" height="49" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="state0" value="TeaDelivered" /> -<TGConnectingPoint num="0" id="4237" /> -<TGConnectingPoint num="1" id="4238" /> -<TGConnectingPoint num="2" id="4239" /> -<TGConnectingPoint num="3" id="4240" /> -<TGConnectingPoint num="4" id="4241" /> -<TGConnectingPoint num="5" id="4242" /> -<TGConnectingPoint num="6" id="4243" /> -<TGConnectingPoint num="7" id="4244" /> -<TGConnectingPoint num="8" id="4245" /> -<TGConnectingPoint num="9" id="4246" /> -<TGConnectingPoint num="10" id="4247" /> -<TGConnectingPoint num="11" id="4248" /> -<TGConnectingPoint num="12" id="4249" /> -<TGConnectingPoint num="13" id="4250" /> -<TGConnectingPoint num="14" id="4251" /> -<TGConnectingPoint num="15" id="4252" /> -<TGConnectingPoint num="16" id="4253" /> -<TGConnectingPoint num="17" id="4254" /> -<TGConnectingPoint num="18" id="4255" /> -<TGConnectingPoint num="19" id="4256" /> -<TGConnectingPoint num="20" id="4257" /> -<TGConnectingPoint num="21" id="4258" /> -<TGConnectingPoint num="22" id="4259" /> -<TGConnectingPoint num="23" id="4260" /> -<TGConnectingPoint num="24" id="4261" /> -<TGConnectingPoint num="25" id="4262" /> -<TGConnectingPoint num="26" id="4263" /> -<TGConnectingPoint num="27" id="4264" /> -<TGConnectingPoint num="28" id="4265" /> -<TGConnectingPoint num="29" id="4266" /> -<TGConnectingPoint num="30" id="4267" /> -<TGConnectingPoint num="31" id="4268" /> -<TGConnectingPoint num="32" id="4269" /> -<TGConnectingPoint num="33" id="4270" /> -<TGConnectingPoint num="34" id="4271" /> -<TGConnectingPoint num="35" id="4272" /> -<TGConnectingPoint num="36" id="4273" /> -<TGConnectingPoint num="37" id="4274" /> -<TGConnectingPoint num="38" id="4275" /> -<TGConnectingPoint num="39" id="4276" /> -<TGConnectingPoint num="40" id="4277" /> -<TGConnectingPoint num="41" id="4278" /> -<TGConnectingPoint num="42" id="4279" /> -<TGConnectingPoint num="43" id="4280" /> -<TGConnectingPoint num="44" id="4281" /> -<TGConnectingPoint num="45" id="4282" /> -<TGConnectingPoint num="46" id="4283" /> -<TGConnectingPoint num="47" id="4284" /> -<TGConnectingPoint num="48" id="4285" /> -<TGConnectingPoint num="49" id="4286" /> -<TGConnectingPoint num="50" id="4287" /> -<TGConnectingPoint num="51" id="4288" /> -<TGConnectingPoint num="52" id="4289" /> -<TGConnectingPoint num="53" id="4290" /> -<TGConnectingPoint num="54" id="4291" /> -<TGConnectingPoint num="55" id="4292" /> -<TGConnectingPoint num="56" id="4293" /> -<TGConnectingPoint num="57" id="4294" /> -<TGConnectingPoint num="58" id="4295" /> -<TGConnectingPoint num="59" id="4296" /> -<TGConnectingPoint num="60" id="4297" /> -<TGConnectingPoint num="61" id="4298" /> -<TGConnectingPoint num="62" id="4299" /> -<TGConnectingPoint num="63" id="4300" /> -<TGConnectingPoint num="64" id="4301" /> -<TGConnectingPoint num="65" id="4302" /> -<TGConnectingPoint num="66" id="4303" /> -<TGConnectingPoint num="67" id="4304" /> -<TGConnectingPoint num="68" id="4305" /> -<TGConnectingPoint num="69" id="4306" /> -<TGConnectingPoint num="70" id="4307" /> -<TGConnectingPoint num="71" id="4308" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="4563" index="31" uid="4cd4f614-9c4a-4b57-b765-feef76122aeb" > -<cdparam x="78" y="530" /> -<sizeparam width="577" height="354" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="1400" /> -<infoparam name="state0" value="Beverage" /> -<TGConnectingPoint num="0" id="4491" /> -<TGConnectingPoint num="1" id="4492" /> -<TGConnectingPoint num="2" id="4493" /> -<TGConnectingPoint num="3" id="4494" /> -<TGConnectingPoint num="4" id="4495" /> -<TGConnectingPoint num="5" id="4496" /> -<TGConnectingPoint num="6" id="4497" /> -<TGConnectingPoint num="7" id="4498" /> -<TGConnectingPoint num="8" id="4499" /> -<TGConnectingPoint num="9" id="4500" /> -<TGConnectingPoint num="10" id="4501" /> -<TGConnectingPoint num="11" id="4502" /> -<TGConnectingPoint num="12" id="4503" /> -<TGConnectingPoint num="13" id="4504" /> -<TGConnectingPoint num="14" id="4505" /> -<TGConnectingPoint num="15" id="4506" /> -<TGConnectingPoint num="16" id="4507" /> -<TGConnectingPoint num="17" id="4508" /> -<TGConnectingPoint num="18" id="4509" /> -<TGConnectingPoint num="19" id="4510" /> -<TGConnectingPoint num="20" id="4511" /> -<TGConnectingPoint num="21" id="4512" /> -<TGConnectingPoint num="22" id="4513" /> -<TGConnectingPoint num="23" id="4514" /> -<TGConnectingPoint num="24" id="4515" /> -<TGConnectingPoint num="25" id="4516" /> -<TGConnectingPoint num="26" id="4517" /> -<TGConnectingPoint num="27" id="4518" /> -<TGConnectingPoint num="28" id="4519" /> -<TGConnectingPoint num="29" id="4520" /> -<TGConnectingPoint num="30" id="4521" /> -<TGConnectingPoint num="31" id="4522" /> -<TGConnectingPoint num="32" id="4523" /> -<TGConnectingPoint num="33" id="4524" /> -<TGConnectingPoint num="34" id="4525" /> -<TGConnectingPoint num="35" id="4526" /> -<TGConnectingPoint num="36" id="4527" /> -<TGConnectingPoint num="37" id="4528" /> -<TGConnectingPoint num="38" id="4529" /> -<TGConnectingPoint num="39" id="4530" /> -<TGConnectingPoint num="40" id="4531" /> -<TGConnectingPoint num="41" id="4532" /> -<TGConnectingPoint num="42" id="4533" /> -<TGConnectingPoint num="43" id="4534" /> -<TGConnectingPoint num="44" id="4535" /> -<TGConnectingPoint num="45" id="4536" /> -<TGConnectingPoint num="46" id="4537" /> -<TGConnectingPoint num="47" id="4538" /> -<TGConnectingPoint num="48" id="4539" /> -<TGConnectingPoint num="49" id="4540" /> -<TGConnectingPoint num="50" id="4541" /> -<TGConnectingPoint num="51" id="4542" /> -<TGConnectingPoint num="52" id="4543" /> -<TGConnectingPoint num="53" id="4544" /> -<TGConnectingPoint num="54" id="4545" /> -<TGConnectingPoint num="55" id="4546" /> -<TGConnectingPoint num="56" id="4547" /> -<TGConnectingPoint num="57" id="4548" /> -<TGConnectingPoint num="58" id="4549" /> -<TGConnectingPoint num="59" id="4550" /> -<TGConnectingPoint num="60" id="4551" /> -<TGConnectingPoint num="61" id="4552" /> -<TGConnectingPoint num="62" id="4553" /> -<TGConnectingPoint num="63" id="4554" /> -<TGConnectingPoint num="64" id="4555" /> -<TGConnectingPoint num="65" id="4556" /> -<TGConnectingPoint num="66" id="4557" /> -<TGConnectingPoint num="67" id="4558" /> -<TGConnectingPoint num="68" id="4559" /> -<TGConnectingPoint num="69" id="4560" /> -<TGConnectingPoint num="70" id="4561" /> -<TGConnectingPoint num="71" id="4562" /> -<extraparam> -</extraparam> -</COMPONENT> -<SUBCOMPONENT type="5106" id="4382" index="51" uid="52044bb2-8b01-4108-a1ac-b5e7886ea624" > -<father id="4563" num="0" /> -<cdparam x="108" y="811" /> -<sizeparam width="146" height="49" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="0" maxX="431" minY="0" maxY="305" /> -<infoparam name="state0" value="CoffeeDelivered" /> -<TGConnectingPoint num="0" id="4310" /> -<TGConnectingPoint num="1" id="4311" /> -<TGConnectingPoint num="2" id="4312" /> -<TGConnectingPoint num="3" id="4313" /> -<TGConnectingPoint num="4" id="4314" /> -<TGConnectingPoint num="5" id="4315" /> -<TGConnectingPoint num="6" id="4316" /> -<TGConnectingPoint num="7" id="4317" /> -<TGConnectingPoint num="8" id="4318" /> -<TGConnectingPoint num="9" id="4319" /> -<TGConnectingPoint num="10" id="4320" /> -<TGConnectingPoint num="11" id="4321" /> -<TGConnectingPoint num="12" id="4322" /> -<TGConnectingPoint num="13" id="4323" /> -<TGConnectingPoint num="14" id="4324" /> -<TGConnectingPoint num="15" id="4325" /> -<TGConnectingPoint num="16" id="4326" /> -<TGConnectingPoint num="17" id="4327" /> -<TGConnectingPoint num="18" id="4328" /> -<TGConnectingPoint num="19" id="4329" /> -<TGConnectingPoint num="20" id="4330" /> -<TGConnectingPoint num="21" id="4331" /> -<TGConnectingPoint num="22" id="4332" /> -<TGConnectingPoint num="23" id="4333" /> -<TGConnectingPoint num="24" id="4334" /> -<TGConnectingPoint num="25" id="4335" /> -<TGConnectingPoint num="26" id="4336" /> -<TGConnectingPoint num="27" id="4337" /> -<TGConnectingPoint num="28" id="4338" /> -<TGConnectingPoint num="29" id="4339" /> -<TGConnectingPoint num="30" id="4340" /> -<TGConnectingPoint num="31" id="4341" /> -<TGConnectingPoint num="32" id="4342" /> -<TGConnectingPoint num="33" id="4343" /> -<TGConnectingPoint num="34" id="4344" /> -<TGConnectingPoint num="35" id="4345" /> -<TGConnectingPoint num="36" id="4346" /> -<TGConnectingPoint num="37" id="4347" /> -<TGConnectingPoint num="38" id="4348" /> -<TGConnectingPoint num="39" id="4349" /> -<TGConnectingPoint num="40" id="4350" /> -<TGConnectingPoint num="41" id="4351" /> -<TGConnectingPoint num="42" id="4352" /> -<TGConnectingPoint num="43" id="4353" /> -<TGConnectingPoint num="44" id="4354" /> -<TGConnectingPoint num="45" id="4355" /> -<TGConnectingPoint num="46" id="4356" /> -<TGConnectingPoint num="47" id="4357" /> -<TGConnectingPoint num="48" id="4358" /> -<TGConnectingPoint num="49" id="4359" /> -<TGConnectingPoint num="50" id="4360" /> -<TGConnectingPoint num="51" id="4361" /> -<TGConnectingPoint num="52" id="4362" /> -<TGConnectingPoint num="53" id="4363" /> -<TGConnectingPoint num="54" id="4364" /> -<TGConnectingPoint num="55" id="4365" /> -<TGConnectingPoint num="56" id="4366" /> -<TGConnectingPoint num="57" id="4367" /> -<TGConnectingPoint num="58" id="4368" /> -<TGConnectingPoint num="59" id="4369" /> -<TGConnectingPoint num="60" id="4370" /> -<TGConnectingPoint num="61" id="4371" /> -<TGConnectingPoint num="62" id="4372" /> -<TGConnectingPoint num="63" id="4373" /> -<TGConnectingPoint num="64" id="4374" /> -<TGConnectingPoint num="65" id="4375" /> -<TGConnectingPoint num="66" id="4376" /> -<TGConnectingPoint num="67" id="4377" /> -<TGConnectingPoint num="68" id="4378" /> -<TGConnectingPoint num="69" id="4379" /> -<TGConnectingPoint num="70" id="4380" /> -<TGConnectingPoint num="71" id="4381" /> -<extraparam> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="5103" id="4393" index="52" uid="9c813d39-192a-47ff-98b2-607e27617acf" > -<father id="4563" num="1" /> -<cdparam x="432" y="660" /> -<sizeparam width="130" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="0" maxX="447" minY="0" maxY="334" /> -<infoparam name="Send signal" value="ejectCoin(nbOfCoins)" /> -<TGConnectingPoint num="0" id="4383" /> -<TGConnectingPoint num="1" id="4384" /> -<TGConnectingPoint num="2" id="4385" /> -<TGConnectingPoint num="3" id="4386" /> -<TGConnectingPoint num="4" id="4387" /> -<TGConnectingPoint num="5" id="4388" /> -<TGConnectingPoint num="6" id="4389" /> -<TGConnectingPoint num="7" id="4390" /> -<TGConnectingPoint num="8" id="4391" /> -<TGConnectingPoint num="9" id="4392" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5104" id="4404" index="53" uid="f73b994e-357b-446d-a13d-97a66d7a4653" > -<father id="4563" num="2" /> -<cdparam x="118" y="687" /> -<sizeparam width="127" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="0" maxX="450" minY="0" maxY="334" /> -<infoparam name="Send signal" value="pushCoffeeButton()" /> -<TGConnectingPoint num="0" id="4394" /> -<TGConnectingPoint num="1" id="4395" /> -<TGConnectingPoint num="2" id="4396" /> -<TGConnectingPoint num="3" id="4397" /> -<TGConnectingPoint num="4" id="4398" /> -<TGConnectingPoint num="5" id="4399" /> -<TGConnectingPoint num="6" id="4400" /> -<TGConnectingPoint num="7" id="4401" /> -<TGConnectingPoint num="8" id="4402" /> -<TGConnectingPoint num="9" id="4403" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5100" id="4406" index="54" uid="d60fd6d2-14be-4b25-b424-35a9ae5e3ba3" > -<father id="4563" num="3" /> -<cdparam x="309" y="559" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="0" maxX="562" minY="0" maxY="339" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="4405" /> -</SUBCOMPONENT> -<SUBCOMPONENT type="5106" id="4479" index="55" uid="542c0583-8080-46a1-9ae2-775c6446817c" > -<father id="4563" num="4" /> -<cdparam x="249" y="595" /> -<sizeparam width="132" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="0" maxX="445" minY="0" maxY="314" /> -<infoparam name="state0" value="WaitingForSelection" /> -<TGConnectingPoint num="0" id="4407" /> -<TGConnectingPoint num="1" id="4408" /> -<TGConnectingPoint num="2" id="4409" /> -<TGConnectingPoint num="3" id="4410" /> -<TGConnectingPoint num="4" id="4411" /> -<TGConnectingPoint num="5" id="4412" /> -<TGConnectingPoint num="6" id="4413" /> -<TGConnectingPoint num="7" id="4414" /> -<TGConnectingPoint num="8" id="4415" /> -<TGConnectingPoint num="9" id="4416" /> -<TGConnectingPoint num="10" id="4417" /> -<TGConnectingPoint num="11" id="4418" /> -<TGConnectingPoint num="12" id="4419" /> -<TGConnectingPoint num="13" id="4420" /> -<TGConnectingPoint num="14" id="4421" /> -<TGConnectingPoint num="15" id="4422" /> -<TGConnectingPoint num="16" id="4423" /> -<TGConnectingPoint num="17" id="4424" /> -<TGConnectingPoint num="18" id="4425" /> -<TGConnectingPoint num="19" id="4426" /> -<TGConnectingPoint num="20" id="4427" /> -<TGConnectingPoint num="21" id="4428" /> -<TGConnectingPoint num="22" id="4429" /> -<TGConnectingPoint num="23" id="4430" /> -<TGConnectingPoint num="24" id="4431" /> -<TGConnectingPoint num="25" id="4432" /> -<TGConnectingPoint num="26" id="4433" /> -<TGConnectingPoint num="27" id="4434" /> -<TGConnectingPoint num="28" id="4435" /> -<TGConnectingPoint num="29" id="4436" /> -<TGConnectingPoint num="30" id="4437" /> -<TGConnectingPoint num="31" id="4438" /> -<TGConnectingPoint num="32" id="4439" /> -<TGConnectingPoint num="33" id="4440" /> -<TGConnectingPoint num="34" id="4441" /> -<TGConnectingPoint num="35" id="4442" /> -<TGConnectingPoint num="36" id="4443" /> -<TGConnectingPoint num="37" id="4444" /> -<TGConnectingPoint num="38" id="4445" /> -<TGConnectingPoint num="39" id="4446" /> -<TGConnectingPoint num="40" id="4447" /> -<TGConnectingPoint num="41" id="4448" /> -<TGConnectingPoint num="42" id="4449" /> -<TGConnectingPoint num="43" id="4450" /> -<TGConnectingPoint num="44" id="4451" /> -<TGConnectingPoint num="45" id="4452" /> -<TGConnectingPoint num="46" id="4453" /> -<TGConnectingPoint num="47" id="4454" /> -<TGConnectingPoint num="48" id="4455" /> -<TGConnectingPoint num="49" id="4456" /> -<TGConnectingPoint num="50" id="4457" /> -<TGConnectingPoint num="51" id="4458" /> -<TGConnectingPoint num="52" id="4459" /> -<TGConnectingPoint num="53" id="4460" /> -<TGConnectingPoint num="54" id="4461" /> -<TGConnectingPoint num="55" id="4462" /> -<TGConnectingPoint num="56" id="4463" /> -<TGConnectingPoint num="57" id="4464" /> -<TGConnectingPoint num="58" id="4465" /> -<TGConnectingPoint num="59" id="4466" /> -<TGConnectingPoint num="60" id="4467" /> -<TGConnectingPoint num="61" id="4468" /> -<TGConnectingPoint num="62" id="4469" /> -<TGConnectingPoint num="63" id="4470" /> -<TGConnectingPoint num="64" id="4471" /> -<TGConnectingPoint num="65" id="4472" /> -<TGConnectingPoint num="66" id="4473" /> -<TGConnectingPoint num="67" id="4474" /> -<TGConnectingPoint num="68" id="4475" /> -<TGConnectingPoint num="69" id="4476" /> -<TGConnectingPoint num="70" id="4477" /> -<TGConnectingPoint num="71" id="4478" /> -<latencyCheck /> -<extraparam> -</extraparam> -</SUBCOMPONENT> -<SUBCOMPONENT type="5104" id="4490" index="56" uid="8718a1dd-4942-43e5-b6ce-b5f78b82a355" > -<father id="4563" num="5" /> -<cdparam x="297" y="687" /> -<sizeparam width="112" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="0" maxX="465" minY="0" maxY="334" /> -<infoparam name="Send signal" value="pushTeaButton()" /> -<TGConnectingPoint num="0" id="4480" /> -<TGConnectingPoint num="1" id="4481" /> -<TGConnectingPoint num="2" id="4482" /> -<TGConnectingPoint num="3" id="4483" /> -<TGConnectingPoint num="4" id="4484" /> -<TGConnectingPoint num="5" id="4485" /> -<TGConnectingPoint num="6" id="4486" /> -<TGConnectingPoint num="7" id="4487" /> -<TGConnectingPoint num="8" id="4488" /> -<TGConnectingPoint num="9" id="4489" /> -</SUBCOMPONENT> - - -</AVATARStateMachineDiagramPanel> - -<AVATARStateMachineDiagramPanel name="Wallet" minX="10" maxX="1400" minY="10" maxY="900" > -<CONNECTOR type="5102" id="4570" index="0" uid="e1fdc635-a14a-4753-a90a-d34a5c378103" > -<cdparam x="516" y="264" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="4569" /> -<P1 x="485" y="219" id="4611" /> -<P2 x="485" y="275" id="4622" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4568" index="11" uid="ef977ae6-5b41-474a-8ad1-ffa74018c3f6" > -<father id="4570" num="0" /> -<cdparam x="493" y="251" /> -<sizeparam width="173" height="30" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="4564" /> -<TGConnectingPoint num="1" id="4565" /> -<TGConnectingPoint num="2" id="4566" /> -<TGConnectingPoint num="3" id="4567" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -<actions value="nbOfCoins = nbOfCoins + x" enabled="true"/> -<actions value="contentOfWallet(nbOfCoins)" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="4577" index="1" uid="a1601233-0112-4577-872e-f3d1239ddaa2" > -<cdparam x="382" y="165" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="4576" /> -<P1 x="382" y="165" id="4782" /> -<P2 x="485" y="189" id="4610" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4575" index="12" uid="c4a6003f-c191-4f16-812f-88460fc99537" > -<father id="4577" num="0" /> -<cdparam x="419" y="170" /> -<sizeparam width="20" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="4571" /> -<TGConnectingPoint num="1" id="4572" /> -<TGConnectingPoint num="2" id="4573" /> -<TGConnectingPoint num="3" id="4574" /> -<extraparam> -<guard value="[]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="4584" index="2" uid="cb8b379f-fbb5-465e-b390-d20051de84c9" > -<cdparam x="223" y="260" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from Send signal to state0" value="null" /> -<TGConnectingPoint num="0" id="4583" /> -<P1 x="251" y="231" id="4600" /> -<P2 x="251" y="300" id="4695" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4582" index="13" uid="a9ba3ee4-2310-452a-ac15-378273520860" > -<father id="4584" num="0" /> -<cdparam x="175" y="246" /> -<sizeparam width="225" height="60" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="4578" /> -<TGConnectingPoint num="1" id="4579" /> -<TGConnectingPoint num="2" id="4580" /> -<TGConnectingPoint num="3" id="4581" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="minUserDelay" enabled="true"/> -<afterMax value="maxUserDelay" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="0.99" enabled="true"/> -<actions value="nbOfCoins = nbOfCoins - x" enabled="true"/> -<actions value="contentOfWallet(nbOfCoins)" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="4591" index="3" uid="1051ae7b-48a2-4ad4-bcfd-7e2d67fb5557" > -<cdparam x="357" y="165" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from state0 to Send signal" value="null" /> -<TGConnectingPoint num="0" id="4590" /> -<P1 x="357" y="165" id="4781" /> -<P2 x="251" y="201" id="4599" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4589" index="14" uid="51361a43-5f1e-4e05-834c-38e957e74dbc" > -<father id="4591" num="0" /> -<cdparam x="220" y="174" /> -<sizeparam width="99" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="4585" /> -<TGConnectingPoint num="1" id="4586" /> -<TGConnectingPoint num="2" id="4587" /> -<TGConnectingPoint num="3" id="4588" /> -<extraparam> -<guard value="[nbOfCoins > 0]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<CONNECTOR type="5102" id="4598" index="4" uid="e20c8526-7e17-4a95-a112-8b1e6afc65ff" > -<cdparam x="369" y="115" /> -<sizeparam width="0" height="0" minWidth="0" minHeight="0" maxWidth="1000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<infoparam name="connector from start state to state0" value="null" /> -<TGConnectingPoint num="0" id="4597" /> -<P1 x="370" y="64" id="4840" /> -<P2 x="370" y="135" id="4768" /> -<AutomaticDrawing data="true" /> -</CONNECTOR><SUBCOMPONENT type="-1" id="4596" index="15" uid="67af2caf-f2db-4b34-b537-438d7b0e3fcc" > -<father id="4598" num="0" /> -<cdparam x="406" y="124" /> -<sizeparam width="173" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="List of all parameters of an Avatar SMD transition" value="" /> -<TGConnectingPoint num="0" id="4592" /> -<TGConnectingPoint num="1" id="4593" /> -<TGConnectingPoint num="2" id="4594" /> -<TGConnectingPoint num="3" id="4595" /> -<extraparam> -<guard value="[ ]" enabled="true"/> -<afterMin value="" enabled="true"/> -<afterMax value="" enabled="true"/> -<extraDelay1 value="" enabled="true"/> -<extraDelay2 value="" enabled="true"/> -<delayDistributionLaw value="0" enabled="true"/> -<computeMin value="" enabled="true"/> -<computeMax value="" enabled="true"/> -<probability value="" enabled="true"/> -<actions value="contentOfWallet(nbOfCoins)" enabled="true"/> -</extraparam> -</SUBCOMPONENT> - -<COMPONENT type="5103" id="4609" index="5" uid="1bbf332d-b36f-4992-82c7-f06006cdb1c1" > -<cdparam x="217" y="206" /> -<sizeparam width="69" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Send signal" value="putCoin(x)" /> -<TGConnectingPoint num="0" id="4599" /> -<TGConnectingPoint num="1" id="4600" /> -<TGConnectingPoint num="2" id="4601" /> -<TGConnectingPoint num="3" id="4602" /> -<TGConnectingPoint num="4" id="4603" /> -<TGConnectingPoint num="5" id="4604" /> -<TGConnectingPoint num="6" id="4605" /> -<TGConnectingPoint num="7" id="4606" /> -<TGConnectingPoint num="8" id="4607" /> -<TGConnectingPoint num="9" id="4608" /> -</COMPONENT> - -<COMPONENT type="5104" id="4620" index="6" uid="27a771a1-8452-4bd5-965d-690218370079" > -<cdparam x="447" y="194" /> -<sizeparam width="76" height="20" minWidth="30" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="Receive signal" value="getCoin(x)" /> -<TGConnectingPoint num="0" id="4610" /> -<TGConnectingPoint num="1" id="4611" /> -<TGConnectingPoint num="2" id="4612" /> -<TGConnectingPoint num="3" id="4613" /> -<TGConnectingPoint num="4" id="4614" /> -<TGConnectingPoint num="5" id="4615" /> -<TGConnectingPoint num="6" id="4616" /> -<TGConnectingPoint num="7" id="4617" /> -<TGConnectingPoint num="8" id="4618" /> -<TGConnectingPoint num="9" id="4619" /> -</COMPONENT> - -<COMPONENT type="5106" id="4693" index="7" uid="dff82f3a-8689-42a4-9a5a-e1083a596f96" > -<cdparam x="460" y="275" /> -<sizeparam width="50" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="4621" /> -<TGConnectingPoint num="1" id="4622" /> -<TGConnectingPoint num="2" id="4623" /> -<TGConnectingPoint num="3" id="4624" /> -<TGConnectingPoint num="4" id="4625" /> -<TGConnectingPoint num="5" id="4626" /> -<TGConnectingPoint num="6" id="4627" /> -<TGConnectingPoint num="7" id="4628" /> -<TGConnectingPoint num="8" id="4629" /> -<TGConnectingPoint num="9" id="4630" /> -<TGConnectingPoint num="10" id="4631" /> -<TGConnectingPoint num="11" id="4632" /> -<TGConnectingPoint num="12" id="4633" /> -<TGConnectingPoint num="13" id="4634" /> -<TGConnectingPoint num="14" id="4635" /> -<TGConnectingPoint num="15" id="4636" /> -<TGConnectingPoint num="16" id="4637" /> -<TGConnectingPoint num="17" id="4638" /> -<TGConnectingPoint num="18" id="4639" /> -<TGConnectingPoint num="19" id="4640" /> -<TGConnectingPoint num="20" id="4641" /> -<TGConnectingPoint num="21" id="4642" /> -<TGConnectingPoint num="22" id="4643" /> -<TGConnectingPoint num="23" id="4644" /> -<TGConnectingPoint num="24" id="4645" /> -<TGConnectingPoint num="25" id="4646" /> -<TGConnectingPoint num="26" id="4647" /> -<TGConnectingPoint num="27" id="4648" /> -<TGConnectingPoint num="28" id="4649" /> -<TGConnectingPoint num="29" id="4650" /> -<TGConnectingPoint num="30" id="4651" /> -<TGConnectingPoint num="31" id="4652" /> -<TGConnectingPoint num="32" id="4653" /> -<TGConnectingPoint num="33" id="4654" /> -<TGConnectingPoint num="34" id="4655" /> -<TGConnectingPoint num="35" id="4656" /> -<TGConnectingPoint num="36" id="4657" /> -<TGConnectingPoint num="37" id="4658" /> -<TGConnectingPoint num="38" id="4659" /> -<TGConnectingPoint num="39" id="4660" /> -<TGConnectingPoint num="40" id="4661" /> -<TGConnectingPoint num="41" id="4662" /> -<TGConnectingPoint num="42" id="4663" /> -<TGConnectingPoint num="43" id="4664" /> -<TGConnectingPoint num="44" id="4665" /> -<TGConnectingPoint num="45" id="4666" /> -<TGConnectingPoint num="46" id="4667" /> -<TGConnectingPoint num="47" id="4668" /> -<TGConnectingPoint num="48" id="4669" /> -<TGConnectingPoint num="49" id="4670" /> -<TGConnectingPoint num="50" id="4671" /> -<TGConnectingPoint num="51" id="4672" /> -<TGConnectingPoint num="52" id="4673" /> -<TGConnectingPoint num="53" id="4674" /> -<TGConnectingPoint num="54" id="4675" /> -<TGConnectingPoint num="55" id="4676" /> -<TGConnectingPoint num="56" id="4677" /> -<TGConnectingPoint num="57" id="4678" /> -<TGConnectingPoint num="58" id="4679" /> -<TGConnectingPoint num="59" id="4680" /> -<TGConnectingPoint num="60" id="4681" /> -<TGConnectingPoint num="61" id="4682" /> -<TGConnectingPoint num="62" id="4683" /> -<TGConnectingPoint num="63" id="4684" /> -<TGConnectingPoint num="64" id="4685" /> -<TGConnectingPoint num="65" id="4686" /> -<TGConnectingPoint num="66" id="4687" /> -<TGConnectingPoint num="67" id="4688" /> -<TGConnectingPoint num="68" id="4689" /> -<TGConnectingPoint num="69" id="4690" /> -<TGConnectingPoint num="70" id="4691" /> -<TGConnectingPoint num="71" id="4692" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="4766" index="8" uid="d8e0235a-a7a6-4c1f-ae66-2d51d55f91c4" > -<cdparam x="226" y="300" /> -<sizeparam width="50" height="40" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="4694" /> -<TGConnectingPoint num="1" id="4695" /> -<TGConnectingPoint num="2" id="4696" /> -<TGConnectingPoint num="3" id="4697" /> -<TGConnectingPoint num="4" id="4698" /> -<TGConnectingPoint num="5" id="4699" /> -<TGConnectingPoint num="6" id="4700" /> -<TGConnectingPoint num="7" id="4701" /> -<TGConnectingPoint num="8" id="4702" /> -<TGConnectingPoint num="9" id="4703" /> -<TGConnectingPoint num="10" id="4704" /> -<TGConnectingPoint num="11" id="4705" /> -<TGConnectingPoint num="12" id="4706" /> -<TGConnectingPoint num="13" id="4707" /> -<TGConnectingPoint num="14" id="4708" /> -<TGConnectingPoint num="15" id="4709" /> -<TGConnectingPoint num="16" id="4710" /> -<TGConnectingPoint num="17" id="4711" /> -<TGConnectingPoint num="18" id="4712" /> -<TGConnectingPoint num="19" id="4713" /> -<TGConnectingPoint num="20" id="4714" /> -<TGConnectingPoint num="21" id="4715" /> -<TGConnectingPoint num="22" id="4716" /> -<TGConnectingPoint num="23" id="4717" /> -<TGConnectingPoint num="24" id="4718" /> -<TGConnectingPoint num="25" id="4719" /> -<TGConnectingPoint num="26" id="4720" /> -<TGConnectingPoint num="27" id="4721" /> -<TGConnectingPoint num="28" id="4722" /> -<TGConnectingPoint num="29" id="4723" /> -<TGConnectingPoint num="30" id="4724" /> -<TGConnectingPoint num="31" id="4725" /> -<TGConnectingPoint num="32" id="4726" /> -<TGConnectingPoint num="33" id="4727" /> -<TGConnectingPoint num="34" id="4728" /> -<TGConnectingPoint num="35" id="4729" /> -<TGConnectingPoint num="36" id="4730" /> -<TGConnectingPoint num="37" id="4731" /> -<TGConnectingPoint num="38" id="4732" /> -<TGConnectingPoint num="39" id="4733" /> -<TGConnectingPoint num="40" id="4734" /> -<TGConnectingPoint num="41" id="4735" /> -<TGConnectingPoint num="42" id="4736" /> -<TGConnectingPoint num="43" id="4737" /> -<TGConnectingPoint num="44" id="4738" /> -<TGConnectingPoint num="45" id="4739" /> -<TGConnectingPoint num="46" id="4740" /> -<TGConnectingPoint num="47" id="4741" /> -<TGConnectingPoint num="48" id="4742" /> -<TGConnectingPoint num="49" id="4743" /> -<TGConnectingPoint num="50" id="4744" /> -<TGConnectingPoint num="51" id="4745" /> -<TGConnectingPoint num="52" id="4746" /> -<TGConnectingPoint num="53" id="4747" /> -<TGConnectingPoint num="54" id="4748" /> -<TGConnectingPoint num="55" id="4749" /> -<TGConnectingPoint num="56" id="4750" /> -<TGConnectingPoint num="57" id="4751" /> -<TGConnectingPoint num="58" id="4752" /> -<TGConnectingPoint num="59" id="4753" /> -<TGConnectingPoint num="60" id="4754" /> -<TGConnectingPoint num="61" id="4755" /> -<TGConnectingPoint num="62" id="4756" /> -<TGConnectingPoint num="63" id="4757" /> -<TGConnectingPoint num="64" id="4758" /> -<TGConnectingPoint num="65" id="4759" /> -<TGConnectingPoint num="66" id="4760" /> -<TGConnectingPoint num="67" id="4761" /> -<TGConnectingPoint num="68" id="4762" /> -<TGConnectingPoint num="69" id="4763" /> -<TGConnectingPoint num="70" id="4764" /> -<TGConnectingPoint num="71" id="4765" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5106" id="4839" index="9" uid="7800bef7-c428-4182-a94c-9832c7e71ad9" > -<cdparam x="345" y="135" /> -<sizeparam width="50" height="30" minWidth="40" minHeight="30" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<enabled value="true" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="state0" value="main" /> -<TGConnectingPoint num="0" id="4767" /> -<TGConnectingPoint num="1" id="4768" /> -<TGConnectingPoint num="2" id="4769" /> -<TGConnectingPoint num="3" id="4770" /> -<TGConnectingPoint num="4" id="4771" /> -<TGConnectingPoint num="5" id="4772" /> -<TGConnectingPoint num="6" id="4773" /> -<TGConnectingPoint num="7" id="4774" /> -<TGConnectingPoint num="8" id="4775" /> -<TGConnectingPoint num="9" id="4776" /> -<TGConnectingPoint num="10" id="4777" /> -<TGConnectingPoint num="11" id="4778" /> -<TGConnectingPoint num="12" id="4779" /> -<TGConnectingPoint num="13" id="4780" /> -<TGConnectingPoint num="14" id="4781" /> -<TGConnectingPoint num="15" id="4782" /> -<TGConnectingPoint num="16" id="4783" /> -<TGConnectingPoint num="17" id="4784" /> -<TGConnectingPoint num="18" id="4785" /> -<TGConnectingPoint num="19" id="4786" /> -<TGConnectingPoint num="20" id="4787" /> -<TGConnectingPoint num="21" id="4788" /> -<TGConnectingPoint num="22" id="4789" /> -<TGConnectingPoint num="23" id="4790" /> -<TGConnectingPoint num="24" id="4791" /> -<TGConnectingPoint num="25" id="4792" /> -<TGConnectingPoint num="26" id="4793" /> -<TGConnectingPoint num="27" id="4794" /> -<TGConnectingPoint num="28" id="4795" /> -<TGConnectingPoint num="29" id="4796" /> -<TGConnectingPoint num="30" id="4797" /> -<TGConnectingPoint num="31" id="4798" /> -<TGConnectingPoint num="32" id="4799" /> -<TGConnectingPoint num="33" id="4800" /> -<TGConnectingPoint num="34" id="4801" /> -<TGConnectingPoint num="35" id="4802" /> -<TGConnectingPoint num="36" id="4803" /> -<TGConnectingPoint num="37" id="4804" /> -<TGConnectingPoint num="38" id="4805" /> -<TGConnectingPoint num="39" id="4806" /> -<TGConnectingPoint num="40" id="4807" /> -<TGConnectingPoint num="41" id="4808" /> -<TGConnectingPoint num="42" id="4809" /> -<TGConnectingPoint num="43" id="4810" /> -<TGConnectingPoint num="44" id="4811" /> -<TGConnectingPoint num="45" id="4812" /> -<TGConnectingPoint num="46" id="4813" /> -<TGConnectingPoint num="47" id="4814" /> -<TGConnectingPoint num="48" id="4815" /> -<TGConnectingPoint num="49" id="4816" /> -<TGConnectingPoint num="50" id="4817" /> -<TGConnectingPoint num="51" id="4818" /> -<TGConnectingPoint num="52" id="4819" /> -<TGConnectingPoint num="53" id="4820" /> -<TGConnectingPoint num="54" id="4821" /> -<TGConnectingPoint num="55" id="4822" /> -<TGConnectingPoint num="56" id="4823" /> -<TGConnectingPoint num="57" id="4824" /> -<TGConnectingPoint num="58" id="4825" /> -<TGConnectingPoint num="59" id="4826" /> -<TGConnectingPoint num="60" id="4827" /> -<TGConnectingPoint num="61" id="4828" /> -<TGConnectingPoint num="62" id="4829" /> -<TGConnectingPoint num="63" id="4830" /> -<TGConnectingPoint num="64" id="4831" /> -<TGConnectingPoint num="65" id="4832" /> -<TGConnectingPoint num="66" id="4833" /> -<TGConnectingPoint num="67" id="4834" /> -<TGConnectingPoint num="68" id="4835" /> -<TGConnectingPoint num="69" id="4836" /> -<TGConnectingPoint num="70" id="4837" /> -<TGConnectingPoint num="71" id="4838" /> -<extraparam> -</extraparam> -</COMPONENT> - -<COMPONENT type="5100" id="4841" index="10" uid="e7196c4b-f0b1-4487-b81c-4db89e85366e" > -<cdparam x="363" y="44" /> -<sizeparam width="15" height="15" minWidth="1" minHeight="1" maxWidth="2000" maxHeight="2000" minDesiredWidth="0" minDesiredHeight="0" /> -<hidden value="false" /> -<cdrectangleparam minX="10" maxX="1400" minY="10" maxY="900" /> -<infoparam name="start state" value="null" /> -<TGConnectingPoint num="0" id="4840" /> -</COMPONENT> - - -</AVATARStateMachineDiagramPanel> - -</Modeling> - - - - </TURTLEGMODELING> \ No newline at end of file diff --git a/src/main/java/avatartranslator/AvatarStateMachine.java b/src/main/java/avatartranslator/AvatarStateMachine.java index 209df735a34e781271e6643970a4e1e33d1ea101..dd678f52c7a0dd46bbbbc3513a05741c7322c2cd 100644 --- a/src/main/java/avatartranslator/AvatarStateMachine.java +++ b/src/main/java/avatartranslator/AvatarStateMachine.java @@ -1998,6 +1998,8 @@ public class AvatarStateMachine extends AvatarElement { if (transition.hasDelay()) { transition.setDelays("0", "0"); } + } else if (element instanceof AvatarSetTimer) { + ((AvatarSetTimer)element).setTimerValue("0"); } } } diff --git a/src/main/java/avatartranslator/AvatarTimerOperator.java b/src/main/java/avatartranslator/AvatarTimerOperator.java index 4960eee9de32a01479edbfc8b1b97ca43064fbe3..9f7147c87b4b77a18de6b5662e9d34cb1dcec371 100644 --- a/src/main/java/avatartranslator/AvatarTimerOperator.java +++ b/src/main/java/avatartranslator/AvatarTimerOperator.java @@ -69,6 +69,7 @@ public abstract class AvatarTimerOperator extends AvatarStateMachineElement { return ""; } + public void translate(AvatarTranslator translator, Object arg) { translator.translateTimerOperator(this, arg); } diff --git a/src/main/java/avatartranslator/toproverif/AVATAR2ProVerif.java b/src/main/java/avatartranslator/toproverif/AVATAR2ProVerif.java index 57953a87f05dc5a933fce9286ed04caf537fc6e0..b5f23c48988884a5253fc1aec070cbd7def060a2 100755 --- a/src/main/java/avatartranslator/toproverif/AVATAR2ProVerif.java +++ b/src/main/java/avatartranslator/toproverif/AVATAR2ProVerif.java @@ -233,21 +233,21 @@ public class AVATAR2ProVerif implements AvatarTranslator { AvatarAttribute attr = (AvatarAttribute) term; if (attributeCmp != null) { - TraceManager.addDev("Mae Attr name 1"); + //TraceManager.addDev("Mae Attr name 1"); return AVATAR2ProVerif.makeAttrName (attr.getBlock ().getName (), attr.getName (), attributeCmp.get (attr).toString ()); } else { - TraceManager.addDev("Mae Attr name 2"); + //TraceManager.addDev("Mae Attr name 2"); return AVATAR2ProVerif.makeAttrName(attr.getBlock().getName(), attr.getName()); } } if (term instanceof AvatarConstant) { AvatarConstant constant = (AvatarConstant) term; - TraceManager.addDev("AvatarConstant"); + //TraceManager.addDev("AvatarConstant"); try { int i = Integer.parseInt (constant.getName ()); - TraceManager.addDev("AvatarConstant Integer"); + //TraceManager.addDev("AvatarConstant Integer"); if (i <= MAX_INT) { int j; @@ -259,7 +259,7 @@ public class AVATAR2ProVerif implements AvatarTranslator { sb.append (ZERO); for (; i>0; i--) sb.append (")"); - TraceManager.addDev("AvatarConstant Integer Lower: " + sb.toString ()); + //TraceManager.addDev("AvatarConstant Integer Lower: " + sb.toString ()); return sb.toString (); } else { diff --git a/src/main/java/proverifspec/ProVerifQueryResult.java b/src/main/java/proverifspec/ProVerifQueryResult.java index 3de0eab3cbef77acbdcf72dc74f6308ca4db7805..02b43442e34e8ba60789534529f2d7c539deead3 100644 --- a/src/main/java/proverifspec/ProVerifQueryResult.java +++ b/src/main/java/proverifspec/ProVerifQueryResult.java @@ -51,15 +51,13 @@ public class ProVerifQueryResult { protected boolean satisfied, proved; protected ProVerifResultTrace trace; - public ProVerifQueryResult(boolean proved, boolean satisfied) - { + public ProVerifQueryResult(boolean proved, boolean satisfied) { this.satisfied = satisfied; this.proved = proved; this.trace = null; } - public ProVerifQueryResult() - { + public ProVerifQueryResult() { this.proved = true; this.satisfied = true; this.trace = null; @@ -75,8 +73,7 @@ public class ProVerifQueryResult { return this.satisfied; } - public void setSatisfied(boolean satisfied) - { + public void setSatisfied(boolean satisfied) { this.satisfied = satisfied; } diff --git a/src/main/java/ui/ActionPerformer.java b/src/main/java/ui/ActionPerformer.java index 19ea3ecdeecb23e205e98da8c30c72af0bd8d7cd..52a5903ea3cd0f0f19534ae186413b2b5e0aab9c 100644 --- a/src/main/java/ui/ActionPerformer.java +++ b/src/main/java/ui/ActionPerformer.java @@ -103,6 +103,8 @@ public class ActionPerformer { mgui.saveLastRGAUTProj(); } else if (command.equals(mgui.actions[TGUIAction.ACT_SAVE_AUTMODIFIED].getActionCommand())) { mgui.saveLastModifiedRG(); + } else if (command.equals(mgui.actions[TGUIAction.ACT_CLEAR_VERIFICATION_RESULT].getActionCommand())) { + mgui.clearVerificationResults(); } else if (command.equals(mgui.actions[TGUIAction.ACT_EXPORT_LIB].getActionCommand())) { mgui.exportLibrary(); } else if (command.equals(mgui.actions[TGUIAction.ACT_IMPORT_LIB].getActionCommand())) { diff --git a/src/main/java/ui/MainGUI.java b/src/main/java/ui/MainGUI.java index 4e4ac2d80c135041cbaa0fe704140c5705bb1835..3d652cea026ef2fc6216287a4c92411e40ebe877 100644 --- a/src/main/java/ui/MainGUI.java +++ b/src/main/java/ui/MainGUI.java @@ -4997,6 +4997,17 @@ public class MainGUI implements ActionListener, WindowListener, KeyListener, Per } } + public void clearVerificationResults() { + TDiagramPanel panel = getCurrentTDiagramPanel(); + if (panel == null) { + return; + } + panel.resetVerificationResults(); + panel.repaint(); + + + } + public void avatarProVerifVerification() { boolean limit = true; TraceManager.addDev("AVATAR PROVERIF FV"); diff --git a/src/main/java/ui/TDiagramPanel.java b/src/main/java/ui/TDiagramPanel.java index d87044509af0787d648d7c9770496031f6eb40a7..3c427861a6de30a219acccdf2768d9d54099f39a 100644 --- a/src/main/java/ui/TDiagramPanel.java +++ b/src/main/java/ui/TDiagramPanel.java @@ -2528,6 +2528,12 @@ public abstract class TDiagramPanel extends JPanel implements GenericTree { } } + public void resetVerificationResults() { + for(TGComponent tgc: getAllComponentList()) { + tgc.resetVerificationResults(); + } + } + public void cloneComponent(TGComponent _tgc) { cloneComponent(_tgc, true); diff --git a/src/main/java/ui/TGComponent.java b/src/main/java/ui/TGComponent.java index f6fb87508226da0d2c57f8557dcb914616a75360..da337863120fce2b252234508197f3407f626f1d 100644 --- a/src/main/java/ui/TGComponent.java +++ b/src/main/java/ui/TGComponent.java @@ -3505,6 +3505,12 @@ public abstract class TGComponent extends AbstractCDElement implements /*CDElem public void postLoading(int decId) throws MalformedModelingException { } + public void resetVerificationResults() { + reachability = ACCESSIBILITY_UNKNOWN; + liveness = ACCESSIBILITY_UNKNOWN; + mutex = MUTEX_NOT_YET_STUDIED; + } + @Override public String toString() { String s1 = getName(); diff --git a/src/main/java/ui/TGUIAction.java b/src/main/java/ui/TGUIAction.java index 6cc7e341237163a62c1d29f5be0b0c7d6f96b8ee..a6f98b64e26e7648bdb76dd773858ab3f6a708f0 100644 --- a/src/main/java/ui/TGUIAction.java +++ b/src/main/java/ui/TGUIAction.java @@ -99,6 +99,8 @@ public class TGUIAction extends AbstractAction { public static final int ACT_ENHANCE = 160; public static final int ACT_TTOOL_CONFIGURATION = 323; + public static final int ACT_CLEAR_VERIFICATION_RESULT = 558; + public static final int TCD_EDIT = 5; public static final int TCD_NEW_TCLASS = 6; @@ -717,7 +719,7 @@ public class TGUIAction extends AbstractAction { public static final int SysMLV2_TEXT = 557; - public static final int NB_ACTION = 558; // Last + 1 + public static final int NB_ACTION = 559; // Last + 1 private static final TAction [] actions = new TAction[NB_ACTION]; @@ -846,6 +848,11 @@ public class TGUIAction extends AbstractAction { actions[ACT_SAVE_AUTPROJ] = new TAction("save-last-rg-autproj", "Save last minimized RG (AUT format)",IconManager.imgic24, IconManager.imgic25, "Save last minimized RG (AUT format)", "Save the lastest minimized RG (AUT Format)", 0); actions[ACT_SAVE_AUTMODIFIED] = new TAction("save-last-rg-modified", "Save last modified RG (AUT format)",IconManager.imgic24, IconManager.imgic25, "Save last modified RG (AUT format)", "Save the lastest modified RG (AUT Format)", 0); + actions[ACT_CLEAR_VERIFICATION_RESULT] = new TAction("clear-verif-result", "Clear verification results",IconManager.imgic150, + IconManager.imgic151, + "Clear verification results", "Clear verification results", 0); + + actions[ACT_IMPORT_LIB] = new TAction("import-lib-command", "Import library", IconManager.imgic338, IconManager.imgic339, "Import library", "Import a TTool library", 'E'); actions[ACT_EXPORT_LIB] = new TAction("export-lib-command", "Export library", IconManager.imgic340, IconManager.imgic341, "Export library", "Export a TTool library", 'I'); diff --git a/src/main/java/ui/avatarbd/AvatarBDPerformancePragma.java b/src/main/java/ui/avatarbd/AvatarBDPerformancePragma.java index d3251d14f5cf959ea4cf36fb184aa90c93740b92..e51b00f6ec16ee7a17f3376d317ffa40b5d224d8 100644 --- a/src/main/java/ui/avatarbd/AvatarBDPerformancePragma.java +++ b/src/main/java/ui/avatarbd/AvatarBDPerformancePragma.java @@ -457,4 +457,8 @@ public class AvatarBDPerformancePragma extends TGCScalableWithoutInternalCompone throw new MalformedModelingException(); } } + + public void resetVerificationResults() { + verifMap.clear(); + } } diff --git a/src/main/java/ui/avatarbd/AvatarBDPragma.java b/src/main/java/ui/avatarbd/AvatarBDPragma.java index 79a1a2045862f4a0fe57313d41d3ea996c0fd518..ba3e1d16d1cfe34734a1e23a04e8c4ace5e4146c 100755 --- a/src/main/java/ui/avatarbd/AvatarBDPragma.java +++ b/src/main/java/ui/avatarbd/AvatarBDPragma.java @@ -523,4 +523,9 @@ public class AvatarBDPragma extends TGCScalableWithoutInternalComponent { } } } + + public void resetVerificationResults() { + authStrongMap.clear(); + authWeakMap.clear(); + } } diff --git a/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java b/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java index 0573c230aab2e8e352bd97aee883be291e1cc545..ae2c4de2d8507ff00315f28867542287a2a4677f 100644 --- a/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java +++ b/src/main/java/ui/avatarbd/AvatarBDSafetyPragma.java @@ -404,4 +404,8 @@ public class AvatarBDSafetyPragma extends TGCScalableWithoutInternalComponent { throw new MalformedModelingException(); } } + + public void resetVerificationResults() { + verifMap.clear(); + } } diff --git a/src/main/java/ui/avatarbd/AvatarBDToolBar.java b/src/main/java/ui/avatarbd/AvatarBDToolBar.java index 3d6da328287d3a2adfd37c1787ca1354b176b3a0..33d1b15ff3bc5451db1949e7b36c1fa4e7b4a085 100644 --- a/src/main/java/ui/avatarbd/AvatarBDToolBar.java +++ b/src/main/java/ui/avatarbd/AvatarBDToolBar.java @@ -101,6 +101,8 @@ public class AvatarBDToolBar extends TToolBar { mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b); + mgui.actions[TGUIAction.ACT_CLEAR_VERIFICATION_RESULT].setEnabled(b); + } @Override @@ -200,6 +202,11 @@ public class AvatarBDToolBar extends TToolBar { button = this.add(mgui.actions[TGUIAction.ACT_ENHANCE]); button.addMouseListener(mgui.mouseHandler); + this.addSeparator(); + + button = this.add(mgui.actions[TGUIAction.ACT_CLEAR_VERIFICATION_RESULT]); + button.addMouseListener(mgui.mouseHandler); + } diff --git a/src/main/java/ui/avatarsmd/AvatarSMDState.java b/src/main/java/ui/avatarsmd/AvatarSMDState.java index 22b678169ed3cb006c87726dd82c7e2531b73b04..33c8c8bfdeadb03b37e09704b0c5f5702f1ecdd3 100644 --- a/src/main/java/ui/avatarsmd/AvatarSMDState.java +++ b/src/main/java/ui/avatarsmd/AvatarSMDState.java @@ -195,6 +195,11 @@ public class AvatarSMDState extends TGCScalableWithInternalComponent implements mutexStates = null; } + public void resetVerificationResults() { + super.resetVerificationResults(); + reinitMutualExclusionStates(); + } + // @Override public void internalDrawing(Graphics g) { diff --git a/src/main/java/ui/avatarsmd/AvatarSMDToolBar.java b/src/main/java/ui/avatarsmd/AvatarSMDToolBar.java index 8cb160e49cbd6f51fec058d8fcc050dce47a9644..b4c97efbb2fdd7f1496929d82a76a1086f19f585 100755 --- a/src/main/java/ui/avatarsmd/AvatarSMDToolBar.java +++ b/src/main/java/ui/avatarsmd/AvatarSMDToolBar.java @@ -101,6 +101,8 @@ public class AvatarSMDToolBar extends TToolBar { mgui.actions[TGUIAction.ACT_TOGGLE_AVATAR_ID].setEnabled(b); mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b); + + mgui.actions[TGUIAction.ACT_CLEAR_VERIFICATION_RESULT].setEnabled(b); mgui.updateZoomInfo(); } @@ -209,6 +211,11 @@ public class AvatarSMDToolBar extends TToolBar { button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_AVATAR_ID]); button.addMouseListener(mgui.mouseHandler); + + this.addSeparator(); + + button = this.add(mgui.actions[TGUIAction.ACT_CLEAR_VERIFICATION_RESULT]); + button.addMouseListener(mgui.mouseHandler); } } // Class diff --git a/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java b/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java index 7fe489c5a44153568706dfec73a00d795e70c5a5..e10ab764ef4e9d874e76b916d50d185f3e7a54db 100755 --- a/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java +++ b/src/main/java/ui/tmlcompd/TMLCPrimitivePort.java @@ -1,1268 +1,1244 @@ /* Copyright or (C) or Copr. GET / ENST, Telecom-Paris, Ludovic Apvrille - * - * ludovic.apvrille AT enst.fr - * - * This software is a computer program whose purpose is to allow the - * edition of TURTLE analysis, design and deployment diagrams, to - * allow the generation of RT-LOTOS or Java code from this diagram, - * and at last to allow the analysis of formal validation traces - * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP - * from INRIA Rhone-Alpes. - * - * This software is governed by the CeCILL license under French law and - * abiding by the rules of distribution of free software. You can use, - * modify and/ or redistribute the software under the terms of the CeCILL - * license as circulated by CEA, CNRS and INRIA at the following URL - * "http://www.cecill.info". - * - * As a counterpart to the access to the source code and rights to copy, - * modify and redistribute granted by the license, users are provided only - * with a limited warranty and the software's author, the holder of the - * economic rights, and the successive licensors have only limited - * liability. - * - * In this respect, the user's attention is drawn to the risks associated - * with loading, using, modifying and/or developing or reproducing the - * software by the user in light of its specific status of free software, - * that may mean that it is complicated to manipulate, and that also - * therefore means that it is reserved for developers and experienced - * professionals having in-depth computer knowledge. Users are therefore - * encouraged to load and test the software's suitability as regards their - * requirements in conditions enabling the security of their systems and/or - * data to be ensured and, more generally, to use and operate it in the - * same conditions as regards security. - * - * The fact that you are presently reading this means that you have had - * knowledge of the CeCILL license and that you accept its terms. - */ - -package ui.tmlcompd; - -import myutil.GraphicLib; -import myutil.TraceManager; -import org.w3c.dom.Element; -import org.w3c.dom.Node; -import org.w3c.dom.NodeList; -import tmltranslator.TMLPortWithSecurityInformation; -import ui.*; -import ui.util.IconManager; -import ui.window.JDialogTMLCompositePort; -import ui.avatarrd.AvatarRDRequirement; -import ui.tmlad.TMLADReadChannel; -import ui.tmlad.TMLADWriteChannel; -import ui.tmlad.TMLADSendEvent; -import ui.tmlad.TMLADSendRequest; -import ui.tmlad.TMLADWaitEvent; -import ui.tmlad.TMLADNotifiedEvent; -import ui.tmldd.TMLArchiCPNode; -import ui.tmldd.TMLArchiPortArtifact; - -import proverifspec.ProVerifResultTrace; -import proverifspec.ProVerifResultTraceStep; - -import java.io.IOException; -import java.io.InputStreamReader; -import java.io.OutputStreamWriter; -import java.io.PipedInputStream; -import java.io.PipedOutputStream; -import java.io.BufferedReader; -import java.io.BufferedWriter; -import ui.interactivesimulation.JFrameSimulationSDPanel; - -import javax.swing.*; -import java.awt.*; -import java.util.ArrayList; -import java.util.List; -import java.util.Vector; - -/** - * Class TMLCPrimitivePort - * Primitive port. To be used in TML component task diagrams - * Creation: 12/03/2008 - * @version 1.0 12/03/2008 - * @author Ludovic APVRILLE - */ -public abstract class TMLCPrimitivePort extends TGCScalableWithInternalComponent implements SwallowedTGComponent, LinkedReference, WithAttributes, - TMLPortWithSecurityInformation { - - protected Color myColor; - protected int orientation; - protected int oldx, oldy; - protected int halfwidth = 13; - protected int currentOrientation = GraphicLib.NORTH; - - protected int nbMaxAttribute = 5; - protected TType list[]; - protected int maxSamples = 8; - protected int widthSamples = 4; - protected boolean isFinite = false; - protected boolean isBlocking = true; - public boolean isOrigin = true; - public int typep = 0; - protected int oldTypep = typep; - public String commName; - - //Authenticity lock parameters - protected int authlockwidth=(int) (16*tdp.getZoom()); - protected int authlockheight=(int) (16*tdp.getZoom()); - - protected int xc=(int) (18*tdp.getZoom()); - protected int yc= (int) (12*tdp.getZoom()); - - protected int authxoffset= (int) (20*tdp.getZoom()); - protected int authyoffset= (int) (18*tdp.getZoom()); - - protected int authovalwidth=(int) (10*tdp.getZoom()); - protected int authovalheight=(int) (15*tdp.getZoom()); - - - //Confidentiality lock parameters - protected int conflockwidth=(int) (9*tdp.getZoom()); - protected int conflockheight=(int) (7*tdp.getZoom()); - protected int confyoffset = 3*conflockheight; - - protected int confovalwidth=(int) (6*tdp.getZoom()); - protected int confovalheight=(int) (9*tdp.getZoom()); - - protected boolean isLossy; - protected boolean isPostex = false; - protected boolean isPrex = false; - protected int lossPercentage; - protected int maxNbOfLoss; //-1 means no max - - //Security Verification - public int checkConfStatus; - - public int checkSecConfStatus; - public String secName = ""; - - public int checkWeakAuthStatus; - public int checkStrongAuthStatus; - public boolean checkConf; - public boolean checkAuth; - public static int NOCHECK= 0; - public static int TOCHECK = 1; - public static int CHECKED_CONF = 2; - public static int CHECKED_UNCONF = 3; - - //ProVerifTrace - String pragma; - ProVerifResultTrace resTrace; - - - public String mappingName="???"; - protected int decPoint = 3; - - - protected boolean conflict = false; - protected String conflictMessage; - protected String dataFlowType = "VOID"; - protected String associatedEvent = "VOID"; - - // Network - protected int vc = 0; - - - public int verification; - public String oldName; - - public TMLCPrimitivePort(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) { - super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp); - - initScaling(2*halfwidth, 2*halfwidth); - - minWidth = 1; - minHeight = 1; - - addTGConnectingPointsComment(); - - nbInternalTGComponent = 0; - - moveable = true; - editable = true; - removable = true; - userResizable = false; - checkConf=false; - - //#issue 82 - commName = tdp.findTMLCPrimitivePortName("comm_"); - //commName = "comm"; - //value = "MyName"; - makeValue(); - setName("Primitive port"); - checkConfStatus= NOCHECK; - list = new TType[nbMaxAttribute]; - for(int i=0; i<nbMaxAttribute; i++) { - list[i] = new TType(); - } - - myImageIcon = IconManager.imgic1206; - } - - public void initConnectingPoint(boolean in, boolean out, int nb) { - nbConnectingPoint = nb; - connectingPoint = new TGConnectingPoint[nb]; - int i; - for (i=0; i<nbConnectingPoint; i++) { - connectingPoint[i] = new TMLCPortConnectingPoint(this, 0, 0, in, out, 0.5, 0.0); - } - } - - public Color getMyColor() { - return myColor; - } - - @Override - public void internalDrawing(Graphics g) { - if ((x != oldx) | (oldy != y)) { - // Component has moved! - manageMove(); - oldx = x; - oldy = y; - } - - // - calculatePortColor(); - - if (rescaled) { - rescaled = false; - } - - // Zoom is assumed to be computed - Color c = g.getColor(); - if ((width > 2) && (height > 2)) { - g.setColor(myColor); - g.fillRect(x, y, width, height); - if (conflict) { - if (typep == 0) { - g.setColor(ColorManager.TML_PORT_CHANNEL); - } else if (typep == 1) { - g.setColor(ColorManager.TML_PORT_EVENT); - } else { - g.setColor(ColorManager.TML_PORT_REQUEST); - } - g.fillRect(x, y, width, height/2); - } - - g.setColor(c); - } - g.drawRect(x, y, width, height); - - - int []px = new int[5]; - int []py = new int[5]; - - int xtmp, xtmp1, xtmp2, ytmp, ytmp1, ytmp2; - - switch(currentOrientation) { - case GraphicLib.NORTH: - px[0] = x + decPoint; - px[1] = x + width - decPoint; - xtmp = x + width/2; - ytmp1 = y + decPoint; - ytmp2 = y + height - decPoint; - if (isOrigin()) { - py[0] = ytmp2; - py[1] = ytmp2; - ytmp = ytmp1; - } else { - py[0] = ytmp1; - py[1] = ytmp1; - ytmp = ytmp2; - } - break; - case GraphicLib.SOUTH: - px[0] = x + decPoint; - px[1] = x + width - decPoint; - xtmp = x + width/2; - ytmp1 = y + decPoint; - ytmp2 = y + height - decPoint; - if (isOrigin()) { - py[0] = ytmp1; - py[1] = ytmp1; - ytmp = ytmp2; - } else { - py[0] = ytmp2; - py[1] = ytmp2; - ytmp = ytmp1; - } - break; - case GraphicLib.WEST: - py[0] = y + decPoint; - py[1] = y + height - decPoint; - ytmp = y + height / 2; - xtmp2 = x + decPoint; - xtmp1 = x + width - decPoint; - if (isOrigin()) { - px[0] = xtmp1; - px[1] = xtmp1; - xtmp = xtmp2; - } else { - px[0] = xtmp2; - px[1] = xtmp2; - xtmp = xtmp1; - } - break; - case GraphicLib.EAST: - default: - py[0] = y + decPoint; - py[1] = y + height - decPoint; - ytmp = y + height / 2; - xtmp2 = x + decPoint; - xtmp1 = x + width - decPoint; - if (isOrigin()) { - px[0] = xtmp2; - px[1] = xtmp2; - xtmp = xtmp1; - } else { - px[0] = xtmp1; - px[1] = xtmp1; - xtmp = xtmp2; - } - } - - px[2] = xtmp; - py[2] = ytmp; - - if (isLossy) { - g.setColor(ColorManager.LOSSY); - } - g.drawPolygon(px, py, 3); - g.fillPolygon(px, py, 3); - g.setColor(c); - - if (isBlocking) { - switch(currentOrientation) { - case GraphicLib.NORTH: - case GraphicLib.SOUTH: - px[3] = x + decPoint; - px[4] = x + width - decPoint; - py[3] = ytmp; - py[4] = ytmp; - break; - case GraphicLib.WEST: - case GraphicLib.EAST: - py[3] = y + decPoint; - py[4] = y + height - decPoint; - px[3] = xtmp; - px[4] = xtmp; - break; - } - g.drawLine(px[4], py[4], px[3], py[3]); - } - - TGComponent tgc = getFather(); - int ft = 10; - if ((tgc != null) && (tgc instanceof TMLCPrimitiveComponent)) { - ft = g.getFont().getSize();// Issue #31 ((TMLCPrimitiveComponent)tgc).getCurrentFontSize(); - // - } - // - int w; - Font f = g.getFont(); - Font fold = f; - // Issue #31: The commName was not zooming - //int si = Math.min(8, (int)((float)ft - 2)); - //f = f.deriveFont((float)si); - //g.setFont(f); - //w = g.getFontMetrics().stringWidth(commName); - //if (w < ((int)(width * 1.5))) { - // drawSingleString(g,commName, x, y-1); - //} - //drawSingleString(g,commName, x, y -1); - drawSingleString(g, commName, x, y -1); - if (checkConf && isOrigin){ - drawConfVerification(g); - } - if (checkAuth && !isOrigin){ - drawAuthVerification(g); - } - g.setFont(fold); - - drawParticularity(g); - } - - public abstract void drawParticularity(Graphics g); - - - public void drawAuthVerification(Graphics g){ - - drawSingleString(g,secName, x-xc*2/3, y+yc*2/3); - Color c = g.getColor(); - Color c1; - Color c2; - switch(checkStrongAuthStatus) { - case 2: - c1 = Color.green; - break; - case 3: - c1 = Color.red; - break; - default: - c1 = Color.gray; - } - switch(checkWeakAuthStatus) { - case 2: - c2 = Color.green; - break; - case 3: - c2 = Color.red; - break; - default: - c2= c1; - } - - g.drawOval(x-xc, y+yc, authovalwidth, authovalheight); - g.setColor(c1); - int[] xps = new int[]{x-authxoffset, x-authxoffset, x-authxoffset+authlockwidth}; - int[] yps = new int[]{y+authyoffset, y+authyoffset+authlockheight, y+authyoffset+authlockheight}; - int[] xpw = new int[]{x-authxoffset+authlockwidth, x-authxoffset+authlockwidth, x-authxoffset}; - int[] ypw = new int[]{y+authyoffset+authlockheight, y+authyoffset, y+authyoffset}; - g.fillPolygon(xps, yps,3); - - g.setColor(c2); - g.fillPolygon(xpw, ypw, 3); - g.setColor(c); - g.drawPolygon(xps, yps,3); - g.drawPolygon(xpw, ypw, 3); - drawSingleString(g,"S", x-authxoffset+1, y+yc+authyoffset); - drawSingleString(g,"W", x-authxoffset+authlockwidth/2, y+yc+authovalheight); - if (checkStrongAuthStatus ==3){ - g.drawLine(x-authxoffset, y+authyoffset*3/2, x-authxoffset/2, y+authyoffset+yc); - g.drawLine(x-authxoffset, y+authyoffset+yc, x-authxoffset/2, y+authyoffset*3/2); - } - if (checkWeakAuthStatus==3 || checkStrongAuthStatus==3 && checkWeakAuthStatus <2){ - g.drawLine(x-xc*2/3, y+authyoffset, x-xc/3, y+yc+authlockheight); - g.drawLine(x-xc*2/3, y+yc+authlockheight, x-xc/3, y+authyoffset); - } - } - - - public void drawConfVerification(Graphics g){ - - - Color c = g.getColor(); - Color c1; - switch(checkConfStatus) { - case 1: - c1 = Color.gray; - break; - case 2: - c1 = Color.green; - break; - case 3: - c1 = Color.red; - break; - default: - return; - } - drawSingleString(g,mappingName, x-conflockwidth*2, y-conflockheight); - g.drawOval(x-confovalwidth*2, y, confovalwidth, confovalheight); - g.setColor(c1); - g.fillRect(x-conflockwidth*3/2, y+conflockheight/2, conflockwidth, conflockheight); - g.setColor(c); - g.drawRect(x-conflockwidth*3/2, y+conflockheight/2, conflockwidth, conflockheight); - if (checkConfStatus==3){ - g.drawLine(x-conflockwidth*2, y, x, y+conflockheight*2); - g.drawLine(x-conflockwidth*2, y+conflockheight*2, x, y); - } - - - if (!secName.equals("")){ - switch(checkSecConfStatus) { - case 1: - c1 = Color.gray; - break; - case 2: - c1 = Color.green; - break; - case 3: - c1 = Color.red; - break; - default: - return; - } - drawSingleString(g,secName, x-conflockwidth*2, y+conflockheight*3); - g.drawOval(x-confovalwidth*2, y+confyoffset, confovalwidth, confovalheight); - g.setColor(c1); - g.fillRect(x-conflockwidth*3/2, y+conflockheight/2+confyoffset, conflockwidth, conflockheight); - g.setColor(c); - g.drawRect(x-conflockwidth*3/2, y+conflockheight/2+confyoffset, conflockwidth, conflockheight); - } - } - - - - public void manageMove() { - // - if (father != null) { - // - Point p = GraphicLib.putPointOnRectangle(x+(width/2), y+(height/2), father.getX(), father.getY(), father.getWidth(), father.getHeight()); - - x = p.x - width/2; - y = p.y - height/2; - - setMoveCd(x, y); - - int orientation = GraphicLib.getCloserOrientation(x+(width/2), y+(height/2), father.getX(), father.getY(), father.getWidth(), father.getHeight()); - if (orientation != currentOrientation) { - setOrientation(orientation); - } - } - } - - // TGConnecting points .. - public void setOrientation(int orientation) { - currentOrientation = orientation; - double w0, h0;//,w1, h1; - - switch(orientation) { - case GraphicLib.NORTH: - w0 = 0.5; - h0 = 0.0; - break; - case GraphicLib.WEST: - w0 = 0.0; - h0 = 0.5; - break; - case GraphicLib.SOUTH: - w0 = 0.5; - h0 = 1.0; - break; - case GraphicLib.EAST: - default: - w0 = 1.0; - h0 = 0.5; - } - - for (int i=0; i<nbConnectingPoint; i++) { - ((TMLCPortConnectingPoint)(connectingPoint[i])).setW(w0); - ((TMLCPortConnectingPoint)(connectingPoint[i])).setH(h0); - } - } - - @Override - public TGComponent isOnOnlyMe(int _x, int _y) { - if (GraphicLib.isInRectangle(_x, _y, x, y, width, height)) { - return this; - } - else if(checkAuth && !isOrigin && GraphicLib.isInRectangle(_x, _y, x-authxoffset, y, authxoffset, authlockheight)){ - return this; - } - else if (checkConf && isOrigin && GraphicLib.isInRectangle(_x, _y, x-conflockwidth*3/2, y, conflockwidth*3/2, height)){ - return this; - } - return null; - } - - - //public abstract int getType(); - - @Override - public void wasSwallowed() { - myColor = null; - } - - @Override - public void wasUnswallowed() { - myColor = null; - setFather(null); - TDiagramPanel tdp = getTDiagramPanel(); - setCdRectangle(tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY()); - - } - - @Override - public void resizeWithFather() { - // - if ((father != null) && (father instanceof TMLCPrimitiveComponent)) { - // Too large to fit in the father? -> resize it! - //resizeToFatherSize(); - // - setCdRectangle(0-getWidth()/2, father.getWidth() - (getWidth()/2), 0-getHeight()/2, father.getHeight() - (getHeight()/2)); - setMoveCd(x, y); - oldx = -1; - oldy = -1; - } - } - - @Override - public boolean editOnDoubleClick(JFrame frame) { - // - //String oldValue = valueOCL; - int oldSample = maxSamples; - // int oldWidthSample = widthSamples; - - - Vector<String> otherTypes; - - if (getFather() == null) { - otherTypes = new Vector<String>(); - } else { - TMLCPrimitiveComponent tgc = (TMLCPrimitiveComponent)(getFather()); - otherTypes = tgc.getAllRecords(); - } - Vector<TGComponent> refs = new Vector<TGComponent>(); - for (TGComponent req: tdp.getMGUI().getAllRequirements()){ - // - if (req instanceof AvatarRDRequirement){ - refs.add(req); - } - } - - JDialogTMLCompositePort jda = new JDialogTMLCompositePort(commName, typep, list[0], list[1], list[2], list[3], list[4], isOrigin, isFinite, isBlocking, ""+maxSamples, ""+widthSamples, isLossy, lossPercentage, maxNbOfLoss, frame, "Port properties", otherTypes, dataFlowType, associatedEvent, isPrex, isPostex, checkConf, checkAuth, reference, refs, vc); - // jda.setSize(350, 700); - GraphicLib.centerOnParent(jda, 350, 700 ); - // jda.show(); // blocked until dialog has been closed - jda.setVisible( true ); - dataFlowType = jda.getDataFlowType(); - associatedEvent = jda.getAssociatedEvent(); - isPrex = jda.isChannelPrex(); - isPostex = jda.isChannelPostex(); - - TraceManager.addDev( "The Data flow type is: " + dataFlowType ); - TraceManager.addDev( "The Associated event is: " + associatedEvent ); - - oldName = getPortName(); - //TraceManager.addDev("old port name : " + oldName); - - if (jda.hasNewData()) { - try { - maxSamples = Integer.decode(jda.getMaxSamples()).intValue(); - widthSamples = Integer.decode(jda.getWidthSamples()).intValue(); - if (maxSamples < 1) { - maxSamples = oldSample; - JOptionPane.showMessageDialog(frame, "Non valid value: " + maxSamples + ": Should be at least 1", "Error", JOptionPane.INFORMATION_MESSAGE); - return false; - } - isOrigin = jda.isOrigin(); - isFinite = jda.isFinite(); - isBlocking = jda.isBlocking(); - - /* is port name valid ? - * author : minh hiep - */ - String s = jda.getParamName(); - //TraceManager.addDev("port name : " + s); - - if ((s != null) && (s.length() > 0)) { - // Check whether this name is already in use, or not - - if (!TAttribute.isAValidPortName(s, false, true, false,false)) { - JOptionPane.showMessageDialog(frame, - "Could not change the name of the port: the new name (" + s + ") is not a valid name", - "Error", - JOptionPane.INFORMATION_MESSAGE); - return false; - } - - if (oldName.compareTo(s) != 0) { - if (((TMLComponentTaskDiagramPanel) tdp).namePrimitivePortInUse(this, s)) { - JOptionPane.showMessageDialog(frame, - "Error: the name (" + s + ") is already in use", - "Name modification", - JOptionPane.ERROR_MESSAGE); - return false; - } - } - setPortName(s); - commName = s; - } - - //setPortName(jda.getParamName()); - //commName = jda.getParamName(); - isLossy = jda.isLossy(); - lossPercentage = jda.getLossPercentage(); - maxNbOfLoss = jda.getMaxNbOfLoss(); - oldTypep = typep; - typep = jda.getPortType(); - checkConf = jda.checkConf; - reference = jda.getReference(); - if (checkConf){ - if (checkConfStatus == NOCHECK){ - checkConfStatus = TOCHECK; - } - } - else { - if (checkConfStatus != NOCHECK){ - checkConfStatus = NOCHECK; - } - } - checkAuth = jda.checkAuth; - if (checkStrongAuthStatus < 2){ - checkStrongAuthStatus = 1; - checkWeakAuthStatus = 1; - } - for(int i=0; i<nbMaxAttribute; i++) { - //TraceManager.addDev("Getting string type: " + jda.getStringType(i)); - list[i].setType(jda.getStringType(i)); - //TraceManager.addDev("Recorded type: " + list[i].getTypeOther()); - } - vc = jda.getVC(); - } catch (Exception e) { - JOptionPane.showMessageDialog(frame, "Non valid value: " + e.getMessage(), "Error", JOptionPane.INFORMATION_MESSAGE); - return false; - } - } - - - ((TMLComponentTaskDiagramPanel)tdp).updatePorts(); - - - return true; - } - - public void showTrace(){ - //Show Result trace - if (resTrace==null){ - return; - } - PipedOutputStream pos = new PipedOutputStream(); - try { - PipedInputStream pis = new PipedInputStream(pos, 4096); - BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(pos)); - String title = ""; - if (isOrigin){ - title = "Trace for confidentiality property of "; - } - else { - title = "Trace for authenticity property of "; - } - JFrameSimulationSDPanel jfssdp = new JFrameSimulationSDPanel(null, tdp.getMGUI(), title + pragma); - jfssdp.setIconImage(IconManager.img8); - GraphicLib.centerOnParent(jfssdp, 600, 600); - jfssdp.setFileReference(new BufferedReader(new InputStreamReader(pis))); - jfssdp.setVisible(true); - jfssdp.setLimitEntity(false); - //jfssdp.setModalExclusionType(ModalExclusionType - // .APPLICATION_EXCLUDE); - jfssdp.toFront(); - - TraceManager.addDev("\n--- Trace ---"); - int i = 0; - for (ProVerifResultTraceStep step : resTrace.getTrace()) { - TraceManager.addDev("\n--- Trace #" + i + ": " + step.toString()); - step.describeAsTMLSDTransaction(bw, i); - i++; - } - bw.close(); - } catch (IOException e) { - TraceManager.addDev("Error when writing trace step SD transaction"); - } finally { - try { - pos.close(); - } catch (IOException ignored) { - } - } - - } - - @Override - protected String translateExtraParam() { - TType a; - //String val = ""; - StringBuffer sb = new StringBuffer("<extraparam>\n"); - sb.append("<Prop commName=\""); - sb.append(commName); - sb.append("\" commType=\"" + typep); - sb.append("\" origin=\""); - if (isOrigin) { - sb.append("true"); - } else { - sb.append("false"); - } - sb.append("\" finite=\""); - if (isFinite) { - sb.append("true"); - } else { - sb.append("false"); - } - sb.append("\" blocking=\""); - if (isBlocking) { - sb.append("true"); - } else { - sb.append("false"); - } - sb.append("\" maxSamples=\"" + maxSamples); - sb.append("\" widthSamples=\"" + widthSamples); - sb.append("\" isLossy=\"" + isLossy); - sb.append("\" isPrex=\"" + isPrex); - sb.append("\" isPostex=\"" + isPostex); - sb.append("\" lossPercentage=\"" + lossPercentage); - sb.append("\" maxNbOfLoss=\"" + maxNbOfLoss); - sb.append("\" dataFlowType=\"" + dataFlowType); - sb.append("\" associatedEvent=\"" + associatedEvent); - sb.append("\" checkConf=\"" + checkConf); - sb.append("\" checkConfStatus=\"" + checkConfStatus); - sb.append("\" checkAuth=\"" + checkAuth); - sb.append("\" checkWeakAuthStatus=\"" + checkWeakAuthStatus); - sb.append("\" checkStrongAuthStatus=\"" + checkStrongAuthStatus); - sb.append("\" vc=\"" + vc); - sb.append("\" />\n"); - for(int i=0; i<nbMaxAttribute; i++) { - // - a = list[i]; - // - //val = val + a + "\n"; - sb.append("<Type"); - sb.append(" type=\""); - sb.append(a.getType()); - sb.append("\" typeOther=\""); - sb.append(a.getTypeOther()); - sb.append("\" />\n"); - } - sb.append("</extraparam>\n"); - return new String(sb); - } - - @Override - public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException{ - try { - NodeList nli; - Node n1, n2; - Element elt; - //int access; - int typeAtt; - String typeOther; - //String id, valueAtt; - - int nbAttribute = 0; - - // - // - - for(int i=0; i<nl.getLength(); i++) { - n1 = nl.item(i); - // - if (n1.getNodeType() == Node.ELEMENT_NODE) { - nli = n1.getChildNodes(); - for(int j=0; j<nli.getLength(); j++) { - n2 = nli.item(j); - // - if (n2.getNodeType() == Node.ELEMENT_NODE) { - elt = (Element) n2; - if ((elt.getTagName().equals("Type")) && (nbAttribute < nbMaxAttribute)) { - // - typeAtt = Integer.decode(elt.getAttribute("type")).intValue(); - try { - typeOther = elt.getAttribute("typeOther"); - } catch (Exception e) { - typeOther = ""; - } - - TType ta = new TType(typeAtt, typeOther); - list[nbAttribute] = ta; - nbAttribute ++; - - } - - if (elt.getTagName().equals("Prop")) { - // checking the valid port name - oldName = getPortName(); - String s = elt.getAttribute("commName"); - //TraceManager.addDev("port name : " + s); - - if ((s != null) && (s.length() > 0)) { - // Check whether this name is already in use, or not - - if (!TAttribute.isAValidPortName(s, false, true, false,false)) { - throw new MalformedModelingException(); - } - - commName = s; - } - try { - // - typep = Integer.decode(elt.getAttribute("commType")).intValue(); - // - // - maxSamples = Integer.decode(elt.getAttribute("maxSamples")).intValue(); - // - widthSamples = Integer.decode(elt.getAttribute("widthSamples")).intValue(); - - } catch (Exception e) { - - } - - try { - lossPercentage = Integer.decode(elt.getAttribute("lossPercentage")).intValue(); - maxNbOfLoss = Integer.decode(elt.getAttribute("maxNbOfLoss")).intValue(); - dataFlowType = elt.getAttribute("dataFlowType"); - associatedEvent = elt.getAttribute("associatedEvent"); - checkConf = (elt.getAttribute("checkConf").compareTo("true")==0); - if (checkConf){ - checkConfStatus=TOCHECK; - } - checkAuth = (elt.getAttribute("checkAuth").compareTo("true")==0); - isLossy = (elt.getAttribute("isLossy").compareTo("true") ==0); - isPrex = (elt.getAttribute("isPrex").compareTo("true") ==0); - isPostex = (elt.getAttribute("isPostex").compareTo("true") ==0); - } catch (Exception e) { - lossPercentage = 0; - maxNbOfLoss = -1; - isLossy = false; - } - - try { - isBlocking = (elt.getAttribute("blocking").compareTo("true") ==0); - isOrigin = (elt.getAttribute("origin").compareTo("true") ==0); - isFinite = (elt.getAttribute("finite").compareTo("true") ==0); - - } catch (Exception e) {} - - try { - vc = Integer.decode(elt.getAttribute("vc")); - } catch (Exception e) { - vc = 0; - } - - } - - makeValue(); - } - } - } - } - - } catch (Exception e) { - throw new MalformedModelingException(); - } - } - - public void makeValue() { - value = getPortTypeName() + " " + getPortName(); - } - - public String getPortName() { - return commName; - } - - public int getPortType() { - return typep; - } - - public String getPortTypeName() { - switch(typep) { - case 0: - return "Channel"; - case 1: - return "Event"; - case 2: - default: - return "Request"; - } - } - - public boolean isBlocking() { - return isBlocking; - } - - public boolean isFinite() { - return isFinite; - } - - public int getMax() { - return maxSamples; - } - - public int getSize() { - return widthSamples; - } - - public boolean isOrigin() { - return isOrigin; - } - - public int getNbMaxAttribute() { - return nbMaxAttribute; - } - - public TType getParamAt(int index) { - return list[index]; - } - public void setParam(int index, TType t){ - list[index] = t; - } - - @Override - public int getDefaultConnector() { - return TGComponentManager.CONNECTOR_PORT_TMLC; - } - public int getVC() { - return vc; - } - - @Override - public String getAttributes() { - String attr = ""; - if (isOrigin()) { - attr += "out "; - } else { - attr += "in "; - } - attr += getPortTypeName() + ": "; - attr += getPortName() + "\n"; + * + * ludovic.apvrille AT enst.fr + * + * This software is a computer program whose purpose is to allow the + * edition of TURTLE analysis, design and deployment diagrams, to + * allow the generation of RT-LOTOS or Java code from this diagram, + * and at last to allow the analysis of formal validation traces + * obtained from external tools, e.g. RTL from LAAS-CNRS and CADP + * from INRIA Rhone-Alpes. + * + * This software is governed by the CeCILL license under French law and + * abiding by the rules of distribution of free software. You can use, + * modify and/ or redistribute the software under the terms of the CeCILL + * license as circulated by CEA, CNRS and INRIA at the following URL + * "http://www.cecill.info". + * + * As a counterpart to the access to the source code and rights to copy, + * modify and redistribute granted by the license, users are provided only + * with a limited warranty and the software's author, the holder of the + * economic rights, and the successive licensors have only limited + * liability. + * + * In this respect, the user's attention is drawn to the risks associated + * with loading, using, modifying and/or developing or reproducing the + * software by the user in light of its specific status of free software, + * that may mean that it is complicated to manipulate, and that also + * therefore means that it is reserved for developers and experienced + * professionals having in-depth computer knowledge. Users are therefore + * encouraged to load and test the software's suitability as regards their + * requirements in conditions enabling the security of their systems and/or + * data to be ensured and, more generally, to use and operate it in the + * same conditions as regards security. + * + * The fact that you are presently reading this means that you have had + * knowledge of the CeCILL license and that you accept its terms. + */ + + package ui.tmlcompd; + + import myutil.GraphicLib; + import myutil.TraceManager; + import org.w3c.dom.Element; + import org.w3c.dom.Node; + import org.w3c.dom.NodeList; + import proverifspec.ProVerifResultTrace; + import proverifspec.ProVerifResultTraceStep; + import tmltranslator.TMLPortWithSecurityInformation; + import ui.*; + import ui.avatarrd.AvatarRDRequirement; + import ui.interactivesimulation.JFrameSimulationSDPanel; + import ui.tmlad.*; + import ui.tmldd.TMLArchiCPNode; + import ui.tmldd.TMLArchiPortArtifact; + import ui.util.IconManager; + import ui.window.JDialogTMLCompositePort; + + import javax.swing.*; + import java.awt.*; + import java.io.*; + import java.util.Vector; + + /** + * Class TMLCPrimitivePort + * Primitive port. To be used in TML component task diagrams + * Creation: 12/03/2008 + * + * @author Ludovic APVRILLE + * @version 1.0 12/03/2008 + */ + public abstract class TMLCPrimitivePort extends TGCScalableWithInternalComponent implements SwallowedTGComponent, LinkedReference, WithAttributes, + TMLPortWithSecurityInformation { + + public static int NOCHECK = 0; + public static int TOCHECK = 1; + public static int CHECKED_CONF = 2; + public static int CHECKED_UNCONF = 3; + public boolean isOrigin = true; + public int typep = 0; + public String commName; + //Security Verification + + public int checkConfStatus; + public int checkSecConfStatus; + public String secName = ""; + public int checkWeakAuthStatus; + public int checkStrongAuthStatus; + public boolean checkConf; + public boolean checkAuth; + public String mappingName = "???"; + public int verification; + public String oldName; + protected Color myColor; + protected int orientation; + protected int oldx, oldy; + protected int halfwidth = 13; + protected int currentOrientation = GraphicLib.NORTH; + protected int nbMaxAttribute = 5; + protected TType list[]; + protected int maxSamples = 8; + protected int widthSamples = 4; + protected boolean isFinite = false; + protected boolean isBlocking = true; + protected int oldTypep = typep; + //Authenticity lock parameters + protected int authlockwidth = (int) (16 * tdp.getZoom()); + protected int authlockheight = (int) (16 * tdp.getZoom()); + protected int xc = (int) (18 * tdp.getZoom()); + protected int yc = (int) (12 * tdp.getZoom()); + protected int authxoffset = (int) (20 * tdp.getZoom()); + protected int authyoffset = (int) (18 * tdp.getZoom()); + protected int authovalwidth = (int) (10 * tdp.getZoom()); + protected int authovalheight = (int) (15 * tdp.getZoom()); + //Confidentiality lock parameters + protected int conflockwidth = (int) (9 * tdp.getZoom()); + protected int conflockheight = (int) (7 * tdp.getZoom()); + protected int confyoffset = 3 * conflockheight; + protected int confovalwidth = (int) (6 * tdp.getZoom()); + protected int confovalheight = (int) (9 * tdp.getZoom()); + protected boolean isLossy; + protected boolean isPostex = false; + protected boolean isPrex = false; + protected int lossPercentage; + protected int maxNbOfLoss; //-1 means no max + protected int decPoint = 3; + + + protected boolean conflict = false; + protected String conflictMessage; + protected String dataFlowType = "VOID"; + protected String associatedEvent = "VOID"; + + // Network + protected int vc = 0; + //ProVerifTrace + String pragma; + ProVerifResultTrace resTrace; + + public TMLCPrimitivePort(int _x, int _y, int _minX, int _maxX, int _minY, int _maxY, boolean _pos, TGComponent _father, TDiagramPanel _tdp) { + super(_x, _y, _minX, _maxX, _minY, _maxY, _pos, _father, _tdp); + + initScaling(2 * halfwidth, 2 * halfwidth); + + minWidth = 1; + minHeight = 1; + + addTGConnectingPointsComment(); + + nbInternalTGComponent = 0; + + moveable = true; + editable = true; + removable = true; + userResizable = false; + checkConf = false; + + //#issue 82 + commName = tdp.findTMLCPrimitivePortName("comm_"); + //commName = "comm"; + //value = "MyName"; + makeValue(); + setName("Primitive port"); + checkConfStatus = NOCHECK; + list = new TType[nbMaxAttribute]; + for (int i = 0; i < nbMaxAttribute; i++) { + list[i] = new TType(); + } + + myImageIcon = IconManager.imgic1206; + } + + public void initConnectingPoint(boolean in, boolean out, int nb) { + nbConnectingPoint = nb; + connectingPoint = new TGConnectingPoint[nb]; + int i; + for (i = 0; i < nbConnectingPoint; i++) { + connectingPoint[i] = new TMLCPortConnectingPoint(this, 0, 0, in, out, 0.5, 0.0); + } + } + + public Color getMyColor() { + return myColor; + } + + @Override + public void internalDrawing(Graphics g) { + if ((x != oldx) | (oldy != y)) { + // Component has moved! + manageMove(); + oldx = x; + oldy = y; + } + + // + calculatePortColor(); + + if (rescaled) { + rescaled = false; + } + + // Zoom is assumed to be computed + Color c = g.getColor(); + if ((width > 2) && (height > 2)) { + g.setColor(myColor); + g.fillRect(x, y, width, height); + if (conflict) { + if (typep == 0) { + g.setColor(ColorManager.TML_PORT_CHANNEL); + } else if (typep == 1) { + g.setColor(ColorManager.TML_PORT_EVENT); + } else { + g.setColor(ColorManager.TML_PORT_REQUEST); + } + g.fillRect(x, y, width, height / 2); + } + + g.setColor(c); + } + g.drawRect(x, y, width, height); + + + int[] px = new int[5]; + int[] py = new int[5]; + + int xtmp, xtmp1, xtmp2, ytmp, ytmp1, ytmp2; + + switch (currentOrientation) { + case GraphicLib.NORTH: + px[0] = x + decPoint; + px[1] = x + width - decPoint; + xtmp = x + width / 2; + ytmp1 = y + decPoint; + ytmp2 = y + height - decPoint; + if (isOrigin()) { + py[0] = ytmp2; + py[1] = ytmp2; + ytmp = ytmp1; + } else { + py[0] = ytmp1; + py[1] = ytmp1; + ytmp = ytmp2; + } + break; + case GraphicLib.SOUTH: + px[0] = x + decPoint; + px[1] = x + width - decPoint; + xtmp = x + width / 2; + ytmp1 = y + decPoint; + ytmp2 = y + height - decPoint; + if (isOrigin()) { + py[0] = ytmp1; + py[1] = ytmp1; + ytmp = ytmp2; + } else { + py[0] = ytmp2; + py[1] = ytmp2; + ytmp = ytmp1; + } + break; + case GraphicLib.WEST: + py[0] = y + decPoint; + py[1] = y + height - decPoint; + ytmp = y + height / 2; + xtmp2 = x + decPoint; + xtmp1 = x + width - decPoint; + if (isOrigin()) { + px[0] = xtmp1; + px[1] = xtmp1; + xtmp = xtmp2; + } else { + px[0] = xtmp2; + px[1] = xtmp2; + xtmp = xtmp1; + } + break; + case GraphicLib.EAST: + default: + py[0] = y + decPoint; + py[1] = y + height - decPoint; + ytmp = y + height / 2; + xtmp2 = x + decPoint; + xtmp1 = x + width - decPoint; + if (isOrigin()) { + px[0] = xtmp2; + px[1] = xtmp2; + xtmp = xtmp1; + } else { + px[0] = xtmp1; + px[1] = xtmp1; + xtmp = xtmp2; + } + } + + px[2] = xtmp; + py[2] = ytmp; + + if (isLossy) { + g.setColor(ColorManager.LOSSY); + } + g.drawPolygon(px, py, 3); + g.fillPolygon(px, py, 3); + g.setColor(c); + + if (isBlocking) { + switch (currentOrientation) { + case GraphicLib.NORTH: + case GraphicLib.SOUTH: + px[3] = x + decPoint; + px[4] = x + width - decPoint; + py[3] = ytmp; + py[4] = ytmp; + break; + case GraphicLib.WEST: + case GraphicLib.EAST: + py[3] = y + decPoint; + py[4] = y + height - decPoint; + px[3] = xtmp; + px[4] = xtmp; + break; + } + g.drawLine(px[4], py[4], px[3], py[3]); + } + + TGComponent tgc = getFather(); + int ft = 10; + if ((tgc != null) && (tgc instanceof TMLCPrimitiveComponent)) { + ft = g.getFont().getSize();// Issue #31 ((TMLCPrimitiveComponent)tgc).getCurrentFontSize(); + // + } + // + int w; + Font f = g.getFont(); + Font fold = f; + // Issue #31: The commName was not zooming + //int si = Math.min(8, (int)((float)ft - 2)); + //f = f.deriveFont((float)si); + //g.setFont(f); + //w = g.getFontMetrics().stringWidth(commName); + //if (w < ((int)(width * 1.5))) { + // drawSingleString(g,commName, x, y-1); + //} + //drawSingleString(g,commName, x, y -1); + drawSingleString(g, commName, x, y - 1); + if (checkConf && isOrigin) { + drawConfVerification(g); + } + if (checkAuth && !isOrigin) { + drawAuthVerification(g); + } + g.setFont(fold); + + drawParticularity(g); + } + + public abstract void drawParticularity(Graphics g); + + + public void drawAuthVerification(Graphics g) { + + drawSingleString(g, secName, x - xc * 2 / 3, y + yc * 2 / 3); + Color c = g.getColor(); + Color c1; + Color c2; + switch (checkStrongAuthStatus) { + case 2: + c1 = Color.green; + break; + case 3: + c1 = Color.red; + break; + default: + c1 = Color.gray; + } + switch (checkWeakAuthStatus) { + case 2: + c2 = Color.green; + break; + case 3: + c2 = Color.red; + break; + default: + c2 = c1; + } + + g.drawOval(x - xc, y + yc, authovalwidth, authovalheight); + g.setColor(c1); + int[] xps = new int[]{x - authxoffset, x - authxoffset, x - authxoffset + authlockwidth}; + int[] yps = new int[]{y + authyoffset, y + authyoffset + authlockheight, y + authyoffset + authlockheight}; + int[] xpw = new int[]{x - authxoffset + authlockwidth, x - authxoffset + authlockwidth, x - authxoffset}; + int[] ypw = new int[]{y + authyoffset + authlockheight, y + authyoffset, y + authyoffset}; + g.fillPolygon(xps, yps, 3); + + g.setColor(c2); + g.fillPolygon(xpw, ypw, 3); + g.setColor(c); + g.drawPolygon(xps, yps, 3); + g.drawPolygon(xpw, ypw, 3); + drawSingleString(g, "S", x - authxoffset + 1, y + yc + authyoffset); + drawSingleString(g, "W", x - authxoffset + authlockwidth / 2, y + yc + authovalheight); + if (checkStrongAuthStatus == 3) { + g.drawLine(x - authxoffset, y + authyoffset * 3 / 2, x - authxoffset / 2, y + authyoffset + yc); + g.drawLine(x - authxoffset, y + authyoffset + yc, x - authxoffset / 2, y + authyoffset * 3 / 2); + } + if (checkWeakAuthStatus == 3 || checkStrongAuthStatus == 3 && checkWeakAuthStatus < 2) { + g.drawLine(x - xc * 2 / 3, y + authyoffset, x - xc / 3, y + yc + authlockheight); + g.drawLine(x - xc * 2 / 3, y + yc + authlockheight, x - xc / 3, y + authyoffset); + } + } + + + public void drawConfVerification(Graphics g) { + + Color c = g.getColor(); + Color c1; + switch (checkConfStatus) { + case 1: + c1 = Color.gray; + break; + case 2: + c1 = Color.green; + break; + case 3: + c1 = Color.red; + break; + default: + return; + } + drawSingleString(g, mappingName, x - conflockwidth * 2, y - conflockheight); + g.drawOval(x - confovalwidth * 2, y, confovalwidth, confovalheight); + g.setColor(c1); + g.fillRect(x - conflockwidth * 3 / 2, y + conflockheight / 2, conflockwidth, conflockheight); + g.setColor(c); + g.drawRect(x - conflockwidth * 3 / 2, y + conflockheight / 2, conflockwidth, conflockheight); + if (checkConfStatus == 3) { + g.drawLine(x - conflockwidth * 2, y, x, y + conflockheight * 2); + g.drawLine(x - conflockwidth * 2, y + conflockheight * 2, x, y); + } + + + if (!secName.equals("")) { + switch (checkSecConfStatus) { + case 1: + c1 = Color.gray; + break; + case 2: + c1 = Color.green; + break; + case 3: + c1 = Color.red; + break; + default: + return; + } + drawSingleString(g, secName, x - conflockwidth * 2, y + conflockheight * 3); + g.drawOval(x - confovalwidth * 2, y + confyoffset, confovalwidth, confovalheight); + g.setColor(c1); + g.fillRect(x - conflockwidth * 3 / 2, y + conflockheight / 2 + confyoffset, conflockwidth, conflockheight); + g.setColor(c); + g.drawRect(x - conflockwidth * 3 / 2, y + conflockheight / 2 + confyoffset, conflockwidth, conflockheight); + } + } + + + public void manageMove() { + // + if (father != null) { + // + Point p = GraphicLib.putPointOnRectangle(x + (width / 2), y + (height / 2), father.getX(), father.getY(), father.getWidth(), father.getHeight()); + + x = p.x - width / 2; + y = p.y - height / 2; + + setMoveCd(x, y); + + int orientation = GraphicLib.getCloserOrientation(x + (width / 2), y + (height / 2), father.getX(), father.getY(), father.getWidth(), father.getHeight()); + if (orientation != currentOrientation) { + setOrientation(orientation); + } + } + } + + // TGConnecting points .. + public void setOrientation(int orientation) { + currentOrientation = orientation; + double w0, h0;//,w1, h1; + + switch (orientation) { + case GraphicLib.NORTH: + w0 = 0.5; + h0 = 0.0; + break; + case GraphicLib.WEST: + w0 = 0.0; + h0 = 0.5; + break; + case GraphicLib.SOUTH: + w0 = 0.5; + h0 = 1.0; + break; + case GraphicLib.EAST: + default: + w0 = 1.0; + h0 = 0.5; + } + + for (int i = 0; i < nbConnectingPoint; i++) { + ((TMLCPortConnectingPoint) (connectingPoint[i])).setW(w0); + ((TMLCPortConnectingPoint) (connectingPoint[i])).setH(h0); + } + } + + @Override + public TGComponent isOnOnlyMe(int _x, int _y) { + if (GraphicLib.isInRectangle(_x, _y, x, y, width, height)) { + return this; + } else if (checkAuth && !isOrigin && GraphicLib.isInRectangle(_x, _y, x - authxoffset, y, authxoffset, authlockheight)) { + return this; + } else if (checkConf && isOrigin && GraphicLib.isInRectangle(_x, _y, x - conflockwidth * 3 / 2, y, conflockwidth * 3 / 2, height)) { + return this; + } + return null; + } + + + //public abstract int getType(); + + @Override + public void wasSwallowed() { + myColor = null; + } + + @Override + public void wasUnswallowed() { + myColor = null; + setFather(null); + TDiagramPanel tdp = getTDiagramPanel(); + setCdRectangle(tdp.getMinX(), tdp.getMaxX(), tdp.getMinY(), tdp.getMaxY()); + + } + + @Override + public void resizeWithFather() { + // + if ((father != null) && (father instanceof TMLCPrimitiveComponent)) { + // Too large to fit in the father? -> resize it! + //resizeToFatherSize(); + // + setCdRectangle(0 - getWidth() / 2, father.getWidth() - (getWidth() / 2), 0 - getHeight() / 2, father.getHeight() - (getHeight() / 2)); + setMoveCd(x, y); + oldx = -1; + oldy = -1; + } + } + + @Override + public boolean editOnDoubleClick(JFrame frame) { + // + //String oldValue = valueOCL; + int oldSample = maxSamples; + // int oldWidthSample = widthSamples; + + + Vector<String> otherTypes; + + if (getFather() == null) { + otherTypes = new Vector<String>(); + } else { + TMLCPrimitiveComponent tgc = (TMLCPrimitiveComponent) (getFather()); + otherTypes = tgc.getAllRecords(); + } + Vector<TGComponent> refs = new Vector<TGComponent>(); + for (TGComponent req : tdp.getMGUI().getAllRequirements()) { + // + if (req instanceof AvatarRDRequirement) { + refs.add(req); + } + } + + JDialogTMLCompositePort jda = new JDialogTMLCompositePort(commName, typep, list[0], list[1], list[2], list[3], list[4], isOrigin, isFinite, isBlocking, "" + maxSamples, "" + widthSamples, isLossy, lossPercentage, maxNbOfLoss, frame, "Port properties", otherTypes, dataFlowType, associatedEvent, isPrex, isPostex, checkConf, checkAuth, reference, refs, vc); + // jda.setSize(350, 700); + GraphicLib.centerOnParent(jda, 350, 700); + // jda.show(); // blocked until dialog has been closed + jda.setVisible(true); + dataFlowType = jda.getDataFlowType(); + associatedEvent = jda.getAssociatedEvent(); + isPrex = jda.isChannelPrex(); + isPostex = jda.isChannelPostex(); + + TraceManager.addDev("The Data flow type is: " + dataFlowType); + TraceManager.addDev("The Associated event is: " + associatedEvent); + + oldName = getPortName(); + //TraceManager.addDev("old port name : " + oldName); + + if (jda.hasNewData()) { + try { + maxSamples = Integer.decode(jda.getMaxSamples()).intValue(); + widthSamples = Integer.decode(jda.getWidthSamples()).intValue(); + if (maxSamples < 1) { + maxSamples = oldSample; + JOptionPane.showMessageDialog(frame, "Non valid value: " + maxSamples + ": Should be at least 1", "Error", JOptionPane.INFORMATION_MESSAGE); + return false; + } + isOrigin = jda.isOrigin(); + isFinite = jda.isFinite(); + isBlocking = jda.isBlocking(); + + /* is port name valid ? + * author : minh hiep + */ + String s = jda.getParamName(); + //TraceManager.addDev("port name : " + s); + + if ((s != null) && (s.length() > 0)) { + // Check whether this name is already in use, or not + + if (!TAttribute.isAValidPortName(s, false, true, false, false)) { + JOptionPane.showMessageDialog(frame, + "Could not change the name of the port: the new name (" + s + ") is not a valid name", + "Error", + JOptionPane.INFORMATION_MESSAGE); + return false; + } + + if (oldName.compareTo(s) != 0) { + if (((TMLComponentTaskDiagramPanel) tdp).namePrimitivePortInUse(this, s)) { + JOptionPane.showMessageDialog(frame, + "Error: the name (" + s + ") is already in use", + "Name modification", + JOptionPane.ERROR_MESSAGE); + return false; + } + } + setPortName(s); + commName = s; + } + + //setPortName(jda.getParamName()); + //commName = jda.getParamName(); + isLossy = jda.isLossy(); + lossPercentage = jda.getLossPercentage(); + maxNbOfLoss = jda.getMaxNbOfLoss(); + oldTypep = typep; + typep = jda.getPortType(); + checkConf = jda.checkConf; + reference = jda.getReference(); + if (checkConf) { + if (checkConfStatus == NOCHECK) { + checkConfStatus = TOCHECK; + } + } else { + if (checkConfStatus != NOCHECK) { + checkConfStatus = NOCHECK; + } + } + checkAuth = jda.checkAuth; + if (checkStrongAuthStatus < 2) { + checkStrongAuthStatus = 1; + checkWeakAuthStatus = 1; + } + for (int i = 0; i < nbMaxAttribute; i++) { + //TraceManager.addDev("Getting string type: " + jda.getStringType(i)); + list[i].setType(jda.getStringType(i)); + //TraceManager.addDev("Recorded type: " + list[i].getTypeOther()); + } + vc = jda.getVC(); + } catch (Exception e) { + JOptionPane.showMessageDialog(frame, "Non valid value: " + e.getMessage(), "Error", JOptionPane.INFORMATION_MESSAGE); + return false; + } + } + + + ((TMLComponentTaskDiagramPanel) tdp).updatePorts(); + + + return true; + } + + public void showTrace() { + //Show Result trace + if (resTrace == null) { + return; + } + PipedOutputStream pos = new PipedOutputStream(); + try { + PipedInputStream pis = new PipedInputStream(pos, 4096); + BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(pos)); + String title = ""; + if (isOrigin) { + title = "Trace for confidentiality property of "; + } else { + title = "Trace for authenticity property of "; + } + JFrameSimulationSDPanel jfssdp = new JFrameSimulationSDPanel(null, tdp.getMGUI(), title + pragma); + jfssdp.setIconImage(IconManager.img8); + GraphicLib.centerOnParent(jfssdp, 600, 600); + jfssdp.setFileReference(new BufferedReader(new InputStreamReader(pis))); + jfssdp.setVisible(true); + jfssdp.setLimitEntity(false); + //jfssdp.setModalExclusionType(ModalExclusionType + // .APPLICATION_EXCLUDE); + jfssdp.toFront(); + + TraceManager.addDev("\n--- Trace ---"); + int i = 0; + for (ProVerifResultTraceStep step : resTrace.getTrace()) { + TraceManager.addDev("\n--- Trace #" + i + ": " + step.toString()); + step.describeAsTMLSDTransaction(bw, i); + i++; + } + bw.close(); + } catch (IOException e) { + TraceManager.addDev("Error when writing trace step SD transaction"); + } finally { + try { + pos.close(); + } catch (IOException ignored) { + } + } + + } + + @Override + protected String translateExtraParam() { + TType a; + //String val = ""; + StringBuffer sb = new StringBuffer("<extraparam>\n"); + sb.append("<Prop commName=\""); + sb.append(commName); + sb.append("\" commType=\"" + typep); + sb.append("\" origin=\""); + if (isOrigin) { + sb.append("true"); + } else { + sb.append("false"); + } + sb.append("\" finite=\""); + if (isFinite) { + sb.append("true"); + } else { + sb.append("false"); + } + sb.append("\" blocking=\""); + if (isBlocking) { + sb.append("true"); + } else { + sb.append("false"); + } + sb.append("\" maxSamples=\"" + maxSamples); + sb.append("\" widthSamples=\"" + widthSamples); + sb.append("\" isLossy=\"" + isLossy); + sb.append("\" isPrex=\"" + isPrex); + sb.append("\" isPostex=\"" + isPostex); + sb.append("\" lossPercentage=\"" + lossPercentage); + sb.append("\" maxNbOfLoss=\"" + maxNbOfLoss); + sb.append("\" dataFlowType=\"" + dataFlowType); + sb.append("\" associatedEvent=\"" + associatedEvent); + sb.append("\" checkConf=\"" + checkConf); + sb.append("\" checkConfStatus=\"" + checkConfStatus); + sb.append("\" checkAuth=\"" + checkAuth); + sb.append("\" checkWeakAuthStatus=\"" + checkWeakAuthStatus); + sb.append("\" checkStrongAuthStatus=\"" + checkStrongAuthStatus); + sb.append("\" vc=\"" + vc); + sb.append("\" />\n"); + for (int i = 0; i < nbMaxAttribute; i++) { + // + a = list[i]; + // + //val = val + a + "\n"; + sb.append("<Type"); + sb.append(" type=\""); + sb.append(a.getType()); + sb.append("\" typeOther=\""); + sb.append(a.getTypeOther()); + sb.append("\" />\n"); + } + sb.append("</extraparam>\n"); + return new String(sb); + } + + @Override + public void loadExtraParam(NodeList nl, int decX, int decY, int decId) throws MalformedModelingException { + try { + NodeList nli; + Node n1, n2; + Element elt; + //int access; + int typeAtt; + String typeOther; + //String id, valueAtt; + + int nbAttribute = 0; + + // + // + + for (int i = 0; i < nl.getLength(); i++) { + n1 = nl.item(i); + // + if (n1.getNodeType() == Node.ELEMENT_NODE) { + nli = n1.getChildNodes(); + for (int j = 0; j < nli.getLength(); j++) { + n2 = nli.item(j); + // + if (n2.getNodeType() == Node.ELEMENT_NODE) { + elt = (Element) n2; + if ((elt.getTagName().equals("Type")) && (nbAttribute < nbMaxAttribute)) { + // + typeAtt = Integer.decode(elt.getAttribute("type")).intValue(); + try { + typeOther = elt.getAttribute("typeOther"); + } catch (Exception e) { + typeOther = ""; + } + + TType ta = new TType(typeAtt, typeOther); + list[nbAttribute] = ta; + nbAttribute++; + + } + + if (elt.getTagName().equals("Prop")) { + // checking the valid port name + oldName = getPortName(); + String s = elt.getAttribute("commName"); + //TraceManager.addDev("port name : " + s); + + if ((s != null) && (s.length() > 0)) { + // Check whether this name is already in use, or not + + if (!TAttribute.isAValidPortName(s, false, true, false, false)) { + throw new MalformedModelingException(); + } + + commName = s; + } + try { + // + typep = Integer.decode(elt.getAttribute("commType")).intValue(); + // + // + maxSamples = Integer.decode(elt.getAttribute("maxSamples")).intValue(); + // + widthSamples = Integer.decode(elt.getAttribute("widthSamples")).intValue(); + + } catch (Exception e) { + + } + + try { + lossPercentage = Integer.decode(elt.getAttribute("lossPercentage")).intValue(); + maxNbOfLoss = Integer.decode(elt.getAttribute("maxNbOfLoss")).intValue(); + dataFlowType = elt.getAttribute("dataFlowType"); + associatedEvent = elt.getAttribute("associatedEvent"); + checkConf = (elt.getAttribute("checkConf").compareTo("true") == 0); + if (checkConf) { + checkConfStatus = TOCHECK; + } + checkAuth = (elt.getAttribute("checkAuth").compareTo("true") == 0); + isLossy = (elt.getAttribute("isLossy").compareTo("true") == 0); + isPrex = (elt.getAttribute("isPrex").compareTo("true") == 0); + isPostex = (elt.getAttribute("isPostex").compareTo("true") == 0); + } catch (Exception e) { + lossPercentage = 0; + maxNbOfLoss = -1; + isLossy = false; + } + + try { + isBlocking = (elt.getAttribute("blocking").compareTo("true") == 0); + isOrigin = (elt.getAttribute("origin").compareTo("true") == 0); + isFinite = (elt.getAttribute("finite").compareTo("true") == 0); + + } catch (Exception e) { + } + + try { + vc = Integer.decode(elt.getAttribute("vc")); + } catch (Exception e) { + vc = 0; + } + + } + + makeValue(); + } + } + } + } + + } catch (Exception e) { + throw new MalformedModelingException(); + } + } + + public void makeValue() { + value = getPortTypeName() + " " + getPortName(); + } + + public String getPortName() { + return commName; + } + + public void setPortName(String s) { + for (TURTLEPanel tp : tdp.getMainGUI().tabs) { + for (TDiagramPanel t : tp.getPanels()) { + for (TGComponent t2 : t.getComponentList()) { + if (t2 instanceof TMLArchiCPNode) { + TMLArchiCPNode tacn = (TMLArchiCPNode) t2; + for (TGComponent tgc : tacn.getRecursiveAllInternalComponent()) { + if (tgc instanceof TMLArchiPortArtifact) { + TMLArchiPortArtifact tapi = (TMLArchiPortArtifact) tgc; + String tmp = tapi.getValue().replaceAll("(?i)" + commName + "$", s); + tapi.setValue(tmp); + } + } + } + } + } + } + + if ((father != null) && (father instanceof TMLCPrimitiveComponent)) { + String name = father.getValue(); + //TraceManager.addDev("Looking for diagram with AD name=" + name + " of class=" + father.getClass()); + TURTLEPanel tp = tdp.getMainGUI().getCurrentTURTLEPanel(); + for (TDiagramPanel t : tp.getPanels()) { + if (t.getName().compareTo(name) == 0) { + //TraceManager.addDev("Renaming operators in AD=" + name); + for (TGComponent t2 : t.getComponentList()) { + if (t2 instanceof TMLADWriteChannel) { + TMLADWriteChannel twc = (TMLADWriteChannel) t2; + if (twc.getChannelName().equals(commName)) + twc.setChannelName(s); + } + + if (t2 instanceof TMLADReadChannel) { + TMLADReadChannel trc = (TMLADReadChannel) t2; + if (trc.getChannelName().equals(commName)) + trc.setChannelName(s); + } + + + if (t2 instanceof TMLADSendEvent) { + TMLADSendEvent tse = (TMLADSendEvent) t2; + //TraceManager.addDev("Send event with event=" + tse.getEventName() + " vs " + commName); + if (tse.getEventName().equals(commName)) + tse.setEventName(s); + } + + if (t2 instanceof TMLADSendRequest) { + TMLADSendRequest tsr = (TMLADSendRequest) t2; + if (tsr.getRequestName().equals(commName)) + tsr.setRequestName(s); + } + + if (t2 instanceof TMLADWaitEvent) { + TMLADWaitEvent twe = (TMLADWaitEvent) t2; + if (twe.getEventName().equals(commName)) + twe.setEventName(s); + } + + if (t2 instanceof TMLADNotifiedEvent) { + TMLADNotifiedEvent tne = (TMLADNotifiedEvent) t2; + if (tne.getEventName().equals(commName)) + tne.setEventName(s); + } + } + t.repaint(); + } + } + } + } + + public int getPortType() { + return typep; + } + + public String getPortTypeName() { + switch (typep) { + case 0: + return "Channel"; + case 1: + return "Event"; + case 2: + default: + return "Request"; + } + } + + public boolean isBlocking() { + return isBlocking; + } + + public boolean isFinite() { + return isFinite; + } + + public int getMax() { + return maxSamples; + } + + public int getSize() { + return widthSamples; + } + + public boolean isOrigin() { + return isOrigin; + } + + public int getNbMaxAttribute() { + return nbMaxAttribute; + } + + public TType getParamAt(int index) { + return list[index]; + } + + public void setParam(int index, TType t) { + list[index] = t; + } + + @Override + public int getDefaultConnector() { + return TGComponentManager.CONNECTOR_PORT_TMLC; + } + + public int getVC() { + return vc; + } + + @Override + public String getAttributes() { + String attr = ""; + if (isOrigin()) { + attr += "out "; + } else { + attr += "in "; + } + attr += getPortTypeName() + ": "; + attr += getPortName() + "\n"; /*if (isOrigin()) { attr += "Origin\n" } else { attr = += "Destination\n"; }*/ - // Channel - if (typep == 0) { - if (!isBlocking()) { - attr += "N"; - } - attr += "B"; - if (isOrigin()) { - attr += "W\n"; - attr += "Width (in B): " + getSize() + "\n"; - if (isFinite()) { - attr += "Max samples: " + getNbMaxAttribute() + "\n"; - } else { - attr += "Infinite\n"; - } - } else { - attr += "R\n"; - } - - // Event and Request - } else { - attr += "("; - // TType type1; - for(int i=0; i<nbMaxAttribute; i++) { - if (i!=0) { - attr += ","; - } - attr += TType.getStringType(list[i].getType()); - } - attr += ")\n"; - if (typep == 1) { - if (isOrigin()) { - if (!isFinite()) { - attr += "Infinite FIFO\n"; - } else { - if (isBlocking()) { - attr += "Blocking "; - } else { - attr += "Non-blocking "; - } - attr += "finite FIFO: " + getMax() + "\n"; - } - } - } - } - - if (conflict) { - attr += "Error in path=" + conflictMessage + "\n"; - } - - attr += "vc=" + vc; - - return attr; - } - - public boolean isLossy() { - return isLossy && isOrigin; - } - - public int getLossPercentage() { - return lossPercentage; - } - - public int getMaxNbOfLoss() { - return maxNbOfLoss; - } - - public boolean getConflict() { - return conflict; - } - - public void setConflict(boolean _conflict, String _msg) { - conflict = _conflict; - myColor = null; - conflictMessage = _msg; - calculatePortColor(); - } - - public void calculatePortColor() { - if (conflict) { - myColor = Color.red; - } else { - if (typep == 0) { - myColor = ColorManager.TML_PORT_CHANNEL; - } else if (typep == 1) { - myColor = ColorManager.TML_PORT_EVENT; - } else { - myColor = ColorManager.TML_PORT_REQUEST; - } - } - } - - public String getDataFlowType() { - return dataFlowType; - } - - public boolean isPrex() { - return isPrex; - } - - public boolean isPostex() { - return isPostex; - } - - public String getAssociatedEvent() { - return associatedEvent; - } - - public boolean hasSameParametersThan(TMLCPrimitivePort _p) { - for(int i=0; i<5; i++) { - if (!(getParamAt(i).equals(_p.getParamAt(i)))) { - return false; - } - } - return true; - } - - public void setResultTrace(ProVerifResultTrace trace){ - resTrace = trace; - } - - public void setPragmaString(String str){ - pragma=str; - } - - public void setPortName(String s) { - for (TURTLEPanel tp : tdp.getMainGUI().tabs) { - for (TDiagramPanel t : tp.getPanels()) { - for (TGComponent t2 : t.getComponentList()) { - if (t2 instanceof TMLArchiCPNode) { - TMLArchiCPNode tacn = (TMLArchiCPNode) t2; - for (TGComponent tgc : tacn.getRecursiveAllInternalComponent()) { - if (tgc instanceof TMLArchiPortArtifact) { - TMLArchiPortArtifact tapi = (TMLArchiPortArtifact) tgc; - String tmp = tapi.getValue().replaceAll("(?i)" + commName + "$", s); - tapi.setValue(tmp); - } - } - } - } - } - } - - if ( (father != null) && (father instanceof TMLCPrimitiveComponent)) { - String name = father.getValue(); - //TraceManager.addDev("Looking for diagram with AD name=" + name + " of class=" + father.getClass()); - TURTLEPanel tp = tdp.getMainGUI().getCurrentTURTLEPanel(); - for (TDiagramPanel t : tp.getPanels()) { - if (t.getName().compareTo(name) == 0) { - //TraceManager.addDev("Renaming operators in AD=" + name); - for (TGComponent t2 : t.getComponentList()) { - if (t2 instanceof TMLADWriteChannel) { - TMLADWriteChannel twc = (TMLADWriteChannel) t2; - if (twc.getChannelName().equals(commName)) - twc.setChannelName(s); - } - - if (t2 instanceof TMLADReadChannel) { - TMLADReadChannel trc = (TMLADReadChannel) t2; - if (trc.getChannelName().equals(commName)) - trc.setChannelName(s); - } - - - if (t2 instanceof TMLADSendEvent) { - TMLADSendEvent tse = (TMLADSendEvent) t2; - //TraceManager.addDev("Send event with event=" + tse.getEventName() + " vs " + commName); - if (tse.getEventName().equals(commName)) - tse.setEventName(s); - } - - if (t2 instanceof TMLADSendRequest) { - TMLADSendRequest tsr = (TMLADSendRequest) t2; - if (tsr.getRequestName().equals(commName)) - tsr.setRequestName(s); - } - - if (t2 instanceof TMLADWaitEvent) { - TMLADWaitEvent twe = (TMLADWaitEvent) t2; - if (twe.getEventName().equals(commName)) - twe.setEventName(s); - } - - if (t2 instanceof TMLADNotifiedEvent) { - TMLADNotifiedEvent tne = (TMLADNotifiedEvent) t2; - if (tne.getEventName().equals(commName)) - tne.setEventName(s); - } - } - t.repaint(); - } - } - } - } - - //#issue 82 - public String getPortNameFromValue(String myValue) { - String s = ""; - String string[] = myValue.split("\\s"); - for (int i = 1; i < string.length; i++) { - s = s + string[i]; - } - return s; - } - - //#issue 82 - public int getPortTypeFromValue(String myValue) { - String typePortName = myValue.split("\\s")[0]; - int typePort = 0; - if (typePortName.equals("Channel")) - typePort = 0; - if (typePortName.equals("Event")) - typePort = 1; - if (typePortName.equals("Request")) - typePort = 2; - return typePort; - } - - public int getConfStatus() { - return checkConfStatus; - } - public boolean getCheckConf() { - return checkConf; - } - - public boolean getCheckAuth() { - return checkAuth; - } - - public int getCheckStrongAuthStatus() { - return checkStrongAuthStatus; - } - - public int getCheckWeakAuthStatus() { - return checkWeakAuthStatus; - } - - public void setConfStatus(int _status) { - checkConfStatus= _status; - } - - public void setMappingName(String _mappingName) { - mappingName = _mappingName; - } - - public void setSecName(String _secName) { - secName = _secName; - } - - - public void setStrongAuthStatus(int _status) { - checkStrongAuthStatus = _status; - } - public void setWeakAuthStatus(int _status) { - checkWeakAuthStatus = _status; - } - - -} + // Channel + if (typep == 0) { + if (!isBlocking()) { + attr += "N"; + } + attr += "B"; + if (isOrigin()) { + attr += "W\n"; + attr += "Width (in B): " + getSize() + "\n"; + if (isFinite()) { + attr += "Max samples: " + getNbMaxAttribute() + "\n"; + } else { + attr += "Infinite\n"; + } + } else { + attr += "R\n"; + } + + // Event and Request + } else { + attr += "("; + // TType type1; + for (int i = 0; i < nbMaxAttribute; i++) { + if (i != 0) { + attr += ","; + } + attr += TType.getStringType(list[i].getType()); + } + attr += ")\n"; + if (typep == 1) { + if (isOrigin()) { + if (!isFinite()) { + attr += "Infinite FIFO\n"; + } else { + if (isBlocking()) { + attr += "Blocking "; + } else { + attr += "Non-blocking "; + } + attr += "finite FIFO: " + getMax() + "\n"; + } + } + } + } + + if (conflict) { + attr += "Error in path=" + conflictMessage + "\n"; + } + + attr += "vc=" + vc; + + return attr; + } + + public boolean isLossy() { + return isLossy && isOrigin; + } + + public int getLossPercentage() { + return lossPercentage; + } + + public int getMaxNbOfLoss() { + return maxNbOfLoss; + } + + public boolean getConflict() { + return conflict; + } + + public void setConflict(boolean _conflict, String _msg) { + conflict = _conflict; + myColor = null; + conflictMessage = _msg; + calculatePortColor(); + } + + public void calculatePortColor() { + if (conflict) { + myColor = Color.red; + } else { + if (typep == 0) { + myColor = ColorManager.TML_PORT_CHANNEL; + } else if (typep == 1) { + myColor = ColorManager.TML_PORT_EVENT; + } else { + myColor = ColorManager.TML_PORT_REQUEST; + } + } + } + + public String getDataFlowType() { + return dataFlowType; + } + + public boolean isPrex() { + return isPrex; + } + + public boolean isPostex() { + return isPostex; + } + + public String getAssociatedEvent() { + return associatedEvent; + } + + public boolean hasSameParametersThan(TMLCPrimitivePort _p) { + for (int i = 0; i < 5; i++) { + if (!(getParamAt(i).equals(_p.getParamAt(i)))) { + return false; + } + } + return true; + } + + public void setResultTrace(ProVerifResultTrace trace) { + resTrace = trace; + } + + public void setPragmaString(String str) { + pragma = str; + } + + //#issue 82 + public String getPortNameFromValue(String myValue) { + String s = ""; + String string[] = myValue.split("\\s"); + for (int i = 1; i < string.length; i++) { + s = s + string[i]; + } + return s; + } + + //#issue 82 + public int getPortTypeFromValue(String myValue) { + String typePortName = myValue.split("\\s")[0]; + int typePort = 0; + if (typePortName.equals("Channel")) + typePort = 0; + if (typePortName.equals("Event")) + typePort = 1; + if (typePortName.equals("Request")) + typePort = 2; + return typePort; + } + + public int getConfStatus() { + return checkConfStatus; + } + + public void setConfStatus(int _status) { + checkConfStatus = _status; + } + + public boolean getCheckConf() { + return checkConf; + } + + public boolean getCheckAuth() { + return checkAuth; + } + + public int getCheckStrongAuthStatus() { + return checkStrongAuthStatus; + } + + public int getCheckWeakAuthStatus() { + return checkWeakAuthStatus; + } + + public void setMappingName(String _mappingName) { + mappingName = _mappingName; + } + + public void setSecName(String _secName) { + secName = _secName; + } + + + public void setStrongAuthStatus(int _status) { + checkStrongAuthStatus = _status; + } + + public void setWeakAuthStatus(int _status) { + checkWeakAuthStatus = _status; + } + + public void resetVerificationResults() { + checkStrongAuthStatus = 1; + checkWeakAuthStatus = 1; + checkConfStatus = 1; + mappingName = "???"; + } + + + } diff --git a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramToolBar.java b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramToolBar.java index bbbf01f100b97617571e26b87ed38758ae8c684f..2bc2c14a9ba7ecc3a84b57b940c7cc274a69c2e0 100755 --- a/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramToolBar.java +++ b/src/main/java/ui/tmlcompd/TMLComponentTaskDiagramToolBar.java @@ -81,6 +81,7 @@ public class TMLComponentTaskDiagramToolBar extends TToolBar { mgui.actions[TGUIAction.TMLCTD_RCOMPONENT].setEnabled(b); mgui.actions[TGUIAction.ACT_TOGGLE_ATTR].setEnabled(b); mgui.actions[TGUIAction.ACT_TOGGLE_DIPLO_ID].setEnabled(b); + mgui.actions[TGUIAction.ACT_CLEAR_VERIFICATION_RESULT].setEnabled(b); mgui.actions[TGUIAction.ACT_MODEL_CHECKING].setEnabled(b); mgui.actions[TGUIAction.ACT_ONECLICK_LOTOS_RG].setEnabled(b); @@ -157,6 +158,11 @@ public class TMLComponentTaskDiagramToolBar extends TToolBar { button = this.add(mgui.actions[TGUIAction.ACT_TOGGLE_DIPLO_ID]); button.addMouseListener(mgui.mouseHandler); + + this.addSeparator(); + + button = this.add(mgui.actions[TGUIAction.ACT_CLEAR_VERIFICATION_RESULT]); + button.addMouseListener(mgui.mouseHandler); } diff --git a/src/main/java/ui/util/IconManager.java b/src/main/java/ui/util/IconManager.java index 76e8f7c20736197c618a0c427886bc37d2970c16..804fb3abed632de212e4db509956108b994c1840 100755 --- a/src/main/java/ui/util/IconManager.java +++ b/src/main/java/ui/util/IconManager.java @@ -75,7 +75,8 @@ public class IconManager { public static ImageIcon imgic80, imgic82, imgic84, imgic86, imgic88, imgic89, imgic89_z3; public static ImageIcon imgic90, imgic92, imgic94, imgic96, imgic98, imgic99; - public static ImageIcon imgic142; + // Diverse actions + public static ImageIcon imgic150, imgic151; // Class diagram @@ -83,7 +84,7 @@ public class IconManager { public static ImageIcon imgic110, imgic112, imgic114, imgic116, imgic118; public static ImageIcon imgic120, imgic122, imgic124, imgic126, imgic128, imgic130; public static ImageIcon imgic132, imgic134, imgic136, imgic138, imgic140; - public static ImageIcon imgic144, imgic146; + public static ImageIcon imgic142, imgic144, imgic146; //Activity Diagram public static ImageIcon imgic200, imgic201, imgic202, imgic204, imgic206, imgic208; @@ -355,6 +356,9 @@ public class IconManager { private static String icon144 = "ZoomInFont24.gif"; private static String icon146 = "ZoomOutFont24.gif"; + private static String icon150 = "toolbarButtonGraphics/general/removeTrace16.gif"; + private static String icon151 = "toolbarButtonGraphics/general/removeTrace24.gif"; + private static String icon200 = "toolbarButtonGraphics/general/Properties16.gif"; private static String icon201 = "toolbarButtonGraphics/general/Properties24.gif"; private static String icon202 = "adconnector.gif"; @@ -927,6 +931,9 @@ public class IconManager { imgic144 = getIcon(icon144); imgic146 = getIcon(icon146); + imgic150 = getIcon(icon150); + imgic151 = getIcon(icon151); + imgic200 = getIcon(icon200); imgic201 = getIcon(icon201); imgic202 = getIcon(icon202); diff --git a/src/main/resources/ui/util/toolbarButtonGraphics/general/removeTrace16.gif b/src/main/resources/ui/util/toolbarButtonGraphics/general/removeTrace16.gif new file mode 100755 index 0000000000000000000000000000000000000000..f532f23b718e956d0675b185969bce0fcf24d396 Binary files /dev/null and b/src/main/resources/ui/util/toolbarButtonGraphics/general/removeTrace16.gif differ diff --git a/src/main/resources/ui/util/toolbarButtonGraphics/general/removeTrace24.gif b/src/main/resources/ui/util/toolbarButtonGraphics/general/removeTrace24.gif new file mode 100755 index 0000000000000000000000000000000000000000..c39a12683702447bf3959c8402ca3240422e0a21 Binary files /dev/null and b/src/main/resources/ui/util/toolbarButtonGraphics/general/removeTrace24.gif differ